aboutsummaryrefslogtreecommitdiff
path: root/test/float-to-uint64.qbe
diff options
context:
space:
mode:
Diffstat (limited to 'test/float-to-uint64.qbe')
-rw-r--r--test/float-to-uint64.qbe18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/float-to-uint64.qbe b/test/float-to-uint64.qbe
new file mode 100644
index 0000000..3c3aa01
--- /dev/null
+++ b/test/float-to-uint64.qbe
@@ -0,0 +1,18 @@
+export
+function l $f() {
+@start.1
+@body.2
+ %.1 =s call $g()
+ %.2 =w cges %.1, s_0x1p+63
+ jnz %.2, @ftou_big.4, @ftou_small.3
+@ftou_small.3
+ %.3 =l stosi %.1
+ jmp @ftou_join.5
+@ftou_big.4
+ %.4 =s sub %.1, s_0x1p+63
+ %.5 =l stosi %.4
+ %.6 =l xor %.5, 9223372036854775808
+@ftou_join.5
+ %.7 =l phi @ftou_small.3 %.3, @ftou_big.4 %.6
+ ret %.7
+}