summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/RISCV/Utils/RISCVMatInt.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-11-15 08:23:40 +0000
committerCraig Topper <craig.topper@intel.com>2018-11-15 08:23:40 +0000
commit553ac560aa6b7c0a6df876ad06e3477b8ddafa7a (patch)
tree100963f1fb81a1c1d93a75f3e8fda8037a851b5b /llvm/lib/Target/RISCV/Utils/RISCVMatInt.cpp
parent926dbdd6016f20b374ebbe33a7019f9e265bf5f8 (diff)
downloadbcm5719-llvm-553ac560aa6b7c0a6df876ad06e3477b8ddafa7a.tar.gz
bcm5719-llvm-553ac560aa6b7c0a6df876ad06e3477b8ddafa7a.zip
[X86] Add some custom type legalization rules for truncate with -x86-experimental-vector-widening-legalization.
This avoids some nasty shuffles when we have avx512. It will also prevent using zmm truncate instructions when a ymm instruction that zeroes part of an xmm register will do. Also avoid using avx512 truncate instructions when the input is 128 bits or less. These instructions are 2 uops on skx so we can probably find a better single uop shuffle like pshufb. llvm-svn: 346936
Diffstat (limited to 'llvm/lib/Target/RISCV/Utils/RISCVMatInt.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud