1*585a86b1SNiccolò Izzo/* 2*585a86b1SNiccolò Izzo * Purpose: test example, verify the soundness of the cl[01] operations. 3*585a86b1SNiccolò Izzo * 4*585a86b1SNiccolò Izzo * The number 0x000001aa has 23 leading zeroes 5*585a86b1SNiccolò Izzo * they become 55 when considered as 64 bit register 6*585a86b1SNiccolò Izzo * and it has 1 trailing zero. 7*585a86b1SNiccolò Izzo */ 8*585a86b1SNiccolò Izzo .text 9*585a86b1SNiccolò Izzo .globl _start 10*585a86b1SNiccolò Izzo 11*585a86b1SNiccolò Izzo_start: 12*585a86b1SNiccolò Izzo { 13*585a86b1SNiccolò Izzo r0 = #426 14*585a86b1SNiccolò Izzo r1 = #0 15*585a86b1SNiccolò Izzo } 16*585a86b1SNiccolò Izzo { 17*585a86b1SNiccolò Izzo r2 = cl0(r0) 18*585a86b1SNiccolò Izzo } 19*585a86b1SNiccolò Izzo { 20*585a86b1SNiccolò Izzo p0 = cmp.eq(r2, #23); if (p0.new) jump:t test2 21*585a86b1SNiccolò Izzo jump fail 22*585a86b1SNiccolò Izzo } 23*585a86b1SNiccolò Izzo 24*585a86b1SNiccolò Izzotest2: 25*585a86b1SNiccolò Izzo { 26*585a86b1SNiccolò Izzo r2 = cl0(r1:0) 27*585a86b1SNiccolò Izzo } 28*585a86b1SNiccolò Izzo { 29*585a86b1SNiccolò Izzo p0 = cmp.eq(r2, #55); if (p0.new) jump:t test3 30*585a86b1SNiccolò Izzo jump fail 31*585a86b1SNiccolò Izzo } 32*585a86b1SNiccolò Izzo 33*585a86b1SNiccolò Izzotest3: 34*585a86b1SNiccolò Izzo { 35*585a86b1SNiccolò Izzo r2 = ct0(r0) 36*585a86b1SNiccolò Izzo } 37*585a86b1SNiccolò Izzo { 38*585a86b1SNiccolò Izzo p0 = cmp.eq(r2, #1); if (p0.new) jump:t pass 39*585a86b1SNiccolò Izzo jump fail 40*585a86b1SNiccolò Izzo } 41