summary refs log tree commit diff
path: root/test/eucl.ssa
blob: 838c1b8c3cfc9d47d96b0973c54188dd15440677 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# euclide's algorithm in ssa
# it is a fairly interesting
# ssa program because of the
# swap of b and a

export
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); }
# <<<