1f08c3bdfSopenharmony_citypedef __INT16_TYPE__ s16; 2f08c3bdfSopenharmony_citypedef __INT32_TYPE__ s32; 3f08c3bdfSopenharmony_citypedef __INT64_TYPE__ s64; 4f08c3bdfSopenharmony_citypedef __UINT16_TYPE__ u16; 5f08c3bdfSopenharmony_citypedef __UINT32_TYPE__ u32; 6f08c3bdfSopenharmony_citypedef __UINT64_TYPE__ u64; 7f08c3bdfSopenharmony_ci 8f08c3bdfSopenharmony_cis64 s64s16(s64 a, s16 b) { a >>= b; return a; } 9f08c3bdfSopenharmony_cis64 s64s32(s64 a, s32 b) { a >>= b; return a; } 10f08c3bdfSopenharmony_ciu64 u64s16(u64 a, s16 b) { a >>= b; return a; } 11f08c3bdfSopenharmony_ciu64 u64s32(u64 a, s32 b) { a >>= b; return a; } 12f08c3bdfSopenharmony_ci 13f08c3bdfSopenharmony_ci/* 14f08c3bdfSopenharmony_ci * check-name: shift-assign2 15f08c3bdfSopenharmony_ci * check-command: test-linearize -Wno-decl $file 16f08c3bdfSopenharmony_ci * 17f08c3bdfSopenharmony_ci * check-output-start 18f08c3bdfSopenharmony_cis64s16: 19f08c3bdfSopenharmony_ci.L0: 20f08c3bdfSopenharmony_ci <entry-point> 21f08c3bdfSopenharmony_ci sext.32 %r2 <- (16) %arg2 22f08c3bdfSopenharmony_ci zext.64 %r3 <- (32) %r2 23f08c3bdfSopenharmony_ci asr.64 %r5 <- %arg1, %r3 24f08c3bdfSopenharmony_ci ret.64 %r5 25f08c3bdfSopenharmony_ci 26f08c3bdfSopenharmony_ci 27f08c3bdfSopenharmony_cis64s32: 28f08c3bdfSopenharmony_ci.L2: 29f08c3bdfSopenharmony_ci <entry-point> 30f08c3bdfSopenharmony_ci zext.64 %r9 <- (32) %arg2 31f08c3bdfSopenharmony_ci asr.64 %r11 <- %arg1, %r9 32f08c3bdfSopenharmony_ci ret.64 %r11 33f08c3bdfSopenharmony_ci 34f08c3bdfSopenharmony_ci 35f08c3bdfSopenharmony_ciu64s16: 36f08c3bdfSopenharmony_ci.L4: 37f08c3bdfSopenharmony_ci <entry-point> 38f08c3bdfSopenharmony_ci sext.32 %r15 <- (16) %arg2 39f08c3bdfSopenharmony_ci zext.64 %r16 <- (32) %r15 40f08c3bdfSopenharmony_ci lsr.64 %r18 <- %arg1, %r16 41f08c3bdfSopenharmony_ci ret.64 %r18 42f08c3bdfSopenharmony_ci 43f08c3bdfSopenharmony_ci 44f08c3bdfSopenharmony_ciu64s32: 45f08c3bdfSopenharmony_ci.L6: 46f08c3bdfSopenharmony_ci <entry-point> 47f08c3bdfSopenharmony_ci zext.64 %r22 <- (32) %arg2 48f08c3bdfSopenharmony_ci lsr.64 %r24 <- %arg1, %r22 49f08c3bdfSopenharmony_ci ret.64 %r24 50f08c3bdfSopenharmony_ci 51f08c3bdfSopenharmony_ci 52f08c3bdfSopenharmony_ci * check-output-end 53f08c3bdfSopenharmony_ci */ 54