diff options
Diffstat (limited to 'test/eucl.ssa')
-rw-r--r-- | test/eucl.ssa | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/eucl.ssa b/test/eucl.ssa new file mode 100644 index 0000000..f50fd2c --- /dev/null +++ b/test/eucl.ssa @@ -0,0 +1,24 @@ +# euclide's algorithm in ssa +# it is a fairly interesting +# ssa program because of the +# swap of b and a + +function $test() { +@start + +@loop + %a =w phi @start 380, @loop %r + %b =w phi @start 747, @loop %a + %r =w rem %b, %a + jnz %r, @loop, @end + +@end + storew %a, $a + ret +} + +# >>> driver +# extern void test(void); +# int a; +# int main() { test(); return !(a == 1); } +# <<< |