LLVM doesn't seem to use BCAX when constants are involved
Open
backend:AArch64
missed-optimization
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
LLVM can emit BCAX when it's profitable if the values come from memory, but constant values appear to inhibit the emission of BCAX. Noticed this issue while optimizing RPCS3's SPU LLVM backend.
Here is a godbolt that reproduces the issue: https://godbolt.org/z/Yr1M478vP
Contributor guide
Assessment
This issue has not been assessed yet.