1typedef unsigned int u32; 2typedef int s32; 3 4s32 asr31(s32 a) { return a >> 31; } 5s32 asr32(s32 a) { return a >> 32; } 6s32 asr33(s32 a) { return a >> 33; } 7 8u32 lsr31(u32 a) { return a >> 31; } 9u32 lsr32(u32 a) { return a >> 32; } 10u32 lsr33(u32 a) { return a >> 33; } 11 12u32 shl31(u32 a) { return a << 31; } 13u32 shl32(u32 a) { return a << 32; } 14u32 shl33(u32 a) { return a << 33; } 15 16/* 17 * check-name: optim/shift-big.c 18 * check-command: test-linearize -Wno-decl -m64 $file 19 * 20 * check-error-ignore 21 * check-output-start 22asr31: 23.L0: 24 <entry-point> 25 asr.32 %r2 <- %arg1, $31 26 ret.32 %r2 27 28 29asr32: 30.L2: 31 <entry-point> 32 asr.32 %r5 <- %arg1, $32 33 ret.32 %r5 34 35 36asr33: 37.L4: 38 <entry-point> 39 asr.32 %r8 <- %arg1, $33 40 ret.32 %r8 41 42 43lsr31: 44.L6: 45 <entry-point> 46 lsr.32 %r11 <- %arg1, $31 47 ret.32 %r11 48 49 50lsr32: 51.L8: 52 <entry-point> 53 lsr.32 %r14 <- %arg1, $32 54 ret.32 %r14 55 56 57lsr33: 58.L10: 59 <entry-point> 60 lsr.32 %r17 <- %arg1, $33 61 ret.32 %r17 62 63 64shl31: 65.L12: 66 <entry-point> 67 shl.32 %r20 <- %arg1, $31 68 ret.32 %r20 69 70 71shl32: 72.L14: 73 <entry-point> 74 shl.32 %r23 <- %arg1, $32 75 ret.32 %r23 76 77 78shl33: 79.L16: 80 <entry-point> 81 shl.32 %r26 <- %arg1, $33 82 ret.32 %r26 83 84 85 * check-output-end 86 */ 87