SuccessChanges

Summary

  1. [X86] Use packusdw+vpmovuswb to implement v16i32->V16i8 that clamps (details)
Commit 0e561437c5873a0406fab6dd7e1ba8247847bb92 by craig.topper
[X86] Use packusdw+vpmovuswb to implement v16i32->V16i8 that clamps
signed inputs to be between 0 and 255 when zmm registers are disabled on
SKX.
If we've disable zmm registers, the v16i32 will need to be split. This
split will propagate through min/max the truncate. This creates two
sequences that need to be concatenated back to v16i8. We can instead use
packusdw to do part of the clamping, truncating, and concatenating all
at once. Then we can use a vpmovuswb to finish off the clamp.
Differential Revision: https://reviews.llvm.org/D68763
llvm-svn: 374431
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/min-legal-vector-width.ll