shl0(unsigned int x)1*c85f09ccSJohn Levonunsigned int shl0(unsigned int x) 2*c85f09ccSJohn Levon { 3*c85f09ccSJohn Levon return x << 15 << 15; 4*c85f09ccSJohn Levon } 5*c85f09ccSJohn Levon shl1(unsigned int x)6*c85f09ccSJohn Levonunsigned int shl1(unsigned int x) 7*c85f09ccSJohn Levon { 8*c85f09ccSJohn Levon return x << 16 << 15; 9*c85f09ccSJohn Levon } 10*c85f09ccSJohn Levon shl2(unsigned int x)11*c85f09ccSJohn Levonunsigned int shl2(unsigned int x) 12*c85f09ccSJohn Levon { 13*c85f09ccSJohn Levon return x << 16 << 16; 14*c85f09ccSJohn Levon } 15*c85f09ccSJohn Levon shl3(unsigned int x)16*c85f09ccSJohn Levonunsigned int shl3(unsigned int x) 17*c85f09ccSJohn Levon { 18*c85f09ccSJohn Levon return x << 12 << 10 << 10; 19*c85f09ccSJohn Levon } 20*c85f09ccSJohn Levon 21*c85f09ccSJohn Levon lsr0(unsigned int x)22*c85f09ccSJohn Levonunsigned int lsr0(unsigned int x) 23*c85f09ccSJohn Levon { 24*c85f09ccSJohn Levon return x >> 15 >> 15; 25*c85f09ccSJohn Levon } 26*c85f09ccSJohn Levon lsr1(unsigned int x)27*c85f09ccSJohn Levonunsigned int lsr1(unsigned int x) 28*c85f09ccSJohn Levon { 29*c85f09ccSJohn Levon return x >> 16 >> 15; 30*c85f09ccSJohn Levon } 31*c85f09ccSJohn Levon lsr2(unsigned int x)32*c85f09ccSJohn Levonunsigned int lsr2(unsigned int x) 33*c85f09ccSJohn Levon { 34*c85f09ccSJohn Levon return x >> 16 >> 16; 35*c85f09ccSJohn Levon } 36*c85f09ccSJohn Levon lsr3(unsigned int x)37*c85f09ccSJohn Levonunsigned int lsr3(unsigned int x) 38*c85f09ccSJohn Levon { 39*c85f09ccSJohn Levon return x >> 12 >> 10 >> 10; 40*c85f09ccSJohn Levon } 41*c85f09ccSJohn Levon 42*c85f09ccSJohn Levon asr0(int x)43*c85f09ccSJohn Levonint asr0(int x) 44*c85f09ccSJohn Levon { 45*c85f09ccSJohn Levon return x >> 15 >> 15; 46*c85f09ccSJohn Levon } 47*c85f09ccSJohn Levon asr1(int x)48*c85f09ccSJohn Levonint asr1(int x) 49*c85f09ccSJohn Levon { 50*c85f09ccSJohn Levon return x >> 16 >> 15; 51*c85f09ccSJohn Levon } 52*c85f09ccSJohn Levon asr2(int x)53*c85f09ccSJohn Levonint asr2(int x) 54*c85f09ccSJohn Levon { 55*c85f09ccSJohn Levon return x >> 16 >> 16; 56*c85f09ccSJohn Levon } 57*c85f09ccSJohn Levon asr3(int x)58*c85f09ccSJohn Levonint asr3(int x) 59*c85f09ccSJohn Levon { 60*c85f09ccSJohn Levon return x >> 12 >> 10 >> 10; 61*c85f09ccSJohn Levon } 62*c85f09ccSJohn Levon 63*c85f09ccSJohn Levon /* 64*c85f09ccSJohn Levon * check-name: shift-shift 65*c85f09ccSJohn Levon * check-command: test-linearize -Wno-decl $file 66*c85f09ccSJohn Levon * 67*c85f09ccSJohn Levon * check-output-start 68*c85f09ccSJohn Levon shl0: 69*c85f09ccSJohn Levon .L0: 70*c85f09ccSJohn Levon <entry-point> 71*c85f09ccSJohn Levon shl.32 %r3 <- %arg1, $30 72*c85f09ccSJohn Levon ret.32 %r3 73*c85f09ccSJohn Levon 74*c85f09ccSJohn Levon 75*c85f09ccSJohn Levon shl1: 76*c85f09ccSJohn Levon .L2: 77*c85f09ccSJohn Levon <entry-point> 78*c85f09ccSJohn Levon shl.32 %r7 <- %arg1, $31 79*c85f09ccSJohn Levon ret.32 %r7 80*c85f09ccSJohn Levon 81*c85f09ccSJohn Levon 82*c85f09ccSJohn Levon shl2: 83*c85f09ccSJohn Levon .L4: 84*c85f09ccSJohn Levon <entry-point> 85*c85f09ccSJohn Levon ret.32 $0 86*c85f09ccSJohn Levon 87*c85f09ccSJohn Levon 88*c85f09ccSJohn Levon shl3: 89*c85f09ccSJohn Levon .L6: 90*c85f09ccSJohn Levon <entry-point> 91*c85f09ccSJohn Levon ret.32 $0 92*c85f09ccSJohn Levon 93*c85f09ccSJohn Levon 94*c85f09ccSJohn Levon lsr0: 95*c85f09ccSJohn Levon .L8: 96*c85f09ccSJohn Levon <entry-point> 97*c85f09ccSJohn Levon lsr.32 %r20 <- %arg1, $30 98*c85f09ccSJohn Levon ret.32 %r20 99*c85f09ccSJohn Levon 100*c85f09ccSJohn Levon 101*c85f09ccSJohn Levon lsr1: 102*c85f09ccSJohn Levon .L10: 103*c85f09ccSJohn Levon <entry-point> 104*c85f09ccSJohn Levon lsr.32 %r24 <- %arg1, $31 105*c85f09ccSJohn Levon ret.32 %r24 106*c85f09ccSJohn Levon 107*c85f09ccSJohn Levon 108*c85f09ccSJohn Levon lsr2: 109*c85f09ccSJohn Levon .L12: 110*c85f09ccSJohn Levon <entry-point> 111*c85f09ccSJohn Levon ret.32 $0 112*c85f09ccSJohn Levon 113*c85f09ccSJohn Levon 114*c85f09ccSJohn Levon lsr3: 115*c85f09ccSJohn Levon .L14: 116*c85f09ccSJohn Levon <entry-point> 117*c85f09ccSJohn Levon ret.32 $0 118*c85f09ccSJohn Levon 119*c85f09ccSJohn Levon 120*c85f09ccSJohn Levon asr0: 121*c85f09ccSJohn Levon .L16: 122*c85f09ccSJohn Levon <entry-point> 123*c85f09ccSJohn Levon asr.32 %r37 <- %arg1, $30 124*c85f09ccSJohn Levon ret.32 %r37 125*c85f09ccSJohn Levon 126*c85f09ccSJohn Levon 127*c85f09ccSJohn Levon asr1: 128*c85f09ccSJohn Levon .L18: 129*c85f09ccSJohn Levon <entry-point> 130*c85f09ccSJohn Levon asr.32 %r41 <- %arg1, $31 131*c85f09ccSJohn Levon ret.32 %r41 132*c85f09ccSJohn Levon 133*c85f09ccSJohn Levon 134*c85f09ccSJohn Levon asr2: 135*c85f09ccSJohn Levon .L20: 136*c85f09ccSJohn Levon <entry-point> 137*c85f09ccSJohn Levon asr.32 %r45 <- %arg1, $31 138*c85f09ccSJohn Levon ret.32 %r45 139*c85f09ccSJohn Levon 140*c85f09ccSJohn Levon 141*c85f09ccSJohn Levon asr3: 142*c85f09ccSJohn Levon .L22: 143*c85f09ccSJohn Levon <entry-point> 144*c85f09ccSJohn Levon asr.32 %r50 <- %arg1, $31 145*c85f09ccSJohn Levon ret.32 %r50 146*c85f09ccSJohn Levon 147*c85f09ccSJohn Levon 148*c85f09ccSJohn Levon * check-output-end 149*c85f09ccSJohn Levon */ 150