diff options
| author | Craig Topper <craig.topper@intel.com> | 2018-09-23 06:49:48 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2018-09-23 06:49:48 +0000 |
| commit | c296436a301845d96360ce978afe50522d2b3f12 (patch) | |
| tree | c7c4d000b5ba0ce3545f94144eb1fb654891c8bc /llvm/lib | |
| parent | 3e0b4b0eb7575654b34e67aff7452cab3c85d82d (diff) | |
| download | bcm5719-llvm-c296436a301845d96360ce978afe50522d2b3f12.tar.gz bcm5719-llvm-c296436a301845d96360ce978afe50522d2b3f12.zip | |
[X86] Add isel pattern for (v8i16 (sext (v8i1))) with DQI and no BWI.
Our lowering that tries to avoid this sign extend can be defeated by the DAG combine folding it with a truncate.
The pattern needs to extend to an v8i32 then truncate back down to v8i16.
llvm-svn: 342830
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrAVX512.td | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index bf57a2b5fde..d21777a0e91 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -9687,6 +9687,11 @@ let Predicates = [HasDQI, NoBWI] in { (VPMOVDWZrr (v16i32 (VPMOVM2DZrr VK16:$src)))>; } +let Predicates = [HasDQI, NoBWI, HasVLX] in { + def : Pat<(v8i16 (sext (v8i1 VK8:$src))), + (VPMOVDWZ256rr (v8i32 (VPMOVM2DZ256rr VK8:$src)))>; +} + //===----------------------------------------------------------------------===// // AVX-512 - COMPRESS and EXPAND // |

