diff options
author | Craig Topper <craig.topper@intel.com> | 2018-11-15 08:23:40 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2018-11-15 08:23:40 +0000 |
commit | 553ac560aa6b7c0a6df876ad06e3477b8ddafa7a (patch) | |
tree | 100963f1fb81a1c1d93a75f3e8fda8037a851b5b /llvm/lib/Target/RISCV/Utils/RISCVMatInt.cpp | |
parent | 926dbdd6016f20b374ebbe33a7019f9e265bf5f8 (diff) | |
download | bcm5719-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