prevent bogus simplifications
[qbe.git] / test / prime.ssa
blob2273e1d3a0b31347a5e464d34a5fbd6c202e57e7
1 # find the 10,001st prime
2 # store it in a
4 export
5 function $test() {
6 @start
7 @loop
8         %n =w phi @start 5, @tloop %n, @yes %n1
9         %p =w phi @start 13, @tloop %p1, @yes %p1
10         %p1 =w add %p, 2
11 @tloop
12         %t =w phi @loop 3, @next %t1
13         %r =w rem %p, %t
14         jnz %r, @next, @loop
15 @next
16         %t1 =w add 2, %t
17         %tsq =w mul %t1, %t1
18         %c0 =w csgtw %tsq, %p
19         jnz %c0, @yes, @tloop
20 @yes
21         %n1 =w add 1, %n
22         %c1 =w ceqw 10001, %n1
23         jnz %c1, @end, @loop
24 @end
25         storew %p, $a
26         ret
29 # >>> driver
30 # extern void test(void);
31 # int a;
32 # int main() { test(); return !(a == 104743); }
33 # <<<