Skip to content

Commit afd4758

Browse files
authored
Revert "[NVPTX] Add support for atomic add for f16 type" (#84918)
Reverts #84295 due to breakages.
1 parent 9f7ed36 commit afd4758

File tree

4 files changed

+0
-146
lines changed

4 files changed

+0
-146
lines changed

llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6100,9 +6100,6 @@ NVPTXTargetLowering::shouldExpandAtomicRMWInIR(AtomicRMWInst *AI) const {
61006100

61016101
if (AI->isFloatingPointOperation()) {
61026102
if (AI->getOperation() == AtomicRMWInst::BinOp::FAdd) {
6103-
if (Ty->isHalfTy() && STI.getSmVersion() >= 70 &&
6104-
STI.getPTXVersion() >= 63)
6105-
return AtomicExpansionKind::None;
61066103
if (Ty->isFloatTy())
61076104
return AtomicExpansionKind::None;
61086105
if (Ty->isDoubleTy() && STI.hasAtomAddF64())

llvm/lib/Target/NVPTX/NVPTXIntrinsics.td

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1630,13 +1630,6 @@ defm INT_PTX_ATOM_ADD_GEN_64 : F_ATOMIC_2<i64, Int64Regs, "", ".u64", ".add",
16301630
defm INT_PTX_ATOM_ADD_GEN_64_USE_G : F_ATOMIC_2<i64, Int64Regs, ".global", ".u64",
16311631
".add", atomic_load_add_64_gen, i64imm, imm>;
16321632

1633-
defm INT_PTX_ATOM_ADD_G_F16 : F_ATOMIC_2<f16, Int16Regs, ".global", ".f16", ".add.noftz",
1634-
atomic_load_add_g, f16imm, fpimm, [hasSM<70>, hasPTX<63>]>;
1635-
defm INT_PTX_ATOM_ADD_S_F16 : F_ATOMIC_2<f16, Int16Regs, ".shared", ".f16", ".add.noftz",
1636-
atomic_load_add_s, f16imm, fpimm, [hasSM<70>, hasPTX<63>]>;
1637-
defm INT_PTX_ATOM_ADD_GEN_F16 : F_ATOMIC_2<f16, Int16Regs, "", ".f16", ".add.noftz",
1638-
atomic_load_add_gen, f16imm, fpimm, [hasSM<70>, hasPTX<63>]>;
1639-
16401633
defm INT_PTX_ATOM_ADD_G_F32 : F_ATOMIC_2<f32, Float32Regs, ".global", ".f32", ".add",
16411634
atomic_load_add_g, f32imm, fpimm>;
16421635
defm INT_PTX_ATOM_ADD_S_F32 : F_ATOMIC_2<f32, Float32Regs, ".shared", ".f32", ".add",
@@ -2014,9 +2007,6 @@ multiclass ATOM2P_impl<string AsmStr, Intrinsic Intr,
20142007
SDNode Imm, ValueType ImmTy,
20152008
list<Predicate> Preds> {
20162009
let AddedComplexity = 1 in {
2017-
def : ATOM23_impl<AsmStr, regT, regclass, Preds,
2018-
(ins Int16Regs:$src, regclass:$b),
2019-
(Intr (i16 Int16Regs:$src), (regT regclass:$b))>;
20202010
def : ATOM23_impl<AsmStr, regT, regclass, Preds,
20212011
(ins Int32Regs:$src, regclass:$b),
20222012
(Intr (i32 Int32Regs:$src), (regT regclass:$b))>;
@@ -2027,9 +2017,6 @@ multiclass ATOM2P_impl<string AsmStr, Intrinsic Intr,
20272017
// tablegen can't infer argument types from Intrinsic (though it can
20282018
// from Instruction) so we have to enforce specific type on
20292019
// immediates via explicit cast to ImmTy.
2030-
def : ATOM23_impl<AsmStr, regT, regclass, Preds,
2031-
(ins Int16Regs:$src, ImmType:$b),
2032-
(Intr (i16 Int16Regs:$src), (ImmTy Imm:$b))>;
20332020
def : ATOM23_impl<AsmStr, regT, regclass, Preds,
20342021
(ins Int32Regs:$src, ImmType:$b),
20352022
(Intr (i32 Int32Regs:$src), (ImmTy Imm:$b))>;
@@ -2149,8 +2136,6 @@ multiclass ATOM2_add_impl<string OpStr> {
21492136
defm _s32 : ATOM2S_impl<OpStr, "i", "s32", i32, Int32Regs, i32imm, imm, i32, []>;
21502137
defm _u32 : ATOM2S_impl<OpStr, "i", "u32", i32, Int32Regs, i32imm, imm, i32, []>;
21512138
defm _u64 : ATOM2S_impl<OpStr, "i", "u64", i64, Int64Regs, i64imm, imm, i64, []>;
2152-
defm _f16 : ATOM2S_impl<OpStr, "f", "f16", f16, Int16Regs, f16imm, fpimm, f16,
2153-
[hasSM<70>, hasPTX<63>]>;
21542139
defm _f32 : ATOM2S_impl<OpStr, "f", "f32", f32, Float32Regs, f32imm, fpimm, f32,
21552140
[]>;
21562141
defm _f64 : ATOM2S_impl<OpStr, "f", "f64", f64, Float64Regs, f64imm, fpimm, f64,

llvm/test/CodeGen/NVPTX/atomics-sm70.ll

Lines changed: 0 additions & 121 deletions
This file was deleted.

llvm/test/CodeGen/NVPTX/atomics.ll

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -175,13 +175,6 @@ define float @atomicrmw_add_f32_generic(ptr %addr, float %val) {
175175
ret float %ret
176176
}
177177

178-
; CHECK-LABEL: atomicrmw_add_f16_generic
179-
define half @atomicrmw_add_f16_generic(ptr %addr, half %val) {
180-
; CHECK: atom.cas
181-
%ret = atomicrmw fadd ptr %addr, half %val seq_cst
182-
ret half %ret
183-
}
184-
185178
; CHECK-LABEL: atomicrmw_add_f32_addrspace1
186179
define float @atomicrmw_add_f32_addrspace1(ptr addrspace(1) %addr, float %val) {
187180
; CHECK: atom.global.add.f32

0 commit comments

Comments
 (0)