[PATCH] D97487: Removing sqrtd2 and sqrtf4 from list of vectorizable function with MASSV

Masoud Ataei via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 26 14:10:56 PST 2021


masoud.ataei updated this revision to Diff 326799.
masoud.ataei added a comment.

Checking sqrtd2_massv and sqrtf4_massv is not generated.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D97487/new/

https://reviews.llvm.org/D97487

Files:
  llvm/include/llvm/Analysis/VecFuncs.def
  llvm/test/CodeGen/PowerPC/lower-massv.ll
  llvm/test/Transforms/LoopVectorize/PowerPC/massv-calls.ll


Index: llvm/test/Transforms/LoopVectorize/PowerPC/massv-calls.ll
===================================================================
--- llvm/test/Transforms/LoopVectorize/PowerPC/massv-calls.ll
+++ llvm/test/Transforms/LoopVectorize/PowerPC/massv-calls.ll
@@ -236,7 +236,7 @@
 
 define void @sqrt_f64(double* nocapture %varray) {
 ; CHECK-LABEL: @sqrt_f64(
-; CHECK: __sqrtd2_massv{{.*}}<2 x double>
+; CHECK-NOT: __sqrtd2_massv{{.*}}<2 x double>
 ; CHECK: ret void
 ;
 entry:
@@ -259,7 +259,7 @@
 
 define void @sqrt_f32(float* nocapture %varray) {
 ; CHECK-LABEL: @sqrt_f32(
-; CHECK: __sqrtf4_massv{{.*}}<4 x float>
+; CHECK-NOT: __sqrtf4_massv{{.*}}<4 x float>
 ; CHECK: ret void
 ;
 entry:
Index: llvm/test/CodeGen/PowerPC/lower-massv.ll
===================================================================
--- llvm/test/CodeGen/PowerPC/lower-massv.ll
+++ llvm/test/CodeGen/PowerPC/lower-massv.ll
@@ -8,9 +8,6 @@
 declare <2 x double> @__powd2_massv(<2 x double>, <2 x double>)
 declare <4 x float> @__powf4_massv(<4 x float>, <4 x float>)
 
-declare <2 x double> @__sqrtd2_massv(<2 x double>)
-declare <4 x float> @__sqrtf4_massv(<4 x float>)
-
 declare <2 x double> @__expd2_massv(<2 x double>)
 declare <4 x float> @__expf4_massv(<4 x float>)
 
@@ -118,29 +115,6 @@
   ret <4 x float> %1 
 }
 
-; sqrt
-define <2 x double>  @sqrt_f64_massv(<2 x double> %opnd) {
-; CHECK-ALL-LABEL: @sqrt_f64_massv
-; CHECK-PWR9: bl __sqrtd2_P9
-; CHECK-PWR8: bl __sqrtd2_P8
-; CHECK-NOT: bl __sqrtd2_massv
-; CHECK-ALL: blr
-;
-  %1 = call <2 x double> @__sqrtd2_massv(<2 x double> %opnd)
-  ret <2 x double> %1 
-}
-
-define <4 x float>  @sqrt_f32_massv(<4 x float> %opnd) {
-; CHECK-ALL-LABEL: @sqrt_f32_massv
-; CHECK-PWR9: bl __sqrtf4_P9
-; CHECK-PWR8: bl __sqrtf4_P8
-; CHECK-NOT: bl __sqrtf4_massv
-; CHECK-ALL: blr
-;
-  %1 = call <4 x float> @__sqrtf4_massv(<4 x float> %opnd)
-  ret <4 x float> %1 
-}
-
 ; exp
 define <2 x double>  @exp_f64_massv(<2 x double> %opnd) {
 ; CHECK-ALL-LABEL: @exp_f64_massv
Index: llvm/include/llvm/Analysis/VecFuncs.def
===================================================================
--- llvm/include/llvm/Analysis/VecFuncs.def
+++ llvm/include/llvm/Analysis/VecFuncs.def
@@ -156,10 +156,6 @@
 TLI_DEFINE_VECFUNC("llvm.pow.f64", "__powd2_massv", FIXED(2))
 TLI_DEFINE_VECFUNC("powf", "__powf4_massv", FIXED(4))
 TLI_DEFINE_VECFUNC("llvm.pow.f32", "__powf4_massv", FIXED(4))
-TLI_DEFINE_VECFUNC("sqrt", "__sqrtd2_massv", FIXED(2))
-TLI_DEFINE_VECFUNC("llvm.sqrt.f64", "__sqrtd2_massv", FIXED(2))
-TLI_DEFINE_VECFUNC("sqrtf", "__sqrtf4_massv", FIXED(4))
-TLI_DEFINE_VECFUNC("llvm.sqrt.f32", "__sqrtf4_massv", FIXED(4))
 
 // Exponential and Logarithmic Functions
 TLI_DEFINE_VECFUNC("exp", "__expd2_massv", FIXED(2))


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97487.326799.patch
Type: text/x-patch
Size: 2752 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210226/0d3d7fc5/attachment.bin>


More information about the llvm-commits mailing list