1*585a86b1SNiccolò Izzo/* Purpose: test the soundness of the lsr operation */ 2*585a86b1SNiccolò Izzo 3*585a86b1SNiccolò Izzo .text 4*585a86b1SNiccolò Izzo .globl _start 5*585a86b1SNiccolò Izzo 6*585a86b1SNiccolò Izzo_start: 7*585a86b1SNiccolò Izzo { 8*585a86b1SNiccolò Izzo r0 = #-56984 9*585a86b1SNiccolò Izzo r1 = #2147483647 10*585a86b1SNiccolò Izzo } 11*585a86b1SNiccolò Izzo { 12*585a86b1SNiccolò Izzo r2 = #0x19 13*585a86b1SNiccolò Izzo } 14*585a86b1SNiccolò Izzo { 15*585a86b1SNiccolò Izzo r0 &= lsr(r1, r2) 16*585a86b1SNiccolò Izzo } 17*585a86b1SNiccolò Izzo { 18*585a86b1SNiccolò Izzo p0 = cmp.eq(r0, #0x28); if (p0.new) jump:t test2 19*585a86b1SNiccolò Izzo jump fail 20*585a86b1SNiccolò Izzo } 21*585a86b1SNiccolò Izzo 22*585a86b1SNiccolò Izzotest2: 23*585a86b1SNiccolò Izzo { 24*585a86b1SNiccolò Izzo r0 = #0x0000000a 25*585a86b1SNiccolò Izzo r1 = #0x00000000 26*585a86b1SNiccolò Izzo } 27*585a86b1SNiccolò Izzo { 28*585a86b1SNiccolò Izzo r2 = #-1 29*585a86b1SNiccolò Izzo } 30*585a86b1SNiccolò Izzo { 31*585a86b1SNiccolò Izzo r1:0 = lsl(r1:0, r2) 32*585a86b1SNiccolò Izzo } 33*585a86b1SNiccolò Izzo { 34*585a86b1SNiccolò Izzo p0 = cmp.eq(r0, #0x5); if (p0.new) jump:t pass 35*585a86b1SNiccolò Izzo jump fail 36*585a86b1SNiccolò Izzo } 37