summaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM/fpcmp-opt.ll
AgeCommit message (Collapse)AuthorFilesLines
2011-04-01LDRD/STRD instructions should print both Rt and Rt2 in the asm string.Jim Grosbach1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128736 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-23Radar 8803471: Fix expansion of ARM BCCi64 pseudo instructions.Bob Wilson1-0/+1
If the basic block containing the BCCi64 (or BCCZi64) instruction ends with an unconditional branch, that branch needs to be deleted before appending the expansion of the BCCi64 to the end of the block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122521 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-15Split -enable-finite-only-fp-math to two options:Evan Cheng1-1/+1
-enable-no-nans-fp-math and -enable-no-infs-fp-math. All of the current codegen fp math optimizations only care whether the fp arithmetics arguments and results can never be NaN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108465 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-13Extend the r107852 optimization which turns some fp compare to code sequence ↵Evan Cheng1-9/+62
using only i32 operations. It now optimize some f64 compares when fp compare is exceptionally slow (e.g. cortex-a8). It also catches comparison against 0.0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108258 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Check for FiniteOnlyFPMath as well.Evan Cheng1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107904 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08r107852 is only safe with -enable-unsafe-fp-math to account for +0.0 == -0.0.Evan Cheng1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107856 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Optimize some vfp comparisons to integer ones. This patch implements the ↵Evan Cheng1-0/+29
simplest case when the following conditions are met: 1. The arguments are f32. 2. The arguments are loads and they have no uses other than the comparison. 3. The comparison code is EQ or NE. e.g. vldr.32 s0, [r1] vldr.32 s1, [r0] vcmpe.f32 s1, s0 vmrs apsr_nzcv, fpscr beq LBB0_2 => ldr r1, [r1] ldr r0, [r0] cmp r0, r1 beq LBB0_2 More complicated cases will be implemented in subsequent patches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107852 91177308-0d34-0410-b5e6-96231b3b80d8