@@ -5,10 +5,8 @@ define amdgpu_ps i16 @absdiff_i16_false(i16 inreg %arg0, i16 inreg %arg1) {
55; CHECK-LABEL: absdiff_i16_false:
66; CHECK: ; %bb.0:
77; CHECK-NEXT: s_sub_i32 s0, s0, s1
8- ; CHECK-NEXT: s_sext_i32_i16 s1, s0
9- ; CHECK-NEXT: s_sub_i32 s0, 0, s0
108; CHECK-NEXT: s_sext_i32_i16 s0, s0
11- ; CHECK-NEXT: s_max_i32 s0, s1 , s0
9+ ; CHECK-NEXT: s_abs_i32 s0, s0
1210; CHECK-NEXT: ; return to shader part epilog
1311 %diff = sub i16 %arg0 , %arg1
1412 %res = call i16 @llvm.abs.i16 (i16 %diff , i1 false ) ; INT_MIN input returns INT_MIN
@@ -19,10 +17,8 @@ define amdgpu_ps i16 @absdiff_i16_true(i16 inreg %arg0, i16 inreg %arg1) {
1917; CHECK-LABEL: absdiff_i16_true:
2018; CHECK: ; %bb.0:
2119; CHECK-NEXT: s_sub_i32 s0, s0, s1
22- ; CHECK-NEXT: s_sext_i32_i16 s1, s0
23- ; CHECK-NEXT: s_sub_i32 s0, 0, s0
2420; CHECK-NEXT: s_sext_i32_i16 s0, s0
25- ; CHECK-NEXT: s_max_i32 s0, s1 , s0
21+ ; CHECK-NEXT: s_abs_i32 s0, s0
2622; CHECK-NEXT: ; return to shader part epilog
2723 %diff = sub i16 %arg0 , %arg1
2824 %res = call i16 @llvm.abs.i16 (i16 %diff , i1 true ) ; INT_MIN input returns poison
0 commit comments