mirror_qemu/tests/tcg/hexagon/test_reorder.S

34 lines
585 B
ArmAsm

/*
* Purpose: demonstrate handling of .new uses appearing before the associated
* definition.
* Here we perform a jump that skips the code resetting R2 from 0xDEADBEEF to 0,
* only if P0.new is true, but P0 is assigned to 1 (R4) in the next instruction
* in the packet.
*/
.text
.globl _start
_start:
{
r2 = #-559038737
}
{
r4 = #1
}
{
if (p0.new) jump:nt skip
p0 = r4;
}
fallthrough:
{
r2 = #0
}
skip:
{
p0 = cmp.eq(r2, #-559038737); if (p0.new) jump:t pass
jump fail
}