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