[all-commits] [llvm/llvm-project] 5402d1: [GlobalISel][AArch64] Don't emit cset for G_FCMPs ...
Jessica Paquette via All-commits
all-commits at lists.llvm.org
Thu Oct 1 15:34:57 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 5402d11b1d8853ff10417b0f8d32edde3f4a51c0
https://github.com/llvm/llvm-project/commit/5402d11b1d8853ff10417b0f8d32edde3f4a51c0
Author: Jessica Paquette <jpaquette at apple.com>
Date: 2020-10-01 (Thu, 01 Oct 2020)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/fold-brcond-fcmp.mir
Log Message:
-----------
[GlobalISel][AArch64] Don't emit cset for G_FCMPs feeding into G_BRCONDs
Similar to the FP case in `AArch64TargetLowering::LowerBR_CC`.
Instead of emitting the csets + a tbnz, just emit a compare + bcc
(or two bccs, depending on the condition code)
This improves cases like this: https://godbolt.org/z/v8hebx
This is a 0.1% geomean code size improvement for CTMark at -O3.
Differential Revision: https://reviews.llvm.org/D88624
More information about the All-commits
mailing list