32 lines
576 B
ArmAsm
32 lines
576 B
ArmAsm
|
/*
|
||
|
* Purpose: test example, verify the soundness of the vspliceb operation
|
||
|
* the operation is a binary splice of two 64bit operators.
|
||
|
*
|
||
|
* vspliceb(0xffffffffffffffff,0x0000000000000000,5) = 0x000000ffffffffff.
|
||
|
*/
|
||
|
.text
|
||
|
.globl _start
|
||
|
|
||
|
_start:
|
||
|
{
|
||
|
r0 = #-1
|
||
|
r1 = #-1
|
||
|
}
|
||
|
{
|
||
|
r2 = #0
|
||
|
r3 = #0
|
||
|
}
|
||
|
{
|
||
|
r5:4 = vspliceb(r1:0, r3:2, #5)
|
||
|
}
|
||
|
{
|
||
|
p0 = cmp.eq(r4, #-1); if (p0.new) jump:t test2
|
||
|
jump fail
|
||
|
}
|
||
|
|
||
|
test2:
|
||
|
{
|
||
|
p0 = cmp.eq(r5, #255); if (p0.new) jump:t pass
|
||
|
jump fail
|
||
|
}
|