@@ -197,33 +197,13 @@ define amdgpu_cs <4 x i32> @abs_vgpr_v4i32(<4 x i32> %arg) {
197197}
198198
199199define amdgpu_cs <2 x i8 > @abs_sgpr_v2i8 (<2 x i8 > inreg %arg ) {
200- ; GFX6-LABEL: abs_sgpr_v2i8:
201- ; GFX6: ; %bb.0:
202- ; GFX6-NEXT: s_sext_i32_i8 s0, s0
203- ; GFX6-NEXT: s_sext_i32_i8 s1, s1
204- ; GFX6-NEXT: s_abs_i32 s0, s0
205- ; GFX6-NEXT: s_abs_i32 s1, s1
206- ; GFX6-NEXT: ; return to shader part epilog
207- ;
208- ; GFX8-LABEL: abs_sgpr_v2i8:
209- ; GFX8: ; %bb.0:
210- ; GFX8-NEXT: s_sext_i32_i8 s0, s0
211- ; GFX8-NEXT: s_sext_i32_i8 s1, s1
212- ; GFX8-NEXT: s_sext_i32_i16 s0, s0
213- ; GFX8-NEXT: s_sext_i32_i16 s1, s1
214- ; GFX8-NEXT: s_abs_i32 s0, s0
215- ; GFX8-NEXT: s_abs_i32 s1, s1
216- ; GFX8-NEXT: ; return to shader part epilog
217- ;
218- ; GFX10-LABEL: abs_sgpr_v2i8:
219- ; GFX10: ; %bb.0:
220- ; GFX10-NEXT: s_sext_i32_i8 s0, s0
221- ; GFX10-NEXT: s_sext_i32_i8 s1, s1
222- ; GFX10-NEXT: s_sext_i32_i16 s0, s0
223- ; GFX10-NEXT: s_sext_i32_i16 s1, s1
224- ; GFX10-NEXT: s_abs_i32 s0, s0
225- ; GFX10-NEXT: s_abs_i32 s1, s1
226- ; GFX10-NEXT: ; return to shader part epilog
200+ ; GFX-LABEL: abs_sgpr_v2i8:
201+ ; GFX: ; %bb.0:
202+ ; GFX-NEXT: s_sext_i32_i8 s0, s0
203+ ; GFX-NEXT: s_sext_i32_i8 s1, s1
204+ ; GFX-NEXT: s_abs_i32 s0, s0
205+ ; GFX-NEXT: s_abs_i32 s1, s1
206+ ; GFX-NEXT: ; return to shader part epilog
227207 %res = call <2 x i8 > @llvm.abs.v2i8 (<2 x i8 > %arg , i1 false )
228208 ret <2 x i8 > %res
229209}
@@ -268,41 +248,15 @@ define amdgpu_cs <2 x i8> @abs_vgpr_v2i8(<2 x i8> %arg) {
268248}
269249
270250define amdgpu_cs <3 x i8 > @abs_sgpr_v3i8 (<3 x i8 > inreg %arg ) {
271- ; GFX6-LABEL: abs_sgpr_v3i8:
272- ; GFX6: ; %bb.0:
273- ; GFX6-NEXT: s_sext_i32_i8 s0, s0
274- ; GFX6-NEXT: s_sext_i32_i8 s1, s1
275- ; GFX6-NEXT: s_sext_i32_i8 s2, s2
276- ; GFX6-NEXT: s_abs_i32 s0, s0
277- ; GFX6-NEXT: s_abs_i32 s1, s1
278- ; GFX6-NEXT: s_abs_i32 s2, s2
279- ; GFX6-NEXT: ; return to shader part epilog
280- ;
281- ; GFX8-LABEL: abs_sgpr_v3i8:
282- ; GFX8: ; %bb.0:
283- ; GFX8-NEXT: s_sext_i32_i8 s0, s0
284- ; GFX8-NEXT: s_sext_i32_i8 s1, s1
285- ; GFX8-NEXT: s_sext_i32_i8 s2, s2
286- ; GFX8-NEXT: s_sext_i32_i16 s0, s0
287- ; GFX8-NEXT: s_sext_i32_i16 s1, s1
288- ; GFX8-NEXT: s_sext_i32_i16 s2, s2
289- ; GFX8-NEXT: s_abs_i32 s0, s0
290- ; GFX8-NEXT: s_abs_i32 s1, s1
291- ; GFX8-NEXT: s_abs_i32 s2, s2
292- ; GFX8-NEXT: ; return to shader part epilog
293- ;
294- ; GFX10-LABEL: abs_sgpr_v3i8:
295- ; GFX10: ; %bb.0:
296- ; GFX10-NEXT: s_sext_i32_i8 s0, s0
297- ; GFX10-NEXT: s_sext_i32_i8 s1, s1
298- ; GFX10-NEXT: s_sext_i32_i8 s2, s2
299- ; GFX10-NEXT: s_sext_i32_i16 s0, s0
300- ; GFX10-NEXT: s_sext_i32_i16 s1, s1
301- ; GFX10-NEXT: s_sext_i32_i16 s2, s2
302- ; GFX10-NEXT: s_abs_i32 s0, s0
303- ; GFX10-NEXT: s_abs_i32 s1, s1
304- ; GFX10-NEXT: s_abs_i32 s2, s2
305- ; GFX10-NEXT: ; return to shader part epilog
251+ ; GFX-LABEL: abs_sgpr_v3i8:
252+ ; GFX: ; %bb.0:
253+ ; GFX-NEXT: s_sext_i32_i8 s0, s0
254+ ; GFX-NEXT: s_sext_i32_i8 s1, s1
255+ ; GFX-NEXT: s_sext_i32_i8 s2, s2
256+ ; GFX-NEXT: s_abs_i32 s0, s0
257+ ; GFX-NEXT: s_abs_i32 s1, s1
258+ ; GFX-NEXT: s_abs_i32 s2, s2
259+ ; GFX-NEXT: ; return to shader part epilog
306260 %res = call <3 x i8 > @llvm.abs.v3i8 (<3 x i8 > %arg , i1 false )
307261 ret <3 x i8 > %res
308262}
0 commit comments