summaryrefslogtreecommitdiff
path: root/test/cminor
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2009-01-07 10:37:38 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2009-01-07 10:37:38 +0000
commit33a2f642a3bb6e14ffaa4f93708f9ba1cec92fd4 (patch)
treef49a78fa54b449478200e4e32049b694d2be7076 /test/cminor
parentdeebc6faa91e82cb4a374c3c0eca998f4e536921 (diff)
Test for int/float conversions
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@943 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'test/cminor')
-rw-r--r--test/cminor/Makefile7
-rw-r--r--test/cminor/conversions.cm19
2 files changed, 25 insertions, 1 deletions
diff --git a/test/cminor/Makefile b/test/cminor/Makefile
index 887d1a9..77dd06d 100644
--- a/test/cminor/Makefile
+++ b/test/cminor/Makefile
@@ -9,7 +9,7 @@ ASFLAGS=
VPATH=../harness ../lib
PROGS=fib integr qsort fft sha1 aes almabench manyargs lists \
- stopcopy marksweep
+ stopcopy marksweep switchtbl conversions
all_s: $(PROGS:%=%.s)
@@ -77,6 +77,11 @@ switchtbl: switchtbl.o mainswitchtbl.o
clean::
rm -f switchtbl
+conversions: conversions.o mainconversions.o
+ $(CC) $(CFLAGS) -o conversions conversions.o mainconversions.o
+clean::
+ rm -f conversions
+
.SUFFIXES:
.SUFFIXES: .cmp .cm .s .o .c .S
diff --git a/test/cminor/conversions.cm b/test/cminor/conversions.cm
new file mode 100644
index 0000000..e0998bf
--- /dev/null
+++ b/test/cminor/conversions.cm
@@ -0,0 +1,19 @@
+"intoffloat" (r, x): int -> int -> void
+{
+ int32[r] = intoffloat(float64[x]);
+}
+
+"intuoffloat" (r, x): int -> int -> void
+{
+ int32[r] = intuoffloat(float64[x]);
+}
+
+"floatofint" (r, x): int -> int -> void
+{
+ float64[r] = floatofint(int32[x]);
+}
+
+"floatofintu" (r, x): int -> int -> void
+{
+ float64[r] = floatofintu(int32[x]);
+}