| 123456789101112131415161718192021222324 |
- # tests that %b and %a0 do not end up in
- # the same register at the start of @loop
- export function l $f(l %a) {
- @start
- @loop
- %b =l phi @start 42, @loop0 %a1, @loop1 %a1
- %a0 =l phi @start %a, @loop0 %a1, @loop1 %a1
- %a1 =l sub %a0, 1
- jnz %b, @loop0, @loop1
- @loop0
- jnz %a1, @loop, @end
- @loop1
- jnz %a1, @loop, @end
- @end
- ret %b
- }
- # >>> driver
- # extern long long f(long long);
- # int main() {
- # return !(f(1) == 42 && f(2) == 1 && f(42) == 1);
- # }
- # <<<
|