aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Monniaux <David.Monniaux@univ-grenoble-alpes.fr>2021-09-20 13:29:34 +0200
committerDavid Monniaux <David.Monniaux@univ-grenoble-alpes.fr>2021-09-20 13:29:34 +0200
commite81693c7c3352eebc62880c3e914fe317cf66980 (patch)
treeb846d2247561dd43e5bee9d42b69ffcd9000093b
parent81eadac7dfaa7fb05f11d45042b74e95e1a14a09 (diff)
parent2b990365318a58b18d6def2aa590dd8a91e53e10 (diff)
downloadcompcert-kvx-e81693c7c3352eebc62880c3e914fe317cf66980.tar.gz
compcert-kvx-e81693c7c3352eebc62880c3e914fe317cf66980.zip
Merge branch 'csmith' of gricad-gitlab.univ-grenoble-alpes.fr:sixcy/CompCert into csmith
-rw-r--r--.gitlab-ci.yml2
-rw-r--r--aarch64/Asmexpand.ml1
-rw-r--r--test/gourdinl/builtin_memcpy.c9
3 files changed, 11 insertions, 1 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1ecdafdf..6604997c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -273,7 +273,7 @@ build_kvx:
- source /opt/kalray/accesscore/kalray.sh && make -j "$NJOBS"
- source /opt/kalray/accesscore/kalray.sh && make -C test CCOMPOPTS=-static SIMU='kvx-cluster -- ' EXECUTE='kvx-cluster -- ' all test
- source /opt/kalray/accesscore/kalray.sh && ulimit -s65536 && make -C test/monniaux/yarpgen TARGET_CC='kvx-cos-gcc' EXECUTE='kvx-cluster -- ' CCOMPOPTS='-static' TARGET_CFLAGS='-static'
- - source /opt/kalray/accesscore/kalray.sh && ulimit -s65536 && make -C test/monniaux/csmith TARGET_CC='kvx-cos-gcc' EXECUTE='timeout 10s kvx-cluster -- ' CCOMPOPTS='-static' TARGET_CFLAGS='-static'
+ - source /opt/kalray/accesscore/kalray.sh && ulimit -s65536 && make -C test/monniaux/csmith TARGET_CC='kvx-cos-gcc' CCOMPOPTS="-Wl,--defsym=USER_STACK_SIZE=0x20000" EXECUTE="timeout 10s kvx-cluster -- "
rules:
- if: '$CI_COMMIT_BRANCH == "kvx-work"'
when: always
diff --git a/aarch64/Asmexpand.ml b/aarch64/Asmexpand.ml
index 828c96d6..68884550 100644
--- a/aarch64/Asmexpand.ml
+++ b/aarch64/Asmexpand.ml
@@ -185,6 +185,7 @@ let memcpy_small_arg sz arg tmp =
| BA_addrstack ofs ->
if offset_in_range ofs
&& offset_in_range (Ptrofs.add ofs (Ptrofs.repr (Z.of_uint sz)))
+ && (Z.to_int ofs) mod 8 = 0
then (XSP, ofs)
else begin expand_addimm64 (RR1 tmp) XSP ofs; (RR1 tmp, _0) end
| _ ->
diff --git a/test/gourdinl/builtin_memcpy.c b/test/gourdinl/builtin_memcpy.c
new file mode 100644
index 00000000..421f543c
--- /dev/null
+++ b/test/gourdinl/builtin_memcpy.c
@@ -0,0 +1,9 @@
+struct a b;
+struct a {
+ short;
+ int;
+ short;
+} c() {
+ struct a d[2][16];
+ b = d[1][7];
+}