Issue |
147769
|
Summary |
[LLVM] LLVM fails to optimize shuffles from 256-bit vectors to 128-bit or smaller vectors on LASX
|
Labels |
new issue
|
Assignees |
|
Reporter |
johnplatts
|
Here is a snippet that demonstrates a missed optimization on LASX (emits a store followed by a reload when the only thing possibly needed are shuffle instructions):
https://godbolt.org/z/PWMYY1eMj
Here is more optimized code for the above snippet on LASX:
```
ExtractLowerHalfOfVec256: # @ExtractLowerHalfOfVec256
ret
ExtractUpperHalfOfVec256: # @ExtractUpperHalfOfVec256
xvpermi.q $xr0, $xr0, 1
ret
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs