commit b0ce949583fd2545dbe7c68f65483e658148b680
parent 315a7a6f720fc44387dca565af1e1764e572e723
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date: Thu, 3 Mar 2016 13:45:54 -0500
new basic fp abi test
Diffstat:
1 file changed, 18 insertions(+), 0 deletions(-)
diff --git a/lisc/test/abi2.ssa b/lisc/test/abi2.ssa
@@ -0,0 +1,18 @@
+type :fps = { s, b, s }
+
+function s $sum(:fps %p) {
+@start
+ %f1 =s load %p
+ %p8 =l add 8, %p
+ %f2 =s load %p8
+ %s =s add %f1, %f2
+ ret %s
+}
+
+# >>> driver
+# typedef struct { float f1; char b; float f2; } fps;
+# extern float sum(fps);
+# int main() { fps x = { 1.23, -1, 2.34 }; return !(sum(x) == 1.23f+2.34f); }
+# /* Note the f above are important
+# * otherwise C does double operations. */
+# <<<