AVX512:  Change VPMOVB2M  DAG lowering , use CVT2MASK node instead TRUNCATE. 
Fix TRUNCATE lowering vector to vector i1, use LSB and not MSB. 
Implement VPMOVB/W/D/Q2M intrinsic.
Details
Details
Diff Detail
Diff Detail
- Repository
 - rL LLVM
 
Event Timeline
Comment Actions
Please take the shifts patch separately.
| lib/Target/X86/X86ISelLowering.cpp | ||
|---|---|---|
| 13226 ↗ | (On Diff #43319) | 32i8?  | 
Comment Actions
Shifts patch committed separately.
Thanks for review
| lib/Target/X86/X86ISelLowering.cpp | ||
|---|---|---|
| 13226 ↗ | (On Diff #43319) | 32i8/16i8 can be implememnted by extending to 32i16/32i32 to avoid memory access  | 
Comment Actions
LGTM
| lib/Target/X86/X86ISelLowering.cpp | ||
|---|---|---|
| 13412 ↗ | (On Diff #43660) | Please add comments that you need SIGN_EXTEND from i8 to i16 because there is no SHIFT operation on byte level  |