@@ -133,33 +133,31 @@ define amdgpu_kernel void @i16_mad24(ptr addrspace(1) %out, i16 %a, i16 %b, i16
133133; GCN-LABEL: i16_mad24:
134134; GCN: ; %bb.0: ; %entry
135135; GCN-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x9
136- ; GCN-NEXT: s_mov_b32 s7, 0xf000
137136; GCN-NEXT: s_waitcnt lgkmcnt(0)
138- ; GCN-NEXT: s_lshr_b32 s4, s2, 16
139- ; GCN-NEXT: s_mul_i32 s2, s2, s4
140- ; GCN-NEXT: s_add_i32 s2, s2, s3
141- ; GCN-NEXT: s_sext_i32_i16 s2, s2
142- ; GCN-NEXT: s_mov_b32 s6, -1
143- ; GCN-NEXT: s_mov_b32 s4, s0
144- ; GCN-NEXT: s_mov_b32 s5, s1
145- ; GCN-NEXT: v_mov_b32_e32 v0, s2
146- ; GCN-NEXT: buffer_store_dword v0, off, s[4:7 ], 0
137+ ; GCN-NEXT: s_mov_b64 s[4:5], s[2:3]
138+ ; GCN-NEXT: s_mov_b32 s3, 0xf000
139+ ; GCN-NEXT: s_lshr_b32 s2, s4, 16
140+ ; GCN-NEXT: s_mul_i32 s2, s4 , s2
141+ ; GCN-NEXT: s_add_i32 s2, s2, s5
142+ ; GCN-NEXT: s_sext_i32_i16 s4, s2
143+ ; GCN-NEXT: s_mov_b32 s2, -1
144+ ; GCN-NEXT: v_mov_b32_e32 v0, s4
145+ ; GCN-NEXT: buffer_store_dword v0, off, s[0:3 ], 0
147146; GCN-NEXT: s_endpgm
148147;
149148; GFX8-LABEL: i16_mad24:
150149; GFX8: ; %bb.0: ; %entry
151150; GFX8-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x24
152- ; GFX8-NEXT: s_mov_b32 s7, 0xf000
153- ; GFX8-NEXT: s_mov_b32 s6, -1
154151; GFX8-NEXT: s_waitcnt lgkmcnt(0)
155- ; GFX8-NEXT: s_mov_b32 s4, s0
156- ; GFX8-NEXT: s_lshr_b32 s0, s2, 16
157- ; GFX8-NEXT: s_mul_i32 s0, s2, s0
158- ; GFX8-NEXT: s_add_i32 s0, s0, s3
159- ; GFX8-NEXT: s_sext_i32_i16 s0, s0
160- ; GFX8-NEXT: s_mov_b32 s5, s1
161- ; GFX8-NEXT: v_mov_b32_e32 v0, s0
162- ; GFX8-NEXT: buffer_store_dword v0, off, s[4:7], 0
152+ ; GFX8-NEXT: s_mov_b64 s[4:5], s[2:3]
153+ ; GFX8-NEXT: s_lshr_b32 s6, s4, 16
154+ ; GFX8-NEXT: s_mul_i32 s4, s4, s6
155+ ; GFX8-NEXT: s_add_i32 s4, s4, s5
156+ ; GFX8-NEXT: s_sext_i32_i16 s4, s4
157+ ; GFX8-NEXT: s_mov_b32 s3, 0xf000
158+ ; GFX8-NEXT: s_mov_b32 s2, -1
159+ ; GFX8-NEXT: v_mov_b32_e32 v0, s4
160+ ; GFX8-NEXT: buffer_store_dword v0, off, s[0:3], 0
163161; GFX8-NEXT: s_endpgm
164162entry:
165163 %0 = mul i16 %a , %b
0 commit comments