diff options
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 14 | ||||
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h | 1 | ||||
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUIntrinsics.td | 1 | ||||
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/llvm.AMDGPU.abs.ll | 47 |
4 files changed, 0 insertions, 63 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp index de0996a7908..58db515b673 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp @@ -917,9 +917,6 @@ SDValue AMDGPUTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op, switch (IntrinsicID) { default: return Op; - case AMDGPUIntrinsic::AMDGPU_abs: - case AMDGPUIntrinsic::AMDIL_abs: // Legacy name. - return LowerIntrinsicIABS(Op, DAG); case AMDGPUIntrinsic::AMDGPU_lrp: return LowerIntrinsicLRP(Op, DAG); @@ -1058,17 +1055,6 @@ SDValue AMDGPUTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op, } } -///IABS(a) = SMAX(sub(0, a), a) -SDValue AMDGPUTargetLowering::LowerIntrinsicIABS(SDValue Op, - SelectionDAG &DAG) const { - SDLoc DL(Op); - EVT VT = Op.getValueType(); - SDValue Neg = DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT), - Op.getOperand(1)); - - return DAG.getNode(ISD::SMAX, DL, VT, Neg, Op.getOperand(1)); -} - /// Linear Interpolation /// LRP(a, b, c) = muladd(a, b, (1 - a) * c) SDValue AMDGPUTargetLowering::LowerIntrinsicLRP(SDValue Op, diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h index eae62b7642e..5a1bec4559e 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h +++ b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h @@ -176,7 +176,6 @@ public: SmallVectorImpl<SDValue> &Results, SelectionDAG &DAG) const override; - SDValue LowerIntrinsicIABS(SDValue Op, SelectionDAG &DAG) const; SDValue LowerIntrinsicLRP(SDValue Op, SelectionDAG &DAG) const; SDValue CombineFMinMaxLegacy(SDLoc DL, EVT VT, diff --git a/llvm/lib/Target/AMDGPU/AMDGPUIntrinsics.td b/llvm/lib/Target/AMDGPU/AMDGPUIntrinsics.td index 9cb8a61508d..530651e3c73 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUIntrinsics.td +++ b/llvm/lib/Target/AMDGPU/AMDGPUIntrinsics.td @@ -71,7 +71,6 @@ let TargetPrefix = "AMDGPU", isTarget = 1 in { // Legacy names for compatibility. let TargetPrefix = "AMDIL", isTarget = 1 in { - def int_AMDIL_abs : Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>], [IntrNoMem]>; def int_AMDIL_fraction : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem]>; def int_AMDIL_clamp : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>], [IntrNoMem]>; def int_AMDIL_exp : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem]>; diff --git a/llvm/test/CodeGen/AMDGPU/llvm.AMDGPU.abs.ll b/llvm/test/CodeGen/AMDGPU/llvm.AMDGPU.abs.ll deleted file mode 100644 index ca8ddbae9fb..00000000000 --- a/llvm/test/CodeGen/AMDGPU/llvm.AMDGPU.abs.ll +++ /dev/null @@ -1,47 +0,0 @@ -; RUN: llc -march=amdgcn -mcpu=SI -verify-machineinstrs < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s -; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s -; RUN: llc -march=r600 -mcpu=cypress -verify-machineinstrs < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s - -declare i32 @llvm.AMDGPU.abs(i32) nounwind readnone - -; Legacy name -declare i32 @llvm.AMDIL.abs.i32(i32) nounwind readnone - -; FUNC-LABEL: {{^}}s_abs_i32: -; SI: s_abs_i32 - -; EG: SUB_INT -; EG: MAX_INT -define void @s_abs_i32(i32 addrspace(1)* %out, i32 %src) nounwind { - %abs = call i32 @llvm.AMDGPU.abs(i32 %src) nounwind readnone - store i32 %abs, i32 addrspace(1)* %out, align 4 - ret void -} - -; FUNC-LABEL: {{^}}v_abs_i32: -; SI: v_sub_i32_e32 -; SI: v_max_i32_e32 -; SI: s_endpgm - -; EG: SUB_INT -; EG: MAX_INT -define void @v_abs_i32(i32 addrspace(1)* %out, i32 addrspace(1)* %src) nounwind { - %val = load i32, i32 addrspace(1)* %src, align 4 - %abs = call i32 @llvm.AMDGPU.abs(i32 %val) nounwind readnone - store i32 %abs, i32 addrspace(1)* %out, align 4 - ret void -} - -; FUNC-LABEL: {{^}}abs_i32_legacy_amdil: -; SI: v_sub_i32_e32 -; SI: v_max_i32_e32 -; SI: s_endpgm - -; EG: SUB_INT -; EG: MAX_INT -define void @abs_i32_legacy_amdil(i32 addrspace(1)* %out, i32 addrspace(1)* %src) nounwind { - %val = load i32, i32 addrspace(1)* %src, align 4 - %abs = call i32 @llvm.AMDIL.abs.i32(i32 %val) nounwind readnone - store i32 %abs, i32 addrspace(1)* %out, align 4 - ret void -} |