diff --git a/llvm/lib/Target/AMDGPU/FLATInstructions.td b/llvm/lib/Target/AMDGPU/FLATInstructions.td index 2625b44e7e8b5..02a5d50ff3ae6 100644 --- a/llvm/lib/Target/AMDGPU/FLATInstructions.td +++ b/llvm/lib/Target/AMDGPU/FLATInstructions.td @@ -2073,7 +2073,7 @@ multiclass FLAT_Real_AllAddr_SVE_vi op> { def _SADDR_vi : FLAT_Real_vi(NAME#"_SADDR")> { let DecoderNamespace = "GFX9"; } - let AssemblerPredicate = isGFX940Plus, SubtargetPredicate = isGFX940Plus in { + let AssemblerPredicate = isGFX940Plus in { def _VE_gfx940 : FLAT_Real_gfx940(NAME)>; def _SVS_gfx940 : FLAT_Real_gfx940(NAME#"_SVS")>; def _ST_gfx940 : FLAT_Real_gfx940(NAME#"_ST")>; @@ -2101,10 +2101,8 @@ multiclass FLAT_Real_AllAddr_LDS op, bits<7> pre_gfx940_op, multiclass FLAT_Real_AllAddr_SVE_LDS op, bits<7> pre_gfx940_op> { defm "" : FLAT_Real_AllAddr_LDS; - let SubtargetPredicate = isGFX940Plus in { - def _SVS_gfx940 : FLAT_Real_gfx940(NAME#"_SVS")>; - def _ST_gfx940 : FLAT_Real_gfx940(NAME#"_ST")>; - } + def _SVS_gfx940 : FLAT_Real_gfx940(NAME#"_SVS")>; + def _ST_gfx940 : FLAT_Real_gfx940(NAME#"_ST")>; } def FLAT_LOAD_UBYTE_vi : FLAT_Real_vi <0x10, FLAT_LOAD_UBYTE>; @@ -2265,20 +2263,18 @@ defm SCRATCH_STORE_DWORDX2 : FLAT_Real_AllAddr_SVE_vi <0x1d>; defm SCRATCH_STORE_DWORDX3 : FLAT_Real_AllAddr_SVE_vi <0x1e>; defm SCRATCH_STORE_DWORDX4 : FLAT_Real_AllAddr_SVE_vi <0x1f>; -let SubtargetPredicate = isGFX8GFX9NotGFX940 in { +let AssemblerPredicate = isGFX8GFX9NotGFX940 in { // These instructions are encoded differently on gfx90* and gfx94*. defm GLOBAL_ATOMIC_ADD_F32 : FLAT_Global_Real_Atomics_vi <0x04d, 0>; defm GLOBAL_ATOMIC_PK_ADD_F16 : FLAT_Global_Real_Atomics_vi <0x04e, 0>; } -let SubtargetPredicate = isGFX90AOnly in { - defm FLAT_ATOMIC_ADD_F64 : FLAT_Real_Atomics_vi<0x4f, 0>; - defm FLAT_ATOMIC_MIN_F64 : FLAT_Real_Atomics_vi<0x50, 0>; - defm FLAT_ATOMIC_MAX_F64 : FLAT_Real_Atomics_vi<0x51, 0>; - defm GLOBAL_ATOMIC_ADD_F64 : FLAT_Global_Real_Atomics_vi<0x4f, 0>; - defm GLOBAL_ATOMIC_MIN_F64 : FLAT_Global_Real_Atomics_vi<0x50, 0>; - defm GLOBAL_ATOMIC_MAX_F64 : FLAT_Global_Real_Atomics_vi<0x51, 0>; -} // End SubtargetPredicate = isGFX90AOnly +defm FLAT_ATOMIC_ADD_F64 : FLAT_Real_Atomics_vi<0x4f, 0>; +defm FLAT_ATOMIC_MIN_F64 : FLAT_Real_Atomics_vi<0x50, 0>; +defm FLAT_ATOMIC_MAX_F64 : FLAT_Real_Atomics_vi<0x51, 0>; +defm GLOBAL_ATOMIC_ADD_F64 : FLAT_Global_Real_Atomics_vi<0x4f, 0>; +defm GLOBAL_ATOMIC_MIN_F64 : FLAT_Global_Real_Atomics_vi<0x50, 0>; +defm GLOBAL_ATOMIC_MAX_F64 : FLAT_Global_Real_Atomics_vi<0x51, 0>; multiclass FLAT_Real_AllAddr_gfx940 op> { def _gfx940 : FLAT_Real_gfx940(NAME)>; @@ -2297,7 +2293,7 @@ multiclass FLAT_Global_Real_Atomics_gfx940 op> : def _SADDR_RTN_gfx940 : FLAT_Real_gfx940 (NAME#"_SADDR_RTN")>; } -let SubtargetPredicate = isGFX940Plus in { +let AssemblerPredicate = isGFX940Plus in { // These instructions are encoded differently on gfx90* and gfx940. defm GLOBAL_ATOMIC_ADD_F32 : FLAT_Global_Real_Atomics_gfx940 <0x04d>; defm GLOBAL_ATOMIC_PK_ADD_F16 : FLAT_Global_Real_Atomics_gfx940 <0x04e>; @@ -2312,7 +2308,7 @@ let SubtargetPredicate = isGFX940Plus in { defm FLAT_ATOMIC_PK_ADD_F16 : FLAT_Real_Atomics_vi<0x4e>; defm FLAT_ATOMIC_PK_ADD_BF16 : FLAT_Real_Atomics_vi<0x52>; defm GLOBAL_ATOMIC_PK_ADD_BF16 : FLAT_Global_Real_Atomics_vi<0x52>; -} // End SubtargetPredicate = isGFX940Plus +} // End AssemblerPredicate = isGFX940Plus //===----------------------------------------------------------------------===// // GFX10.