[PATCH] D127871: [RISCV] Optimize 2x SELECT for floating-point types
Liao Chunyu via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 15 19:48:34 PDT 2022
liaolucy added a comment.
The asm of testcase before this patch:
auipc a0, %pcrel_hi(.LCPI0_0)
addi a0, a0, %pcrel_lo(.LBB0_5)
flw ft0, 0(a0)
fmv.w.x ft1, zero
flt.s a1, fa0, ft1
flt.s a0, ft0, fa0
beqz a1, .LBB0_3
# %bb.1: # %entry
beqz a0, .LBB0_4
.LBB0_2: # %entry
fmv.s fa0, ft0
ret
.LBB0_3: # %entry
fmv.s ft1, fa0
bnez a0, .LBB0_2
.LBB0_4: # %entry
fmv.s ft0, ft1
fmv.s fa0, ft0
ret
after this patch :
# %bb.0: # %entry
fmv.w.x ft0, zero
flt.s a0, fa0, ft0
bnez a0, .LBB0_3
# %bb.1: # %entry
.LBB0_4: # %entry
# Label of block must be emitted
auipc a0, %pcrel_hi(.LCPI0_0)
addi a0, a0, %pcrel_lo(.LBB0_4)
flw ft0, 0(a0)
flt.s a0, ft0, fa0
bnez a0, .LBB0_3
# %bb.2: # %entry
fmv.s ft0, fa0
.LBB0_3: # %entry
fmv.s fa0, ft0
ret
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D127871/new/
https://reviews.llvm.org/D127871
More information about the llvm-commits
mailing list