[X86] Lower extract_element from k-registers by bitcasting from v16i1 to i16 and...
authorCraig Topper <craig.topper@intel.com>
Wed, 28 Feb 2018 22:23:55 +0000 (22:23 +0000)
committerCraig Topper <craig.topper@intel.com>
Wed, 28 Feb 2018 22:23:55 +0000 (22:23 +0000)
commite31b9d1e5f1af55e4eea4826a91b8a0c5f6ec71d
treee64ef9ad598c449b367c82a1350a484c0f03362c
parent4142369204efa08adfcc70e5b0af476d6403a968
[X86] Lower extract_element from k-registers by bitcasting from v16i1 to i16 and extending/truncating.

This is equivalent to what isel was doing anyway but by canonicalizing earlier we can remove some patterns.

llvm-svn: 326375
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
llvm/test/CodeGen/X86/avx512-insert-extract.ll
llvm/test/CodeGen/X86/pr33349.ll