diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-10 18:18:29 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-10 18:18:29 +0200 |
commit | 20acec967714f7f024816992c53c6371d3b124af (patch) | |
tree | 05f9831a9a533f12d4924083737529505897bdda | |
parent | bd7b90becac15d549912883d414ff37b14d4ad21 (diff) | |
parent | 049c3f1a34e5af8d9c59b54bd3270dca863f5366 (diff) | |
download | compcert-kvx-20acec967714f7f024816992c53c6371d3b124af.tar.gz compcert-kvx-20acec967714f7f024816992c53c6371d3b124af.zip |
Merge branch 'mppa-work' of gricad-gitlab.univ-grenoble-alpes.fr:sixcy/CompCert into mppa-work
-rw-r--r-- | mppa_k1c/Asmexpand.ml | 15 | ||||
-rw-r--r-- | test/c/Makefile | 4 | ||||
-rw-r--r-- | test/regression/Makefile | 3 | ||||
-rw-r--r-- | test/regression/floats-basics.c | 2 | ||||
-rw-r--r-- | test/regression/floats.c | 2 |
5 files changed, 12 insertions, 14 deletions
diff --git a/mppa_k1c/Asmexpand.ml b/mppa_k1c/Asmexpand.ml index 6310b8ae..d12b9785 100644 --- a/mppa_k1c/Asmexpand.ml +++ b/mppa_k1c/Asmexpand.ml @@ -111,16 +111,13 @@ let fixup_call sg = (* Handling of annotations *) -let expand_annot_val kind txt targ args res = assert false -(*emit (Pbuiltin (EF_annot(kind,txt,[targ]), args, BR_none)); +let expand_annot_val kind txt targ args res = + emit (Pbuiltin (EF_annot(kind,txt,[targ]), args, BR_none)); match args, res with - | [BA(IR src)], BR(IR dst) -> + | [BA(Asmvliw.IR src)], BR(Asmvliw.IR dst) -> if dst <> src then emit (Pmv (dst, src)) - | [BA(FR src)], BR(FR dst) -> - if dst <> src then emit (Pfmv (dst, src)) | _, _ -> raise (Error "ill-formed __builtin_annot_val") -*) (* Handling of memcpy *) @@ -465,10 +462,10 @@ let expand_instruction instr = | EF_malloc -> failwith "asmexpand: malloc" | EF_free -> failwith "asmexpand: free" | EF_debug _ -> failwith "asmexpand: debug" - | EF_annot _ -> failwith "asmexpand: annot" - | EF_annot_val _ -> failwith "asmexpand: annot_val" + | EF_annot _ -> emit instr + | EF_annot_val (kind, txt, targ) -> expand_annot_val kind txt targ args res | EF_external _ -> failwith "asmexpand: external" - | EF_inline_asm _ -> failwith "asmexpand: inline asm" + | EF_inline_asm _ -> emit instr | EF_runtime _ -> failwith "asmexpand: runtime" end | _ -> diff --git a/test/c/Makefile b/test/c/Makefile index 63d1964a..46670ec6 100644 --- a/test/c/Makefile +++ b/test/c/Makefile @@ -13,8 +13,8 @@ TIME=xtime -o /dev/null -mintime 2.0 # Xavier's hack PROGS=fib qsort fftw sha1 sha3 aes \ lists binarytrees fannkuch \ nsieve nsievebits vmach \ - chomp perlin siphash24 -# FIXME - Omitted tests: integr fft fftsp almabench knucleotide mandelbrot nbody spectral bisect + chomp perlin siphash24\ + integr fft fftsp almabench knucleotide mandelbrot nbody spectral bisect all: $(PROGS:%=%.compcert) diff --git a/test/regression/Makefile b/test/regression/Makefile index 760ee570..0bcbcc1f 100644 --- a/test/regression/Makefile +++ b/test/regression/Makefile @@ -22,8 +22,9 @@ TESTS=int32 int64 floats floats-basics \ TESTS_COMP=attribs1 bitfields1 bitfields2 bitfields3 bitfields4 \ bitfields5 bitfields6 bitfields7 bitfields8 \ - builtins-$(ARCH) packedstruct1 packedstruct2 alignas \ + builtins-$(ARCH) alignas \ varargs1 varargs2 varargs3 sections alias aligned +# FIXME K1C : packedstruct1 packedstruct2 # Can run, both in compiled mode and in interpreter mode, # but produce processor-dependent results, so no reference output in Results diff --git a/test/regression/floats-basics.c b/test/regression/floats-basics.c index a7ba3623..a0225181 100644 --- a/test/regression/floats-basics.c +++ b/test/regression/floats-basics.c @@ -7,7 +7,7 @@ #if defined(__ppc__) || defined(__PPC__) || defined(__ARMEB__) #define ARCH_BIG_ENDIAN #elif defined(__i386__) || defined(__x86_64__) || defined(__ARMEL__) \ - || defined(__riscv) + || defined(__riscv) || defined(__K1C__) #undef ARCH_BIG_ENDIAN #else #error "unknown endianness" diff --git a/test/regression/floats.c b/test/regression/floats.c index 84c4e062..55c9fd26 100644 --- a/test/regression/floats.c +++ b/test/regression/floats.c @@ -6,7 +6,7 @@ #if defined(__ppc__) || defined(__PPC__) || defined(__ARMEB__) #define ARCH_BIG_ENDIAN #elif defined(__i386__) || defined(__x86_64__) || defined(__ARMEL__) \ - || defined(__riscv) + || defined(__riscv) || defined(__K1C__) #undef ARCH_BIG_ENDIAN #else #error "unknown endianness" |