summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-05-26 18:55:24 +0000
committerCraig Topper <craig.topper@intel.com>2018-05-26 18:55:24 +0000
commite091523c8297ba915d23002bc39b592ae5115e3f (patch)
tree2e81422b788b4ec73f7c14ab5a9ebea091dab62d /llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
parent51eddb87495e1fbcbcbe6bb2c6213a609d038491 (diff)
downloadbcm5719-llvm-e091523c8297ba915d23002bc39b592ae5115e3f.tar.gz
bcm5719-llvm-e091523c8297ba915d23002bc39b592ae5115e3f.zip
[X86] Rewrite the max and min reduction intrinsics to make better use of other functions and to reduce width to 256 and 128 bits were possible.
Summary: We only need to use 512 bit vectors all the way through v8i64 reductions since those max instructions are new to avx512f and only available in 512 bits until SKX. For v16i32 and floating point we have legacy 128/256 bit instructions we can use. I've tried to use other intrinsics to reduce the verbosity of the code and avoid having to mention all the shuffles. I've also removed all the -1 shuffle indices so the output sequence is fully specified and not left to backend optimization. Reviewers: RKSimon, spatel, GBuella Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D47401 llvm-svn: 333347
Diffstat (limited to 'llvm/lib/Transforms/Utils/FunctionImportUtils.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud