Skip to content

Commit 5249824

Browse files
committed
do not clamp && merge main
1 parent fe7c1c7 commit 5249824

File tree

2 files changed

+6
-10
lines changed

2 files changed

+6
-10
lines changed

llvm/lib/Target/AMDGPU/SIInstructions.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3306,14 +3306,14 @@ multiclass V_SAT_PK_Pat<Instruction inst> {
33063306
(i16 (conc_lo_u8_i16 (clamp_s16_u8 i16:$lo), (clamp_s16_u8 i16:$hi))),
33073307
(inst
33083308
(V_LSHL_OR_B32_e64 VRegSrc_32:$hi, (S_MOV_B32 (i32 16)),
3309-
(V_AND_B32_e64 VRegSrc_32:$lo, (S_MOV_B32 (i32 0xFFFF)))))
3309+
VRegSrc_32:$lo))
33103310
>;
33113311

33123312
def: GCNPatIgnoreCopies<
33133313
(i16 (conc_lo_u8_i16 (clamp_s16_u8 i16:$lo), (smax i16:$hi, (i16 0)))),
33143314
(inst
33153315
(V_LSHL_OR_B32_e64 VRegSrc_32:$hi, (S_MOV_B32 (i32 16)),
3316-
(V_AND_B32_e64 VRegSrc_32:$lo, (S_MOV_B32 (i32 0xFFFF)))))
3316+
VRegSrc_32:$lo))
33173317
>;
33183318

33193319
def: GCNPatIgnoreCopies<

llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -846,9 +846,8 @@ define i16 @basic_smax_smin_bit_or(i16 %src0, i16 %src1) {
846846
; SDAG-GFX12-NEXT: s_wait_samplecnt 0x0
847847
; SDAG-GFX12-NEXT: s_wait_bvhcnt 0x0
848848
; SDAG-GFX12-NEXT: s_wait_kmcnt 0x0
849-
; SDAG-GFX12-NEXT: v_and_b32_e32 v0, 0xffff, v0
850-
; SDAG-GFX12-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
851849
; SDAG-GFX12-NEXT: v_lshl_or_b32 v0, v1, 16, v0
850+
; SDAG-GFX12-NEXT: s_delay_alu instid0(VALU_DEP_1)
852851
; SDAG-GFX12-NEXT: v_sat_pk_u8_i16_e32 v0, v0
853852
; SDAG-GFX12-NEXT: s_setpc_b64 s[30:31]
854853
;
@@ -1019,9 +1018,8 @@ define i16 @basic_smax_smin_vec_cast(i16 %src0, i16 %src1) {
10191018
; SDAG-GFX11-LABEL: basic_smax_smin_vec_cast:
10201019
; SDAG-GFX11: ; %bb.0:
10211020
; SDAG-GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1022-
; SDAG-GFX11-NEXT: v_and_b32_e32 v0, 0xffff, v0
1023-
; SDAG-GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
10241021
; SDAG-GFX11-NEXT: v_lshl_or_b32 v0, v1, 16, v0
1022+
; SDAG-GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)
10251023
; SDAG-GFX11-NEXT: v_sat_pk_u8_i16_e32 v0, v0
10261024
; SDAG-GFX11-NEXT: s_setpc_b64 s[30:31]
10271025
;
@@ -1065,9 +1063,8 @@ define i16 @basic_smax_smin_vec_cast(i16 %src0, i16 %src1) {
10651063
; GISEL-GFX11-LABEL: basic_smax_smin_vec_cast:
10661064
; GISEL-GFX11: ; %bb.0:
10671065
; GISEL-GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1068-
; GISEL-GFX11-NEXT: v_and_b32_e32 v0, 0xffff, v0
1069-
; GISEL-GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
10701066
; GISEL-GFX11-NEXT: v_lshl_or_b32 v0, v1, 16, v0
1067+
; GISEL-GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)
10711068
; GISEL-GFX11-NEXT: v_sat_pk_u8_i16_e32 v0, v0
10721069
; GISEL-GFX11-NEXT: s_setpc_b64 s[30:31]
10731070
;
@@ -1147,9 +1144,8 @@ define i16 @basic_smax_smin_bit_shl(i16 %src0, i16 %src1) {
11471144
; SDAG-GFX12-NEXT: s_wait_samplecnt 0x0
11481145
; SDAG-GFX12-NEXT: s_wait_bvhcnt 0x0
11491146
; SDAG-GFX12-NEXT: s_wait_kmcnt 0x0
1150-
; SDAG-GFX12-NEXT: v_and_b32_e32 v0, 0xffff, v0
1151-
; SDAG-GFX12-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
11521147
; SDAG-GFX12-NEXT: v_lshl_or_b32 v0, v1, 16, v0
1148+
; SDAG-GFX12-NEXT: s_delay_alu instid0(VALU_DEP_1)
11531149
; SDAG-GFX12-NEXT: v_sat_pk_u8_i16_e32 v0, v0
11541150
; SDAG-GFX12-NEXT: s_setpc_b64 s[30:31]
11551151
;

0 commit comments

Comments
 (0)