@@ -1312,11 +1312,13 @@ let SubtargetPredicate = isGFX90APlus in {
13121312 def BUFFER_INVL2 : MUBUF_Invalidate<"buffer_invl2"> {
13131313 let SubtargetPredicate = isGFX90AOnly;
13141314 }
1315+ } // End SubtargetPredicate = isGFX90APlus
13151316
1317+ let SubtargetPredicate = HasBufferFlatGlobalAtomicsF64 in {
13161318 defm BUFFER_ATOMIC_ADD_F64 : MUBUF_Pseudo_Atomics<"buffer_atomic_add_f64", VReg_64, f64>;
13171319 defm BUFFER_ATOMIC_MIN_F64 : MUBUF_Pseudo_Atomics<"buffer_atomic_min_f64", VReg_64, f64>;
13181320 defm BUFFER_ATOMIC_MAX_F64 : MUBUF_Pseudo_Atomics<"buffer_atomic_max_f64", VReg_64, f64>;
1319- } // End SubtargetPredicate = isGFX90APlus
1321+ } // End SubtargetPredicate = HasBufferFlatGlobalAtomicsF64
13201322
13211323def BUFFER_INV : MUBUF_Invalidate<"buffer_inv"> {
13221324 let SubtargetPredicate = isGFX940Plus;
@@ -1806,11 +1808,11 @@ let OtherPredicates = [HasAtomicBufferGlobalPkAddF16Insts] in {
18061808 defm : SIBufferAtomicPat_Common<"SIbuffer_atomic_fadd", v2f16, "BUFFER_ATOMIC_PK_ADD_F16_VBUFFER", ["ret"]>;
18071809} // End OtherPredicates = [HasAtomicBufferGlobalPkAddF16Insts]
18081810
1809- let OtherPredicates = [isGFX90APlus ] in {
1811+ let OtherPredicates = [HasBufferFlatGlobalAtomicsF64 ] in {
18101812 defm : SIBufferAtomicPat<"SIbuffer_atomic_fadd", f64, "BUFFER_ATOMIC_ADD_F64">;
18111813 defm : SIBufferAtomicPat<"SIbuffer_atomic_fmin", f64, "BUFFER_ATOMIC_MIN_F64">;
18121814 defm : SIBufferAtomicPat<"SIbuffer_atomic_fmax", f64, "BUFFER_ATOMIC_MAX_F64">;
1813- } // End SubtargetPredicate = isGFX90APlus
1815+ } // End SubtargetPredicate = HasBufferFlatGlobalAtomicsF64
18141816
18151817multiclass SIBufferAtomicCmpSwapPat_Common<ValueType vt, ValueType data_vt, string Inst> {
18161818 foreach RtnMode = ["ret", "noret"] in {
@@ -3339,7 +3341,7 @@ let SubtargetPredicate = isGFX90APlus in {
33393341 defm BUFFER_ATOMIC_ADD_F64 : MUBUF_Real_Atomic_vi<0x4f>;
33403342 defm BUFFER_ATOMIC_MIN_F64 : MUBUF_Real_Atomic_vi<0x50>;
33413343 defm BUFFER_ATOMIC_MAX_F64 : MUBUF_Real_Atomic_vi<0x51>;
3342- } // End SubtargetPredicate = isGFX90APlus, AssemblerPredicate = isGFX90APlus
3344+ } // End SubtargetPredicate = isGFX90APlus
33433345
33443346def BUFFER_WBL2_gfx90a : MUBUF_Real_gfx90a<0x28, BUFFER_WBL2> {
33453347 let AsmString = BUFFER_WBL2.Mnemonic; // drop flags
0 commit comments