From faca71f31f583a4123612432e2f8253ff075930e Mon Sep 17 00:00:00 2001 From: Jinsong Ji Date: Wed, 21 Aug 2024 15:19:45 +0200 Subject: [PATCH] Revert "Add translation for Intrinsic::{atan,acos,asin,cosh,sinh,tanh} (#2657)" This reverts commit 94790769a6bfa2bc0579e9c93dbc39965775673e. --- llvm-spirv/lib/SPIRV/SPIRVUtil.cpp | 6 -- llvm-spirv/lib/SPIRV/SPIRVWriter.cpp | 18 ----- .../test/llvm-intrinsics/fp-intrinsics.ll | 78 ------------------- 3 files changed, 102 deletions(-) diff --git a/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp b/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp index 9f5cb04725398..3caa1cfe285c9 100644 --- a/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp +++ b/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp @@ -1848,13 +1848,9 @@ std::string decodeSPIRVTypeName(StringRef Name, // Returns true if type(s) and number of elements (if vector) is valid bool checkTypeForSPIRVExtendedInstLowering(IntrinsicInst *II, SPIRVModule *BM) { switch (II->getIntrinsicID()) { - case Intrinsic::acos: - case Intrinsic::asin: - case Intrinsic::atan: case Intrinsic::ceil: case Intrinsic::copysign: case Intrinsic::cos: - case Intrinsic::cosh: case Intrinsic::exp: case Intrinsic::exp2: case Intrinsic::fabs: @@ -1874,10 +1870,8 @@ bool checkTypeForSPIRVExtendedInstLowering(IntrinsicInst *II, SPIRVModule *BM) { case Intrinsic::round: case Intrinsic::roundeven: case Intrinsic::sin: - case Intrinsic::sinh: case Intrinsic::sqrt: case Intrinsic::tan: - case Intrinsic::tanh: case Intrinsic::trunc: { // Although some of the intrinsics above take multiple arguments, it is // sufficient to check arg 0 because the LLVM Verifier will have checked diff --git a/llvm-spirv/lib/SPIRV/SPIRVWriter.cpp b/llvm-spirv/lib/SPIRV/SPIRVWriter.cpp index 8dba81c03b56d..42b8d317edcfa 100644 --- a/llvm-spirv/lib/SPIRV/SPIRVWriter.cpp +++ b/llvm-spirv/lib/SPIRV/SPIRVWriter.cpp @@ -3885,20 +3885,12 @@ static SPIRVWord getBuiltinIdForIntrinsic(Intrinsic::ID IID) { // and assume that the operations have no side effects (FP status flags // aren't maintained), so the OpenCL builtin behavior should be // acceptable. - case Intrinsic::acos: - return OpenCLLIB::Acos; - case Intrinsic::asin: - return OpenCLLIB::Asin; - case Intrinsic::atan: - return OpenCLLIB::Atan; case Intrinsic::ceil: return OpenCLLIB::Ceil; case Intrinsic::copysign: return OpenCLLIB::Copysign; case Intrinsic::cos: return OpenCLLIB::Cos; - case Intrinsic::cosh: - return OpenCLLIB::Cosh; case Intrinsic::exp: return OpenCLLIB::Exp; case Intrinsic::exp2: @@ -3939,14 +3931,10 @@ static SPIRVWord getBuiltinIdForIntrinsic(Intrinsic::ID IID) { return OpenCLLIB::Rint; case Intrinsic::sin: return OpenCLLIB::Sin; - case Intrinsic::sinh: - return OpenCLLIB::Sinh; case Intrinsic::sqrt: return OpenCLLIB::Sqrt; case Intrinsic::tan: return OpenCLLIB::Tan; - case Intrinsic::tanh: - return OpenCLLIB::Tanh; case Intrinsic::trunc: return OpenCLLIB::Trunc; default: @@ -4079,12 +4067,8 @@ SPIRVValue *LLVMToSPIRVBase::transIntrinsicInst(IntrinsicInst *II, } // Unary FP intrinsic - case Intrinsic::acos: - case Intrinsic::asin: - case Intrinsic::atan: case Intrinsic::ceil: case Intrinsic::cos: - case Intrinsic::cosh: case Intrinsic::exp: case Intrinsic::exp2: case Intrinsic::fabs: @@ -4097,10 +4081,8 @@ SPIRVValue *LLVMToSPIRVBase::transIntrinsicInst(IntrinsicInst *II, case Intrinsic::round: case Intrinsic::roundeven: case Intrinsic::sin: - case Intrinsic::sinh: case Intrinsic::sqrt: case Intrinsic::tan: - case Intrinsic::tanh: case Intrinsic::trunc: { if (!checkTypeForSPIRVExtendedInstLowering(II, BM)) break; diff --git a/llvm-spirv/test/llvm-intrinsics/fp-intrinsics.ll b/llvm-spirv/test/llvm-intrinsics/fp-intrinsics.ll index 5f4de31eb50ea..716dcbbfa8854 100644 --- a/llvm-spirv/test/llvm-intrinsics/fp-intrinsics.ll +++ b/llvm-spirv/test/llvm-intrinsics/fp-intrinsics.ll @@ -344,81 +344,3 @@ entry: } declare float @llvm.fma.f32(float, float, float) - -; CHECK: Function -; CHECK: FunctionParameter {{[0-9]+}} [[x:[0-9]+]] -; CHECK: ExtInst [[var1]] {{[0-9]+}} [[extinst_id]] acos [[x]] -; CHECK: FunctionEnd - -define spir_func float @TestAcos(float %x) { -entry: - %t = tail call float @llvm.acos.f32(float %x) - ret float %t -} - -declare float @llvm.acos.f32(float) - -; CHECK: Function -; CHECK: FunctionParameter {{[0-9]+}} [[x:[0-9]+]] -; CHECK: ExtInst [[var1]] {{[0-9]+}} [[extinst_id]] asin [[x]] -; CHECK: FunctionEnd - -define spir_func float @TestAsin(float %x) { -entry: - %t = tail call float @llvm.asin.f32(float %x) - ret float %t -} - -declare float @llvm.asin.f32(float) - -; CHECK: Function -; CHECK: FunctionParameter {{[0-9]+}} [[x:[0-9]+]] -; CHECK: ExtInst [[var1]] {{[0-9]+}} [[extinst_id]] atan [[x]] -; CHECK: FunctionEnd - -define spir_func float @TestAtan(float %x) { -entry: - %t = tail call float @llvm.atan.f32(float %x) - ret float %t -} - -declare float @llvm.atan.f32(float) - -; CHECK: Function -; CHECK: FunctionParameter {{[0-9]+}} [[x:[0-9]+]] -; CHECK: ExtInst [[var1]] {{[0-9]+}} [[extinst_id]] cosh [[x]] -; CHECK: FunctionEnd - -define spir_func float @TestCosh(float %x) { -entry: - %t = tail call float @llvm.cosh.f32(float %x) - ret float %t -} - -declare float @llvm.cosh.f32(float) - -; CHECK: Function -; CHECK: FunctionParameter {{[0-9]+}} [[x:[0-9]+]] -; CHECK: ExtInst [[var1]] {{[0-9]+}} [[extinst_id]] sinh [[x]] -; CHECK: FunctionEnd - -define spir_func float @TestSinh(float %x) { -entry: - %t = tail call float @llvm.sinh.f32(float %x) - ret float %t -} - -declare float @llvm.sinh.f32(float) - -; CHECK: Function -; CHECK: FunctionParameter {{[0-9]+}} [[x:[0-9]+]] -; CHECK: ExtInst [[var1]] {{[0-9]+}} [[extinst_id]] tanh [[x]] -; CHECK: FunctionEnd - -define spir_func float @TestTanh(float %x) { -entry: - %t = tail call float @llvm.tanh.f32(float %x) - ret float %t -} - -declare float @llvm.tanh.f32(float)