diff options
-rw-r--r-- | aarch64/Asmexpand.ml | 1 | ||||
-rw-r--r-- | test/gourdinl/builtin_memcpy.c | 9 | ||||
-rw-r--r-- | test/monniaux/csmith/Makefile | 4 |
3 files changed, 12 insertions, 2 deletions
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]; +} diff --git a/test/monniaux/csmith/Makefile b/test/monniaux/csmith/Makefile index f4b0d68a..ab7931f1 100644 --- a/test/monniaux/csmith/Makefile +++ b/test/monniaux/csmith/Makefile @@ -6,7 +6,7 @@ INCLUDES=-I csmith/include/csmith-2.3.0/ TARGET_CCOMP=../../../ccomp ifndef TARGET_CC -TARGET_CC=kvx-cos-gcc +TARGET_CC=gcc endif ifndef EXECUTE @@ -20,7 +20,7 @@ CSMITH=csmith/bin/csmith endif CSMITHOPT=--max-funcs 10 -MAX=10000 +MAX=5000 PREFIX=ran%06.f CCOMPOTS=-static |