mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-08 08:54:58 +00:00
define double @foo(double %x, double %y, i1 %c) nounwind { %a = fdiv double %x, 3.2 %z = select i1 %c, double %a, double %y ret double %z } Was: _foo: divsd LCPI0_0(%rip), %xmm0 testb $1, %dil jne LBB0_2 movaps %xmm1, %xmm0 LBB0_2: ret Now: _foo: testb $1, %dil je LBB0_2 divsd LCPI0_0(%rip), %xmm0 ret LBB0_2: movaps %xmm1, %xmm0 ret This avoids the divsd when early exit is taken. rdar://8454886 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114372 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
2008-06-05-Carry.ll | ||
2008-07-03-SRet.ll | ||
2008-07-05-ByVal.ll | ||
2008-07-06-fadd64.ll | ||
2008-07-07-Float2Int.ll | ||
2008-07-07-FPExtend.ll | ||
2008-07-07-IntDoubleConvertions.ll | ||
2008-07-15-InternalConstant.ll | ||
2008-07-15-SmallSection.ll | ||
2008-07-16-SignExtInReg.ll | ||
2008-07-22-Cstpool.ll | ||
2008-07-23-fpcmp.ll | ||
2008-07-29-icmp.ll | ||
2008-07-31-fcopysign.ll | ||
2008-08-01-AsmInline.ll | ||
2008-08-03-fabs64.ll | ||
2008-08-03-ReturnDouble.ll | ||
2008-08-04-Bitconvert.ll | ||
2008-08-06-Alloca.ll | ||
2008-08-07-CC.ll | ||
2008-08-07-FPRound.ll | ||
2008-08-08-bswap.ll | ||
2008-08-08-ctlz.ll | ||
2008-10-13-LegalizerBug.ll | ||
2008-11-10-xint_to_fp.ll | ||
2009-11-16-CstPoolLoad.ll | ||
2010-04-07-DbgValueOtherTargets.ll | ||
2010-07-20-Select.ll | ||
2010-07-20-Switch.ll | ||
dg.exp | ||
private.ll |