| Issue |
180713
|
| Summary |
[X86][GIobalIsel] Support G_SHUFFLE_VECTOR in X86 Target
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
mahesh-attarde
|
For X86 GISEL flow, we are unable to lower shuffles. We need add basic structure for shuffles in legalizer and Equivalent nodes in GISEL to complete this functionality. Since Shuffles have wide variety adding this top level tracker.
Overall support requires
| Category | Instructions | Usecase |
|----------|-------------|----------|
| Byte-level | PSHUFB | Arbitrary byte permutation |
| Word/Dword | PSHUFD, PSHUFHW, PSHUFLW | Element broadcast, rotation |
| Blending | BLEND, BLENDV | Merging two vectors |
| Interleaving | UNPACK | AoS↔SoA, widening |
| Cross-lane | VPERM, VPERM2X128 | Full permutation |
| Broadcast | VBROADCAST | Scalar splat |
Existing Issue reported on UNPACK https://github.com/llvm/llvm-project/issues/112367
Thanks
Mahesh
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs