1*585a86b1SNiccolò Izzo/* 2*585a86b1SNiccolò Izzo * Purpose: test example, verify the soundness of the vspliceb operation 3*585a86b1SNiccolò Izzo * the operation is a binary splice of two 64bit operators. 4*585a86b1SNiccolò Izzo * 5*585a86b1SNiccolò Izzo * vspliceb(0xffffffffffffffff,0x0000000000000000,5) = 0x000000ffffffffff. 6*585a86b1SNiccolò Izzo */ 7*585a86b1SNiccolò Izzo .text 8*585a86b1SNiccolò Izzo .globl _start 9*585a86b1SNiccolò Izzo 10*585a86b1SNiccolò Izzo_start: 11*585a86b1SNiccolò Izzo { 12*585a86b1SNiccolò Izzo r0 = #-1 13*585a86b1SNiccolò Izzo r1 = #-1 14*585a86b1SNiccolò Izzo } 15*585a86b1SNiccolò Izzo { 16*585a86b1SNiccolò Izzo r2 = #0 17*585a86b1SNiccolò Izzo r3 = #0 18*585a86b1SNiccolò Izzo } 19*585a86b1SNiccolò Izzo { 20*585a86b1SNiccolò Izzo r5:4 = vspliceb(r1:0, r3:2, #5) 21*585a86b1SNiccolò Izzo } 22*585a86b1SNiccolò Izzo { 23*585a86b1SNiccolò Izzo p0 = cmp.eq(r4, #-1); if (p0.new) jump:t test2 24*585a86b1SNiccolò Izzo jump fail 25*585a86b1SNiccolò Izzo } 26*585a86b1SNiccolò Izzo 27*585a86b1SNiccolò Izzotest2: 28*585a86b1SNiccolò Izzo { 29*585a86b1SNiccolò Izzo p0 = cmp.eq(r5, #255); if (p0.new) jump:t pass 30*585a86b1SNiccolò Izzo jump fail 31*585a86b1SNiccolò Izzo } 32