summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/BitTracker.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-10-13 21:56:48 +0000
committerCraig Topper <craig.topper@intel.com>2017-10-13 21:56:48 +0000
commitf6c69564e7f36aca1098e69102d0467f0547c369 (patch)
tree790882e4eabae71d5dd41a7f81bec197d732d2b5 /llvm/lib/Target/Hexagon/BitTracker.cpp
parent526b70a0892113d30a387c9ae430c07e20e5af2b (diff)
downloadbcm5719-llvm-f6c69564e7f36aca1098e69102d0467f0547c369.tar.gz
bcm5719-llvm-f6c69564e7f36aca1098e69102d0467f0547c369.zip
[X86] Use X86ISD::VBROADCAST in place of v2f64 X86ISD::MOVDDUP when AVX2 is available
This is particularly important for AVX512VL where we are better able to recognize the VBROADCAST loads to fold with other operations. For AVX512VL we now use X86ISD::VBROADCAST for all of the patterns and remove the 128-bit X86ISD::VMOVDDUP. We may be able to use this for AVX1 as well which would allow us to remove more isel patterns. I also had to add X86ISD::VBROADCAST as a node to call combineShuffle for so that we treat it similar to X86ISD::MOVDDUP. Differential Revision: https://reviews.llvm.org/D38836 llvm-svn: 315768
Diffstat (limited to 'llvm/lib/Target/Hexagon/BitTracker.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud