qemu-e2k/tests/tcg/hexagon/test_clobber.S

30 lines
549 B
ArmAsm

/*
* Purpose: demonstrate the succesful operation of the register save mechanism,
* in which the caller saves the registers that will be clobbered, and restores
* them after the call.
*/
.text
.globl _start
_start:
allocframe(#8)
{
r16 = #47
r17 = #155
}
memd(sp+#0) = r17:16
{
r16 = #255
r17 = #42
}
{
deallocframe
r17:16 = memd(sp+#0)
}
{
p0 = cmp.eq(r16, #47)
p0 = cmp.eq(r17, #155); if (p0.new) jump:t pass
jump fail
}