Skip to content

Commit befcac4

Browse files
committed
Review feedback.
1 parent 5194ad6 commit befcac4

File tree

4 files changed

+12
-4
lines changed

4 files changed

+12
-4
lines changed

llvm/lib/Target/AMDGPU/AMDGPU.td

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2523,6 +2523,10 @@ def HasAtomicFMinFMaxF64FlatInsts :
25232523
Predicate<"Subtarget->hasAtomicFMinFMaxF64FlatInsts()">,
25242524
AssemblerPredicate<(any_of FeatureAtomicFMinFMaxF64FlatInsts)>;
25252525

2526+
def HasAtomicCondSubClampFlatInsts :
2527+
Predicate<"Subtarget->getGeneration() >= AMDGPUSubtarget::GFX12">,
2528+
AssemblerPredicate<(all_of FeatureGFX12Insts)>;
2529+
25262530
def HasLdsAtomicAddF64 :
25272531
Predicate<"Subtarget->hasLdsAtomicAddF64()">,
25282532
AssemblerPredicate<(any_of FeatureGFX90AInsts, FeatureGFX1250Insts)>;
@@ -2832,6 +2836,10 @@ def HasFmaLegacy32 : Predicate<"Subtarget->hasGFX10_3Insts()">,
28322836
def HasAtomicDsPkAdd16Insts : Predicate<"Subtarget->hasAtomicDsPkAdd16Insts()">,
28332837
AssemblerPredicate<(any_of FeatureAtomicDsPkAdd16Insts)>;
28342838

2839+
def HasAtomicDsCondSubClampInsts :
2840+
Predicate<"Subtarget->getGeneration() >= AMDGPUSubtarget::GFX12">,
2841+
AssemblerPredicate<(all_of FeatureGFX12Insts)>;
2842+
28352843
def HasAtomicFlatPkAdd16Insts : Predicate<"Subtarget->hasAtomicFlatPkAdd16Insts()">,
28362844
AssemblerPredicate<(any_of FeatureAtomicFlatPkAdd16Insts)>;
28372845

llvm/lib/Target/AMDGPU/BUFInstructions.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1096,7 +1096,7 @@ defm BUFFER_ATOMIC_DEC_X2 : MUBUF_Pseudo_Atomics <
10961096

10971097
let OtherPredicates = [HasGFX10_BEncoding] in {
10981098
defm BUFFER_ATOMIC_CSUB : MUBUF_Pseudo_Atomics <
1099-
"buffer_atomic_csub", VGPROp_32, i32
1099+
"buffer_atomic_csub", VGPROp_32, i32, int_amdgcn_global_atomic_csub
11001100
>;
11011101
}
11021102

llvm/lib/Target/AMDGPU/DSInstructions.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1277,13 +1277,13 @@ defm : DSAtomicRetNoRetPat_NoM0_mc<DS_PK_ADD_RTN_F16, DS_PK_ADD_F16, v2f16, "ato
12771277
defm : DSAtomicRetNoRetPat_NoM0_mc<DS_PK_ADD_RTN_BF16, DS_PK_ADD_BF16, v2bf16, "atomic_load_fadd">;
12781278
}
12791279

1280-
let SubtargetPredicate = isGFX12Plus in {
1280+
let SubtargetPredicate = HasAtomicDsCondSubClampInsts in {
12811281

12821282
defm : DSAtomicRetNoRetPat_NoM0_mc<DS_COND_SUB_RTN_U32, DS_COND_SUB_U32, i32, "atomic_load_usub_cond">;
12831283

12841284
defm : DSAtomicRetNoRetPat_NoM0_mc<DS_SUB_CLAMP_RTN_U32, DS_SUB_CLAMP_U32, i32, "atomic_load_usub_sat">;
12851285

1286-
} // let SubtargetPredicate = isGFX12Plus
1286+
} // let SubtargetPredicate = HasAtomicDsCondSubClampInsts
12871287

12881288
let SubtargetPredicate = isGFX6GFX7GFX8GFX9GFX10 in {
12891289
defm : DSAtomicCmpXChgSwapped_mc<DS_CMPST_RTN_B32, DS_CMPST_B32, i32, "atomic_cmp_swap">;

llvm/lib/Target/AMDGPU/FLATInstructions.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2169,7 +2169,7 @@ defm : FlatAtomicPat <"FLAT_ATOMIC_MIN_F64", "atomic_load_fmin_"#as, f64>;
21692169
defm : FlatAtomicPat <"FLAT_ATOMIC_MAX_F64", "atomic_load_fmax_"#as, f64>;
21702170
}
21712171

2172-
let SubtargetPredicate = isGFX12Plus in {
2172+
let SubtargetPredicate = HasAtomicCondSubClampFlatInsts in {
21732173
defm : FlatAtomicRtnPat<"FLAT_ATOMIC_COND_SUB_U32", "atomic_load_usub_cond_" #as, i32 >;
21742174

21752175
defm : FlatAtomicNoRtnPat<"FLAT_ATOMIC_COND_SUB_U32", "atomic_load_usub_cond_"#as, i32>;

0 commit comments

Comments
 (0)