Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[AArch64] Avoid using intermediate integer registers for copying betw…
…een source and destination floating point registers In post-isel code, there are cases where there were redundant copies from a source FPR to an intermediate GPR in order to copy to a destination FPR. In this patch, we identify these patterns in post-isel peephole optimization and replace them with a direct FPR-to-FPR copy. One example for this will be the insertion of the scalar result of 'uaddlv' neon intrinsic function into a destination vector. During instruction selection phase, 'uaddlv' result is copied to a GPR, & a vector insert instruction is matched separately to copy the previous result to a destination SIMD&FP register. Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D142594
- Loading branch information
1 parent
0fecac1
commit 72105d1
Showing
10 changed files
with
305 additions
and
287 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.