From 0384d73e8daa5c948fb08c7301144c0d7e740ef9 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sat, 27 Apr 2019 12:22:57 -0700 Subject: fold: Make sure 32-bit constants get sign extended when necessary --- test/fold1.ssa | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/fold1.ssa (limited to 'test/fold1.ssa') diff --git a/test/fold1.ssa b/test/fold1.ssa new file mode 100644 index 0000000..0ee2f91 --- /dev/null +++ b/test/fold1.ssa @@ -0,0 +1,25 @@ +export +function w $f1() { +@start + %x =w sar 2147483648, 31 + ret %x +} + +export +function w $f2() { +@start + %x =w div 4294967040, 8 # -256 / 8 + ret %x +} + +export +function w $f3() { +@start + %x =w rem 4294967284, 7 # -12 % 7 + ret %x +} + +# >>> driver +# extern int f1(), f2(), f3(); +# int main() { return !(f1() == -1 && f2() == -32 && f3() == -5); } +# <<< -- cgit 1.4.1