| Issue |
204550
|
| Summary |
[X86] CompressEVEX - extend tryCompressVPMOVPattern to handle VBLENDV patterns as well
|
| Labels |
backend:X86,
missed-optimization
|
| Assignees |
|
| Reporter |
RKSimon
|
tryCompressVPMOVPattern handles:
```
// Try to compress VPMOV*2M + KMOV chain patterns:
// vpmov*2m %xmm0, %k0 -> (erase this)
// kmov* %k0, %eax -> vmovmskp* %xmm0, %eax
```
but we should be able to do something VERY similar for BLENDV masked moves:
```
// vpmov*2m %xmmZ, %k0 -> (erase this)
// vpmovaps %xmmX, %xmmY {%k0} -> vblendvps %xmmZ, %xmmX, %xmmY, %xmmY
```
Should work for VBLENDVB/PS/PD 128 and 256-bit cases.
There might be some issues with register liveness to address - not sure.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs