summary refs log tree commit diff
path: root/src/test/eucl.ssa
blob: f50fd2c7d7b777ad62bd8b7023c1191c2d1a2596 (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
# 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); }
# <<<