prevent bogus simplifications
[qbe.git] / test / mem1.ssa
blobb7045a62d94a3026f44302ecbc1400d91eff9bad
1 type :i3 = { w 3 } 
3 export
4 function :i3 $blit() {
5 @start
6         %l0 =l alloc4 12
7         %l1 =l alloc4 12
9         storew 287454020, %l0
10         %l04 =l add %l0, 4
11         storew 1432778632, %l04
12         %l08 =l add %l0, 8
13         storew 2578103244, %l08
15         # we expect that %l0 and %l1
16         # are coalesced and the blit
17         # goes backwards
18         %l11 =l add %l1, 1
19         blit %l0, %l11, 11
21         storeb 221, %l1
23         ret %l1
26 # >>> driver
27 # struct i3 { int a, b, c; };
28 # extern struct i3 blit();
29 # int main() {
30 #       struct i3 s = blit();
31 #       return !(s.a == 0x223344dd
32 #             && s.b == 0x66778811
33 #             && s.c == 0xaabbcc55);
34 # }
35 # <<<