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