aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorNilanjana Basu <n_basu@apple.com>2023-01-25 17:35:31 -0800
committerNilanjana Basu <n_basu@apple.com>2023-02-27 12:20:10 -0800
commit72105d10d5296ac175eb1339c4f71b67905fde61 (patch)
treefe440ace4fa4b6660390ebe4827a28ab3b1bf037 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parent0fecac18ffad476b5a4682770f6d8b1f0f176b40 (diff)
downloadllvm-72105d10d5296ac175eb1339c4f71b67905fde61.zip
llvm-72105d10d5296ac175eb1339c4f71b67905fde61.tar.gz
llvm-72105d10d5296ac175eb1339c4f71b67905fde61.tar.bz2
[AArch64] Avoid using intermediate integer registers for copying between 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
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions