qbe

Internal scc patchset buffer for QBE
Log | Files | Refs | README | LICENSE

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:
Alisc/test/abi2.ssa | 18++++++++++++++++++
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. */ +# <<<