[all-commits] [llvm/llvm-project] 2d0383: DAGCombiner optimization for pow(x, 0.75) and pow(x...
Masoud Ataei Jaliseh via All-commits
all-commits at lists.llvm.org
Fri Jun 12 07:03:03 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 2d038370bb6b02864822e9e764efeb0a2a3e13b5
https://github.com/llvm/llvm-project/commit/2d038370bb6b02864822e9e764efeb0a2a3e13b5
Author: Masoud Ataei <msd.ataei at gmail.com>
Date: 2020-06-12 (Fri, 12 Jun 2020)
Changed paths:
M llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp
A llvm/test/CodeGen/PowerPC/pow_massv_075_025exp.ll
A llvm/test/CodeGen/PowerPC/powf_massv_075_025exp.ll
Log Message:
-----------
DAGCombiner optimization for pow(x,0.75) and pow(x,0.25) on double and single precision even in case massv function is asked
Here, I am proposing to add an special case for massv powf4/powd2 function (SIMD counterpart of powf/pow function in MASSV library) in MASSV pass to get later optimizations like conversion from pow(x,0.75) and pow(x,0.25) for double and single precision to sequence of sqrt's in the DAGCombiner in vector float case. My reason for doing this is: the optimized pow(x,0.75) and pow(x,0.25) for double and single precision to sequence of sqrt's is faster than powf4/powd2 on P8 and P9.
In case MASSV functions is called, and if the exponent of pow is 0.75 or 0.25, we will get the sequence of sqrt's and if exponent is not 0.75 or 0.25 we will get the appropriate MASSV function.
Reviewed By: steven.zhang
Tags: #LLVM #PowerPC
Differential Revision: https://reviews.llvm.org/D80744
More information about the All-commits
mailing list