Changes

Summary

  1. [X86] Teach lower1BitShuffle to match KSHIFTR that doesn't use Zeroable (details)
  2. [X86] Fix the lower1BitShuffle code added in r369215 to correctly pass (details)
Commit 269c6b1c15a7d105aa39de728e293614de18f973 by craig.topper
[X86] Teach lower1BitShuffle to match KSHIFTR that doesn't use Zeroable
and only relies on undef.
This allows us to widen the type when the KSHIFTR instruction doesn't
exist for the type. If we need to shift in zeroes into the upper
elements we would need more work to guarantee zeroes when widening.
llvm-svn: 369227
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/kshift.ll
Commit e47437a6effcbfce191f6a37f6e421624426201e by craig.topper
[X86] Fix the lower1BitShuffle code added in r369215 to correctly pass
the widened vector to the KSHIFT node.
Not sure how to test this as we have tests that exercise this code, but
nothing failed for the types not matching. Since all the k-registers use
equivalent register classes everything just ends up working.
llvm-svn: 369228
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp