master
s 33 lines 585 Bytes
Raw
1 /*
2 * Purpose: demonstrate handling of .new uses appearing before the associated
3 * definition.
4 * Here we perform a jump that skips the code resetting R2 from 0xDEADBEEF to 0,
5 * only if P0.new is true, but P0 is assigned to 1 (R4) in the next instruction
6 * in the packet.
7 */
8
9 .text
10 .globl _start
11
12 _start:
13 {
14 r2 = #-559038737
15 }
16 {
17 r4 = #1
18 }
19 {
20 if (p0.new) jump:nt skip
21 p0 = r4;
22 }
23
24 fallthrough:
25 {
26 r2 = #0
27 }
28
29 skip:
30 {
31 p0 = cmp.eq(r2, #-559038737); if (p0.new) jump:t pass
32 jump fail
33 }