summary refs log tree commit diff
path: root/test/philv.ssa
blob: f14106fbb061629a8b3650c2cca8339e81caf815 (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
26
27
28
29
30
31
32
33
34
# regression test for 1f4ff634

# warning! headaches can occur
# when trying to figure out what
# the test is doing!

export
function w $t0() {
@start
@loop
	%x0 =w phi @start 256, @loop %y0
	%y0 =w phi @start 128, @loop %y1
	%y1 =w shr %x0, 1
	jnz %y1, @loop, @end
@end
	ret %x0
}

export
function w $t1() {  # swapped phis
@start
@loop
	%y0 =w phi @start 128, @loop %y1
	%x0 =w phi @start 256, @loop %y0
	%y1 =w shr %x0, 1
	jnz %y1, @loop, @end
@end
	ret %x0
}

# >>> driver
# extern int t0(void), t1(void);
# int main() { return !(t0() == 1 && t1() == 1);}
# <<<