From ae3a0be92e33bc716722aa600983fc1535acb122 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 4 Jun 2009 22:49:04 +0000 Subject: Split the Add, Sub, and Mul instruction opcodes into separate integer and floating-point opcodes, introducing FAdd, FSub, and FMul. For now, the AsmParser, BitcodeReader, and IRBuilder all preserve backwards compatability, and the Core LLVM APIs preserve backwards compatibility for IR producers. Most front-ends won't need to change immediately. This implements the first step of the plan outlined here: http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72897 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll | 8 +- test/CodeGen/ARM/2009-02-27-SpillerBug.ll | 280 ++--- test/CodeGen/ARM/2009-03-07-SpillerBug.ll | 56 +- test/CodeGen/ARM/2009-04-08-FloatUndef.ll | 4 +- test/CodeGen/ARM/cse-libcalls.ll | 2 +- test/CodeGen/ARM/fixunsdfdi.ll | 2 +- test/CodeGen/ARM/fnmul.ll | 4 +- test/CodeGen/ARM/fparith.ll | 16 +- test/CodeGen/ARM/fpmem.ll | 4 +- test/CodeGen/ARM/illegal-vector-bitcast.ll | 2 +- test/CodeGen/ARM/vfp.ll | 8 +- test/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll | 4 +- .../CBackend/2008-10-21-PPCLongDoubleConstant.ll | 2 +- test/CodeGen/CBackend/vectors.ll | 2 +- test/CodeGen/CellSPU/dp_farith.ll | 48 +- test/CodeGen/CellSPU/fneg-fabs.ll | 8 +- test/CodeGen/CellSPU/sp_farith.ll | 44 +- test/CodeGen/Generic/2006-07-03-schedulers.ll | 14 +- .../Generic/2007-05-15-InfiniteRecursion.ll | 6 +- .../CodeGen/Generic/2008-02-04-ExtractSubvector.ll | 2 +- test/CodeGen/Generic/2008-02-25-NegateZero.ll | 4 +- test/CodeGen/Generic/2008-02-26-NegatableCrash.ll | 8 +- test/CodeGen/Generic/fneg-fabs.ll | 4 +- test/CodeGen/Generic/print-arith-fp.ll | 6 +- test/CodeGen/Generic/select.ll | 8 +- test/CodeGen/Generic/storetrunc-fp.ll | 2 +- test/CodeGen/Generic/v-split.ll | 2 +- test/CodeGen/Generic/vector.ll | 20 +- test/CodeGen/MSP430/2009-05-19-DoubleSplit.ll | 2 +- test/CodeGen/Mips/2008-07-06-fadd64.ll | 2 +- test/CodeGen/Mips/2008-07-22-Cstpool.ll | 4 +- test/CodeGen/Mips/2008-07-23-fpcmp.ll | 2 +- test/CodeGen/Mips/2008-08-03-fabs64.ll | 2 +- test/CodeGen/Mips/2008-11-10-xint_to_fp.ll | 8 +- .../PowerPC/2006-01-11-darwin-fp-argument.ll | 2 +- .../PowerPC/2006-10-11-combiner-aa-regression.ll | 6 +- test/CodeGen/PowerPC/2007-03-30-SpillerCrash.ll | 88 +- test/CodeGen/PowerPC/2007-11-19-VectorSplitting.ll | 4 +- test/CodeGen/PowerPC/2008-07-15-Fabs.ll | 8 +- test/CodeGen/PowerPC/2008-07-17-Fneg.ll | 2 +- test/CodeGen/PowerPC/2008-09-12-CoalescerBug.ll | 40 +- test/CodeGen/PowerPC/2008-10-28-UnprocessedNode.ll | 6 +- test/CodeGen/PowerPC/2008-10-28-f128-i32.ll | 6 +- test/CodeGen/PowerPC/buildvec_canonicalize.ll | 2 +- test/CodeGen/PowerPC/fma.ll | 40 +- test/CodeGen/PowerPC/fnabs.ll | 2 +- test/CodeGen/PowerPC/fneg.ll | 8 +- test/CodeGen/PowerPC/int-fp-conv-1.ll | 2 +- test/CodeGen/PowerPC/itofp128.ll | 2 +- test/CodeGen/PowerPC/mem-rr-addr-mode.ll | 4 +- test/CodeGen/PowerPC/multiple-return-values.ll | 2 +- test/CodeGen/PowerPC/ppcf128-1-opt.ll | 6 +- test/CodeGen/PowerPC/ppcf128-1.ll | 6 +- test/CodeGen/PowerPC/ppcf128-2.ll | 2 +- test/CodeGen/PowerPC/ppcf128-4.ll | 4 +- test/CodeGen/PowerPC/return-val-i128.ll | 2 +- test/CodeGen/PowerPC/unsafe-math.ll | 4 +- test/CodeGen/PowerPC/vec_fneg.ll | 2 +- test/CodeGen/PowerPC/vec_splat.ll | 2 +- test/CodeGen/PowerPC/vec_zero.ll | 2 +- test/CodeGen/PowerPC/vector.ll | 20 +- .../CodeGen/SPARC/2006-01-22-BitConvertLegalize.ll | 4 +- test/CodeGen/X86/2005-05-08-FPStackifierPHI.ll | 8 +- test/CodeGen/X86/2006-05-25-CycleInDAG.ll | 2 +- test/CodeGen/X86/2007-01-08-InstrSched.ll | 14 +- test/CodeGen/X86/2007-01-13-StackPtrIndex.ll | 50 +- test/CodeGen/X86/2007-03-01-SpillerCrash.ll | 22 +- .../X86/2007-04-11-InlineAsmVectorResult.ll | 2 +- test/CodeGen/X86/2007-04-24-VectorCrash.ll | 18 +- test/CodeGen/X86/2007-06-29-VecFPConstantCSEBug.ll | 4 +- test/CodeGen/X86/2007-07-10-StackerAssert.ll | 2 +- test/CodeGen/X86/2007-09-18-ShuffleXformBug.ll | 2 +- test/CodeGen/X86/2007-10-12-SpillerUnfold1.ll | 42 +- test/CodeGen/X86/2007-11-02-BadAsm.ll | 4 +- test/CodeGen/X86/2007-11-06-InstrSched.ll | 4 +- test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll | 4 +- test/CodeGen/X86/2007-12-11-FoldImpDefSpill.ll | 2 +- test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll | 14 +- test/CodeGen/X86/2008-02-06-LoadFoldingBug.ll | 4 +- test/CodeGen/X86/2008-02-08-LoadFoldingBug.ll | 16 +- test/CodeGen/X86/2008-02-27-DeadSlotElimBug.ll | 12 +- test/CodeGen/X86/2008-02-27-PEICrash.ll | 12 +- test/CodeGen/X86/2008-03-18-CoalescerBug.ll | 4 +- test/CodeGen/X86/2008-03-25-TwoAddrPassBug.ll | 10 +- test/CodeGen/X86/2008-07-19-movups-spills.ll | 1122 ++++++++++---------- test/CodeGen/X86/2008-07-23-VSetCC.ll | 6 +- test/CodeGen/X86/2008-08-23-X86-64AsmBug.ll | 2 +- test/CodeGen/X86/2008-10-27-CoalescerBug.ll | 4 +- test/CodeGen/X86/2008-11-03-F80VAARG.ll | 2 +- test/CodeGen/X86/2008-12-05-SpillerCrash.ll | 24 +- test/CodeGen/X86/2009-01-16-UIntToFP.ll | 4 +- test/CodeGen/X86/2009-02-12-SpillerBug.ll | 6 +- test/CodeGen/X86/2009-02-25-CommuteBug.ll | 2 +- test/CodeGen/X86/2009-03-03-BitcastLongDouble.ll | 2 +- test/CodeGen/X86/2009-03-09-SpillerBug.ll | 2 +- test/CodeGen/X86/2009-03-12-CPAlignBug.ll | 8 +- test/CodeGen/X86/break-anti-dependencies.ll | 20 +- test/CodeGen/X86/coalescer-commute1.ll | 2 +- test/CodeGen/X86/coalescer-commute2.ll | 2 +- test/CodeGen/X86/coalescer-commute4.ll | 4 +- test/CodeGen/X86/complex-fca.ll | 2 +- test/CodeGen/X86/constant-pool-remat-0.ll | 4 +- test/CodeGen/X86/extract-combine.ll | 6 +- test/CodeGen/X86/fabs.ll | 2 +- test/CodeGen/X86/fast-isel.ll | 8 +- test/CodeGen/X86/fold-pcmpeqd-0.ll | 32 +- test/CodeGen/X86/fold-pcmpeqd-2.ll | 16 +- test/CodeGen/X86/fp-in-intregs.ll | 2 +- test/CodeGen/X86/fp-stack-compare.ll | 2 +- test/CodeGen/X86/fp_constant_op.ll | 8 +- test/CodeGen/X86/fp_load_fold.ll | 8 +- test/CodeGen/X86/fsxor-alignment.ll | 4 +- test/CodeGen/X86/full-lsr.ll | 4 +- test/CodeGen/X86/illegal-vector-args-return.ll | 4 +- test/CodeGen/X86/inline-asm-fpstack.ll | 2 +- test/CodeGen/X86/inline-asm-mrv.ll | 2 +- test/CodeGen/X86/inline-asm-x-scalar.ll | 2 +- test/CodeGen/X86/iv-users-in-other-loops.ll | 122 +-- test/CodeGen/X86/masked-iv-safe.ll | 48 +- test/CodeGen/X86/masked-iv-unsafe.ll | 78 +- test/CodeGen/X86/multiple-return-values.ll | 2 +- test/CodeGen/X86/neg_fp.ll | 4 +- test/CodeGen/X86/negate-add-zero.ll | 46 +- test/CodeGen/X86/negative-sin.ll | 4 +- test/CodeGen/X86/peep-test-0.ll | 2 +- test/CodeGen/X86/peep-test-1.ll | 2 +- test/CodeGen/X86/phys_subreg_coalesce.ll | 8 +- test/CodeGen/X86/pr2656.ll | 4 +- test/CodeGen/X86/pr3154.ll | 2 +- test/CodeGen/X86/pr3457.ll | 6 +- test/CodeGen/X86/pre-split1.ll | 6 +- test/CodeGen/X86/pre-split10.ll | 14 +- test/CodeGen/X86/pre-split4.ll | 8 +- test/CodeGen/X86/pre-split5.ll | 2 +- test/CodeGen/X86/pre-split6.ll | 4 +- test/CodeGen/X86/pre-split7.ll | 8 +- test/CodeGen/X86/pre-split8.ll | 8 +- test/CodeGen/X86/pre-split9.ll | 8 +- test/CodeGen/X86/shrink-fp-const1.ll | 2 +- test/CodeGen/X86/small-byval-memcpy.ll | 2 +- test/CodeGen/X86/soft-fp.ll | 2 +- test/CodeGen/X86/sse-align-0.ll | 4 +- test/CodeGen/X86/sse-align-2.ll | 4 +- test/CodeGen/X86/sse-fcopysign.ll | 2 +- test/CodeGen/X86/sse41-extractps-bitcast-1.ll | 2 +- test/CodeGen/X86/stack-align.ll | 2 +- test/CodeGen/X86/storetrunc-fp.ll | 2 +- test/CodeGen/X86/stride-reuse.ll | 2 +- test/CodeGen/X86/twoaddr-coalesce-2.ll | 4 +- test/CodeGen/X86/vec_extract.ll | 6 +- test/CodeGen/X86/vec_fneg.ll | 4 +- test/CodeGen/X86/vec_ins_extract.ll | 12 +- test/CodeGen/X86/vec_insert.ll | 2 +- test/CodeGen/X86/vec_logical.ll | 2 +- test/CodeGen/X86/vec_select.ll | 2 +- test/CodeGen/X86/vec_shuffle-27.ll | 6 +- test/CodeGen/X86/vec_shuffle-3.ll | 4 +- test/CodeGen/X86/vec_shuffle-5.ll | 2 +- test/CodeGen/X86/vec_splat.ll | 4 +- test/CodeGen/X86/vec_ss_load_fold.ll | 4 +- test/CodeGen/X86/vec_zero.ll | 2 +- test/CodeGen/X86/vector.ll | 20 +- test/CodeGen/X86/widen_arith-6.ll | 4 +- test/CodeGen/X86/widen_shuffle-1.ll | 2 +- test/CodeGen/X86/widen_shuffle-2.ll | 2 +- test/CodeGen/XCore/2009-01-14-Remat-Crash.ll | 12 +- test/CodeGen/XCore/fneg.ll | 2 +- 167 files changed, 1473 insertions(+), 1473 deletions(-) (limited to 'test/CodeGen') diff --git a/test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll b/test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll index 3661c4c06d..6e11b16910 100644 --- a/test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll +++ b/test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll @@ -35,8 +35,8 @@ cond_next589: ; preds = %cond_next489 %tmp612 = load i32* null ; [#uses=1] %tmp629 = load i32* null ; [#uses=1] %tmp629a = sitofp i32 %tmp629 to double ; [#uses=1] - %tmp631 = mul double %tmp629a, 0.000000e+00 ; [#uses=1] - %tmp632 = add double 0.000000e+00, %tmp631 ; [#uses=1] + %tmp631 = fmul double %tmp629a, 0.000000e+00 ; [#uses=1] + %tmp632 = fadd double 0.000000e+00, %tmp631 ; [#uses=1] %tmp642 = call fastcc i32 @sign( i32 %tmp576, i32 %tmp561 ) ; [#uses=1] %tmp650 = mul i32 %tmp606, %tmp642 ; [#uses=1] %tmp656 = mul i32 %tmp650, %tmp612 ; [#uses=1] @@ -46,8 +46,8 @@ cond_next589: ; preds = %cond_next489 %tmp666 = sub i32 %tmp660, %tmp496 ; [#uses=1] %tmp667 = sitofp i32 %tmp666 to double ; [#uses=2] call void @levrun_linfo_inter( i32 %tmp576, i32 0, i32* null, i32* null ) - %tmp671 = mul double %tmp667, %tmp667 ; [#uses=1] - %tmp675 = add double %tmp671, 0.000000e+00 ; [#uses=1] + %tmp671 = fmul double %tmp667, %tmp667 ; [#uses=1] + %tmp675 = fadd double %tmp671, 0.000000e+00 ; [#uses=1] %tmp678 = fcmp oeq double %tmp632, %tmp675 ; [#uses=1] br i1 %tmp678, label %cond_true679, label %cond_false693 diff --git a/test/CodeGen/ARM/2009-02-27-SpillerBug.ll b/test/CodeGen/ARM/2009-02-27-SpillerBug.ll index 56e949f832..bd5b719594 100644 --- a/test/CodeGen/ARM/2009-02-27-SpillerBug.ll +++ b/test/CodeGen/ARM/2009-02-27-SpillerBug.ll @@ -11,7 +11,7 @@ bb.thread: br label %bb52 bb32: ; preds = %bb52 - %0 = add double 0.000000e+00, 0.000000e+00 ; [#uses=1] + %0 = fadd double 0.000000e+00, 0.000000e+00 ; [#uses=1] %1 = add i32 %j.1, 1 ; [#uses=1] br label %bb52 @@ -29,14 +29,14 @@ bb53: ; preds = %bb52 bb55: ; preds = %bb53 %4 = load double* @a, align 4 ; [#uses=10] - %5 = add double %4, 0.000000e+00 ; [#uses=16] + %5 = fadd double %4, 0.000000e+00 ; [#uses=16] %6 = fcmp ogt double %k.4, 0.000000e+00 ; [#uses=1] - %.pn404 = mul double %4, %4 ; [#uses=4] - %.pn402 = mul double %5, %5 ; [#uses=5] + %.pn404 = fmul double %4, %4 ; [#uses=4] + %.pn402 = fmul double %5, %5 ; [#uses=5] %.pn165.in = load double* @N ; [#uses=5] - %.pn198 = mul double 0.000000e+00, %5 ; [#uses=1] - %.pn185 = sub double -0.000000e+00, 0.000000e+00 ; [#uses=1] - %.pn147 = sub double -0.000000e+00, 0.000000e+00 ; [#uses=1] + %.pn198 = fmul double 0.000000e+00, %5 ; [#uses=1] + %.pn185 = fsub double -0.000000e+00, 0.000000e+00 ; [#uses=1] + %.pn147 = fsub double -0.000000e+00, 0.000000e+00 ; [#uses=1] %.pn141 = fdiv double 0.000000e+00, %4 ; [#uses=1] %.pn142 = fdiv double 0.000000e+00, %5 ; [#uses=1] %.pn136 = fdiv double 0.000000e+00, 0.000000e+00 ; [#uses=1] @@ -47,178 +47,178 @@ bb55: ; preds = %bb53 %.pn117 = fdiv double 0.000000e+00, %4 ; [#uses=1] %.pn118 = fdiv double %.pn185, %5 ; [#uses=1] %.pn88 = fdiv double %.pn147, %5 ; [#uses=1] - %.pn81 = sub double %.pn141, %.pn142 ; [#uses=1] - %.pn77 = sub double 0.000000e+00, %.pn136 ; [#uses=1] - %.pn75 = sub double 0.000000e+00, %.pn132 ; [#uses=1] - %.pn69 = sub double %.pn123, %.pn124 ; [#uses=1] - %.pn67 = sub double 0.000000e+00, %.pn120 ; [#uses=1] - %.pn56 = sub double %.pn117, %.pn118 ; [#uses=1] - %.pn42 = sub double 0.000000e+00, %.pn88 ; [#uses=1] - %.pn60 = mul double %.pn81, 0.000000e+00 ; [#uses=1] - %.pn57 = add double %.pn77, 0.000000e+00 ; [#uses=1] - %.pn58 = mul double %.pn75, %.pn165.in ; [#uses=1] - %.pn32 = add double %.pn69, 0.000000e+00 ; [#uses=1] - %.pn33 = mul double %.pn67, %.pn165.in ; [#uses=1] - %.pn17 = sub double 0.000000e+00, %.pn60 ; [#uses=1] - %.pn9 = add double %.pn57, %.pn58 ; [#uses=1] - %.pn30 = mul double 0.000000e+00, %.pn56 ; [#uses=1] - %.pn24 = mul double 0.000000e+00, %.pn42 ; [#uses=1] - %.pn1 = add double %.pn32, %.pn33 ; [#uses=1] - %.pn28 = sub double %.pn30, 0.000000e+00 ; [#uses=1] - %.pn26 = add double %.pn28, 0.000000e+00 ; [#uses=1] - %.pn22 = sub double %.pn26, 0.000000e+00 ; [#uses=1] - %.pn20 = sub double %.pn24, 0.000000e+00 ; [#uses=1] - %.pn18 = add double %.pn22, 0.000000e+00 ; [#uses=1] - %.pn16 = add double %.pn20, 0.000000e+00 ; [#uses=1] - %.pn14 = sub double %.pn18, 0.000000e+00 ; [#uses=1] - %.pn12 = sub double %.pn16, %.pn17 ; [#uses=1] - %.pn10 = add double %.pn14, 0.000000e+00 ; [#uses=1] - %.pn8 = add double %.pn12, 0.000000e+00 ; [#uses=1] - %.pn6 = sub double %.pn10, 0.000000e+00 ; [#uses=1] - %.pn4 = sub double %.pn8, %.pn9 ; [#uses=1] - %.pn2 = add double %.pn6, 0.000000e+00 ; [#uses=1] - %.pn = add double %.pn4, 0.000000e+00 ; [#uses=1] - %N1.0 = sub double %.pn2, 0.000000e+00 ; [#uses=2] - %D1.0 = sub double %.pn, %.pn1 ; [#uses=2] + %.pn81 = fsub double %.pn141, %.pn142 ; [#uses=1] + %.pn77 = fsub double 0.000000e+00, %.pn136 ; [#uses=1] + %.pn75 = fsub double 0.000000e+00, %.pn132 ; [#uses=1] + %.pn69 = fsub double %.pn123, %.pn124 ; [#uses=1] + %.pn67 = fsub double 0.000000e+00, %.pn120 ; [#uses=1] + %.pn56 = fsub double %.pn117, %.pn118 ; [#uses=1] + %.pn42 = fsub double 0.000000e+00, %.pn88 ; [#uses=1] + %.pn60 = fmul double %.pn81, 0.000000e+00 ; [#uses=1] + %.pn57 = fadd double %.pn77, 0.000000e+00 ; [#uses=1] + %.pn58 = fmul double %.pn75, %.pn165.in ; [#uses=1] + %.pn32 = fadd double %.pn69, 0.000000e+00 ; [#uses=1] + %.pn33 = fmul double %.pn67, %.pn165.in ; [#uses=1] + %.pn17 = fsub double 0.000000e+00, %.pn60 ; [#uses=1] + %.pn9 = fadd double %.pn57, %.pn58 ; [#uses=1] + %.pn30 = fmul double 0.000000e+00, %.pn56 ; [#uses=1] + %.pn24 = fmul double 0.000000e+00, %.pn42 ; [#uses=1] + %.pn1 = fadd double %.pn32, %.pn33 ; [#uses=1] + %.pn28 = fsub double %.pn30, 0.000000e+00 ; [#uses=1] + %.pn26 = fadd double %.pn28, 0.000000e+00 ; [#uses=1] + %.pn22 = fsub double %.pn26, 0.000000e+00 ; [#uses=1] + %.pn20 = fsub double %.pn24, 0.000000e+00 ; [#uses=1] + %.pn18 = fadd double %.pn22, 0.000000e+00 ; [#uses=1] + %.pn16 = fadd double %.pn20, 0.000000e+00 ; [#uses=1] + %.pn14 = fsub double %.pn18, 0.000000e+00 ; [#uses=1] + %.pn12 = fsub double %.pn16, %.pn17 ; [#uses=1] + %.pn10 = fadd double %.pn14, 0.000000e+00 ; [#uses=1] + %.pn8 = fadd double %.pn12, 0.000000e+00 ; [#uses=1] + %.pn6 = fsub double %.pn10, 0.000000e+00 ; [#uses=1] + %.pn4 = fsub double %.pn8, %.pn9 ; [#uses=1] + %.pn2 = fadd double %.pn6, 0.000000e+00 ; [#uses=1] + %.pn = fadd double %.pn4, 0.000000e+00 ; [#uses=1] + %N1.0 = fsub double %.pn2, 0.000000e+00 ; [#uses=2] + %D1.0 = fsub double %.pn, %.pn1 ; [#uses=2] br i1 %6, label %bb62, label %bb64 bb62: ; preds = %bb55 - %7 = mul double 0.000000e+00, %4 ; [#uses=1] - %8 = sub double -0.000000e+00, %7 ; [#uses=3] - %9 = mul double 0.000000e+00, %5 ; [#uses=1] - %10 = sub double -0.000000e+00, %9 ; [#uses=3] - %11 = mul double %.pn404, %4 ; [#uses=5] - %12 = mul double %.pn402, %5 ; [#uses=5] - %13 = mul double 0.000000e+00, -2.000000e+00 ; [#uses=1] + %7 = fmul double 0.000000e+00, %4 ; [#uses=1] + %8 = fsub double -0.000000e+00, %7 ; [#uses=3] + %9 = fmul double 0.000000e+00, %5 ; [#uses=1] + %10 = fsub double -0.000000e+00, %9 ; [#uses=3] + %11 = fmul double %.pn404, %4 ; [#uses=5] + %12 = fmul double %.pn402, %5 ; [#uses=5] + %13 = fmul double 0.000000e+00, -2.000000e+00 ; [#uses=1] %14 = fdiv double 0.000000e+00, %.pn402 ; [#uses=1] - %15 = sub double 0.000000e+00, %14 ; [#uses=1] - %16 = mul double 0.000000e+00, %15 ; [#uses=1] - %17 = add double %13, %16 ; [#uses=1] - %18 = mul double %.pn165.in, -2.000000e+00 ; [#uses=5] - %19 = mul double %18, 0.000000e+00 ; [#uses=1] - %20 = add double %17, %19 ; [#uses=1] - %21 = mul double 0.000000e+00, %20 ; [#uses=1] - %22 = add double 0.000000e+00, %21 ; [#uses=1] + %15 = fsub double 0.000000e+00, %14 ; [#uses=1] + %16 = fmul double 0.000000e+00, %15 ; [#uses=1] + %17 = fadd double %13, %16 ; [#uses=1] + %18 = fmul double %.pn165.in, -2.000000e+00 ; [#uses=5] + %19 = fmul double %18, 0.000000e+00 ; [#uses=1] + %20 = fadd double %17, %19 ; [#uses=1] + %21 = fmul double 0.000000e+00, %20 ; [#uses=1] + %22 = fadd double 0.000000e+00, %21 ; [#uses=1] %23 = fdiv double 0.000000e+00, %12 ; [#uses=1] - %24 = sub double 0.000000e+00, %23 ; [#uses=0] - %25 = mul double %18, 0.000000e+00 ; [#uses=1] - %26 = add double 0.000000e+00, %25 ; [#uses=1] - %27 = mul double 0.000000e+00, %26 ; [#uses=1] - %28 = sub double %22, %27 ; [#uses=1] - %29 = mul double %11, %4 ; [#uses=1] - %30 = mul double %12, %5 ; [#uses=3] - %31 = mul double %.pn165.in, -4.000000e+00 ; [#uses=1] - %32 = mul double %.pn165.in, 0x3FF5555555555555 ; [#uses=1] - %33 = mul double %32, 0.000000e+00 ; [#uses=2] - %34 = add double %28, 0.000000e+00 ; [#uses=1] - %35 = sub double -0.000000e+00, 0.000000e+00 ; [#uses=1] + %24 = fsub double 0.000000e+00, %23 ; [#uses=0] + %25 = fmul double %18, 0.000000e+00 ; [#uses=1] + %26 = fadd double 0.000000e+00, %25 ; [#uses=1] + %27 = fmul double 0.000000e+00, %26 ; [#uses=1] + %28 = fsub double %22, %27 ; [#uses=1] + %29 = fmul double %11, %4 ; [#uses=1] + %30 = fmul double %12, %5 ; [#uses=3] + %31 = fmul double %.pn165.in, -4.000000e+00 ; [#uses=1] + %32 = fmul double %.pn165.in, 0x3FF5555555555555 ; [#uses=1] + %33 = fmul double %32, 0.000000e+00 ; [#uses=2] + %34 = fadd double %28, 0.000000e+00 ; [#uses=1] + %35 = fsub double -0.000000e+00, 0.000000e+00 ; [#uses=1] %36 = fdiv double %35, %11 ; [#uses=1] %37 = fdiv double 0.000000e+00, %12 ; [#uses=1] - %38 = sub double %36, %37 ; [#uses=1] - %39 = mul double 0.000000e+00, %38 ; [#uses=1] - %40 = add double 0.000000e+00, %39 ; [#uses=1] - %41 = add double %40, 0.000000e+00 ; [#uses=1] - %42 = add double %41, 0.000000e+00 ; [#uses=1] - %43 = mul double %42, 0.000000e+00 ; [#uses=1] - %44 = sub double %34, %43 ; [#uses=1] + %38 = fsub double %36, %37 ; [#uses=1] + %39 = fmul double 0.000000e+00, %38 ; [#uses=1] + %40 = fadd double 0.000000e+00, %39 ; [#uses=1] + %41 = fadd double %40, 0.000000e+00 ; [#uses=1] + %42 = fadd double %41, 0.000000e+00 ; [#uses=1] + %43 = fmul double %42, 0.000000e+00 ; [#uses=1] + %44 = fsub double %34, %43 ; [#uses=1] %45 = tail call double @llvm.exp.f64(double %8) nounwind ; [#uses=1] - %46 = sub double -0.000000e+00, %45 ; [#uses=2] + %46 = fsub double -0.000000e+00, %45 ; [#uses=2] %47 = fdiv double %46, 0.000000e+00 ; [#uses=1] - %48 = mul double %30, %5 ; [#uses=1] + %48 = fmul double %30, %5 ; [#uses=1] %49 = fdiv double 0.000000e+00, %48 ; [#uses=1] - %50 = sub double %47, %49 ; [#uses=1] - %51 = mul double %50, -4.000000e+00 ; [#uses=1] - %52 = add double %51, 0.000000e+00 ; [#uses=1] + %50 = fsub double %47, %49 ; [#uses=1] + %51 = fmul double %50, -4.000000e+00 ; [#uses=1] + %52 = fadd double %51, 0.000000e+00 ; [#uses=1] %53 = fdiv double %46, %11 ; [#uses=1] - %54 = sub double %53, 0.000000e+00 ; [#uses=1] - %55 = mul double %31, %54 ; [#uses=1] - %56 = add double %52, %55 ; [#uses=1] - %57 = add double %56, 0.000000e+00 ; [#uses=1] - %58 = add double %44, %57 ; [#uses=1] - %59 = sub double %58, 0.000000e+00 ; [#uses=1] + %54 = fsub double %53, 0.000000e+00 ; [#uses=1] + %55 = fmul double %31, %54 ; [#uses=1] + %56 = fadd double %52, %55 ; [#uses=1] + %57 = fadd double %56, 0.000000e+00 ; [#uses=1] + %58 = fadd double %44, %57 ; [#uses=1] + %59 = fsub double %58, 0.000000e+00 ; [#uses=1] %60 = tail call double @llvm.exp.f64(double 0.000000e+00) nounwind ; [#uses=1] - %61 = sub double -0.000000e+00, %60 ; [#uses=1] + %61 = fsub double -0.000000e+00, %60 ; [#uses=1] %62 = fdiv double 0.000000e+00, -6.000000e+00 ; [#uses=1] %63 = fdiv double %61, %5 ; [#uses=1] - %64 = sub double 0.000000e+00, %63 ; [#uses=1] - %65 = mul double %62, %64 ; [#uses=1] - %66 = sub double 0.000000e+00, %65 ; [#uses=1] - %67 = sub double -0.000000e+00, 0.000000e+00 ; [#uses=2] + %64 = fsub double 0.000000e+00, %63 ; [#uses=1] + %65 = fmul double %62, %64 ; [#uses=1] + %66 = fsub double 0.000000e+00, %65 ; [#uses=1] + %67 = fsub double -0.000000e+00, 0.000000e+00 ; [#uses=2] %68 = tail call double @llvm.exp.f64(double %10) nounwind ; [#uses=1] - %69 = sub double -0.000000e+00, %68 ; [#uses=2] + %69 = fsub double -0.000000e+00, %68 ; [#uses=2] %70 = fdiv double %67, %.pn404 ; [#uses=1] %71 = fdiv double %69, %.pn402 ; [#uses=1] - %72 = sub double %70, %71 ; [#uses=1] - %73 = mul double %72, -5.000000e-01 ; [#uses=1] + %72 = fsub double %70, %71 ; [#uses=1] + %73 = fmul double %72, -5.000000e-01 ; [#uses=1] %74 = fdiv double %67, %4 ; [#uses=1] %75 = fdiv double %69, %5 ; [#uses=1] - %76 = sub double %74, %75 ; [#uses=1] - %77 = mul double %76, 0.000000e+00 ; [#uses=1] - %78 = add double %73, %77 ; [#uses=1] - %79 = mul double 0.000000e+00, %78 ; [#uses=1] - %80 = add double %66, %79 ; [#uses=1] + %76 = fsub double %74, %75 ; [#uses=1] + %77 = fmul double %76, 0.000000e+00 ; [#uses=1] + %78 = fadd double %73, %77 ; [#uses=1] + %79 = fmul double 0.000000e+00, %78 ; [#uses=1] + %80 = fadd double %66, %79 ; [#uses=1] %81 = fdiv double 0.000000e+00, %.pn404 ; [#uses=1] %82 = fdiv double 0.000000e+00, %.pn402 ; [#uses=1] - %83 = sub double %81, %82 ; [#uses=1] - %84 = mul double %83, -5.000000e-01 ; [#uses=1] + %83 = fsub double %81, %82 ; [#uses=1] + %84 = fmul double %83, -5.000000e-01 ; [#uses=1] %85 = fdiv double 0.000000e+00, %4 ; [#uses=1] %86 = fdiv double 0.000000e+00, %5 ; [#uses=1] - %87 = sub double %85, %86 ; [#uses=1] - %88 = mul double %87, 0.000000e+00 ; [#uses=1] - %89 = add double %84, %88 ; [#uses=1] - %90 = mul double 0.000000e+00, %89 ; [#uses=1] - %91 = sub double %80, %90 ; [#uses=1] + %87 = fsub double %85, %86 ; [#uses=1] + %88 = fmul double %87, 0.000000e+00 ; [#uses=1] + %89 = fadd double %84, %88 ; [#uses=1] + %90 = fmul double 0.000000e+00, %89 ; [#uses=1] + %91 = fsub double %80, %90 ; [#uses=1] %92 = tail call double @llvm.exp.f64(double %8) nounwind ; [#uses=1] - %93 = sub double -0.000000e+00, %92 ; [#uses=1] + %93 = fsub double -0.000000e+00, %92 ; [#uses=1] %94 = tail call double @llvm.exp.f64(double %10) nounwind ; [#uses=1] - %95 = sub double -0.000000e+00, %94 ; [#uses=3] + %95 = fsub double -0.000000e+00, %94 ; [#uses=3] %96 = fdiv double %95, %.pn402 ; [#uses=1] - %97 = sub double 0.000000e+00, %96 ; [#uses=1] - %98 = mul double 0.000000e+00, %97 ; [#uses=1] + %97 = fsub double 0.000000e+00, %96 ; [#uses=1] + %98 = fmul double 0.000000e+00, %97 ; [#uses=1] %99 = fdiv double %93, %11 ; [#uses=1] %100 = fdiv double %95, %12 ; [#uses=1] - %101 = sub double %99, %100 ; [#uses=1] - %102 = sub double %98, %101 ; [#uses=1] + %101 = fsub double %99, %100 ; [#uses=1] + %102 = fsub double %98, %101 ; [#uses=1] %103 = fdiv double %95, %5 ; [#uses=1] - %104 = sub double 0.000000e+00, %103 ; [#uses=1] - %105 = mul double %18, %104 ; [#uses=1] - %106 = add double %102, %105 ; [#uses=1] - %107 = mul double %106, %k.4 ; [#uses=1] - %108 = add double %91, %107 ; [#uses=1] - %109 = sub double %108, 0.000000e+00 ; [#uses=1] + %104 = fsub double 0.000000e+00, %103 ; [#uses=1] + %105 = fmul double %18, %104 ; [#uses=1] + %106 = fadd double %102, %105 ; [#uses=1] + %107 = fmul double %106, %k.4 ; [#uses=1] + %108 = fadd double %91, %107 ; [#uses=1] + %109 = fsub double %108, 0.000000e+00 ; [#uses=1] %110 = tail call double @llvm.exp.f64(double %8) nounwind ; [#uses=1] - %111 = sub double -0.000000e+00, %110 ; [#uses=2] + %111 = fsub double -0.000000e+00, %110 ; [#uses=2] %112 = tail call double @llvm.exp.f64(double %10) nounwind ; [#uses=1] - %113 = sub double -0.000000e+00, %112 ; [#uses=2] + %113 = fsub double -0.000000e+00, %112 ; [#uses=2] %114 = fdiv double %111, %11 ; [#uses=1] %115 = fdiv double %113, %12 ; [#uses=1] - %116 = sub double %114, %115 ; [#uses=1] - %117 = mul double 0.000000e+00, %116 ; [#uses=1] + %116 = fsub double %114, %115 ; [#uses=1] + %117 = fmul double 0.000000e+00, %116 ; [#uses=1] %118 = fdiv double %111, %29 ; [#uses=1] %119 = fdiv double %113, %30 ; [#uses=1] - %120 = sub double %118, %119 ; [#uses=1] - %121 = sub double %117, %120 ; [#uses=1] - %122 = mul double %18, 0.000000e+00 ; [#uses=1] - %123 = add double %121, %122 ; [#uses=1] - %124 = mul double %33, 0.000000e+00 ; [#uses=1] - %125 = add double %123, %124 ; [#uses=1] - %126 = add double %109, %125 ; [#uses=1] + %120 = fsub double %118, %119 ; [#uses=1] + %121 = fsub double %117, %120 ; [#uses=1] + %122 = fmul double %18, 0.000000e+00 ; [#uses=1] + %123 = fadd double %121, %122 ; [#uses=1] + %124 = fmul double %33, 0.000000e+00 ; [#uses=1] + %125 = fadd double %123, %124 ; [#uses=1] + %126 = fadd double %109, %125 ; [#uses=1] %127 = tail call double @llvm.exp.f64(double 0.000000e+00) nounwind ; [#uses=1] - %128 = sub double -0.000000e+00, %127 ; [#uses=2] + %128 = fsub double -0.000000e+00, %127 ; [#uses=2] %129 = fdiv double %128, %30 ; [#uses=1] - %130 = sub double 0.000000e+00, %129 ; [#uses=1] - %131 = sub double 0.000000e+00, %130 ; [#uses=1] + %130 = fsub double 0.000000e+00, %129 ; [#uses=1] + %131 = fsub double 0.000000e+00, %130 ; [#uses=1] %132 = fdiv double 0.000000e+00, %.pn404 ; [#uses=1] - %133 = sub double %132, 0.000000e+00 ; [#uses=1] - %134 = mul double %18, %133 ; [#uses=1] - %135 = add double %131, %134 ; [#uses=1] + %133 = fsub double %132, 0.000000e+00 ; [#uses=1] + %134 = fmul double %18, %133 ; [#uses=1] + %135 = fadd double %131, %134 ; [#uses=1] %136 = fdiv double %128, %5 ; [#uses=1] - %137 = sub double 0.000000e+00, %136 ; [#uses=1] - %138 = mul double %33, %137 ; [#uses=1] - %139 = add double %135, %138 ; [#uses=1] - %140 = sub double %126, %139 ; [#uses=1] - %141 = add double %N1.0, %59 ; [#uses=1] - %142 = add double %D1.0, %140 ; [#uses=1] + %137 = fsub double 0.000000e+00, %136 ; [#uses=1] + %138 = fmul double %33, %137 ; [#uses=1] + %139 = fadd double %135, %138 ; [#uses=1] + %140 = fsub double %126, %139 ; [#uses=1] + %141 = fadd double %N1.0, %59 ; [#uses=1] + %142 = fadd double %D1.0, %140 ; [#uses=1] br label %bb64 bb64: ; preds = %bb62, %bb55 diff --git a/test/CodeGen/ARM/2009-03-07-SpillerBug.ll b/test/CodeGen/ARM/2009-03-07-SpillerBug.ll index 7556616f99..399ed3081f 100644 --- a/test/CodeGen/ARM/2009-03-07-SpillerBug.ll +++ b/test/CodeGen/ARM/2009-03-07-SpillerBug.ll @@ -26,39 +26,39 @@ entry: bb3: ; preds = %entry %2 = fdiv double 1.000000e+00, 0.000000e+00 ; [#uses=1] - %3 = mul double 0.000000e+00, %2 ; [#uses=2] + %3 = fmul double 0.000000e+00, %2 ; [#uses=2] %4 = call double @llvm.sqrt.f64(double 0.000000e+00) nounwind ; [#uses=1] %5 = fdiv double 1.000000e+00, %4 ; [#uses=2] - %6 = mul double %3, %5 ; [#uses=2] - %7 = mul double 0.000000e+00, %5 ; [#uses=2] - %8 = mul double %3, %7 ; [#uses=1] - %9 = sub double %8, 0.000000e+00 ; [#uses=1] - %10 = mul double 0.000000e+00, %6 ; [#uses=1] - %11 = sub double 0.000000e+00, %10 ; [#uses=1] - %12 = sub double -0.000000e+00, %11 ; [#uses=1] - %13 = mul double %0, %0 ; [#uses=2] - %14 = sub double %13, 0.000000e+00 ; [#uses=1] + %6 = fmul double %3, %5 ; [#uses=2] + %7 = fmul double 0.000000e+00, %5 ; [#uses=2] + %8 = fmul double %3, %7 ; [#uses=1] + %9 = fsub double %8, 0.000000e+00 ; [#uses=1] + %10 = fmul double 0.000000e+00, %6 ; [#uses=1] + %11 = fsub double 0.000000e+00, %10 ; [#uses=1] + %12 = fsub double -0.000000e+00, %11 ; [#uses=1] + %13 = fmul double %0, %0 ; [#uses=2] + %14 = fsub double %13, 0.000000e+00 ; [#uses=1] %15 = call double @llvm.sqrt.f64(double %14) ; [#uses=1] - %16 = mul double 0.000000e+00, %15 ; [#uses=1] + %16 = fmul double 0.000000e+00, %15 ; [#uses=1] %17 = fdiv double %16, %0 ; [#uses=1] - %18 = add double 0.000000e+00, %17 ; [#uses=1] + %18 = fadd double 0.000000e+00, %17 ; [#uses=1] %19 = call double @acos(double %18) nounwind readonly ; [#uses=1] %20 = load double* null, align 4 ; [#uses=1] - %21 = mul double %20, 0x401921FB54442D18 ; [#uses=1] + %21 = fmul double %20, 0x401921FB54442D18 ; [#uses=1] %22 = call double @sin(double %19) nounwind readonly ; [#uses=2] - %23 = mul double %22, 0.000000e+00 ; [#uses=2] - %24 = mul double %6, %23 ; [#uses=1] - %25 = mul double %7, %23 ; [#uses=1] + %23 = fmul double %22, 0.000000e+00 ; [#uses=2] + %24 = fmul double %6, %23 ; [#uses=1] + %25 = fmul double %7, %23 ; [#uses=1] %26 = call double @sin(double %21) nounwind readonly ; [#uses=1] - %27 = mul double %22, %26 ; [#uses=2] - %28 = mul double %9, %27 ; [#uses=1] - %29 = mul double %27, %12 ; [#uses=1] - %30 = add double %24, %28 ; [#uses=1] - %31 = add double 0.000000e+00, %29 ; [#uses=1] - %32 = add double %25, 0.000000e+00 ; [#uses=1] - %33 = add double %30, 0.000000e+00 ; [#uses=1] - %34 = add double %31, 0.000000e+00 ; [#uses=1] - %35 = add double %32, 0.000000e+00 ; [#uses=1] + %27 = fmul double %22, %26 ; [#uses=2] + %28 = fmul double %9, %27 ; [#uses=1] + %29 = fmul double %27, %12 ; [#uses=1] + %30 = fadd double %24, %28 ; [#uses=1] + %31 = fadd double 0.000000e+00, %29 ; [#uses=1] + %32 = fadd double %25, 0.000000e+00 ; [#uses=1] + %33 = fadd double %30, 0.000000e+00 ; [#uses=1] + %34 = fadd double %31, 0.000000e+00 ; [#uses=1] + %35 = fadd double %32, 0.000000e+00 ; [#uses=1] %36 = bitcast %struct.ggPoint3* %x to i8* ; [#uses=1] call void @llvm.memcpy.i32(i8* null, i8* %36, i32 24, i32 4) nounwind store double %33, double* null, align 8 @@ -68,9 +68,9 @@ bb5.i.i.i: ; preds = %bb3 unreachable _Z20ggRaySphereIntersectRK6ggRay3RK8ggSphereddRd.exit: ; preds = %bb3 - %37 = sub double %13, 0.000000e+00 ; [#uses=0] - %38 = sub double -0.000000e+00, %34 ; [#uses=0] - %39 = sub double -0.000000e+00, %35 ; [#uses=0] + %37 = fsub double %13, 0.000000e+00 ; [#uses=0] + %38 = fsub double -0.000000e+00, %34 ; [#uses=0] + %39 = fsub double -0.000000e+00, %35 ; [#uses=0] ret i32 1 bb7: ; preds = %entry diff --git a/test/CodeGen/ARM/2009-04-08-FloatUndef.ll b/test/CodeGen/ARM/2009-04-08-FloatUndef.ll index 9dc3b3485e..f394847362 100644 --- a/test/CodeGen/ARM/2009-04-08-FloatUndef.ll +++ b/test/CodeGen/ARM/2009-04-08-FloatUndef.ll @@ -4,8 +4,8 @@ define void @execute_shader(<4 x float>* %OUT, <4 x float>* %IN, <4 x float>* %C entry: %input2 = load <4 x float>* null, align 16 ; <<4 x float>> [#uses=2] %shuffle7 = shufflevector <4 x float> %input2, <4 x float> , <4 x i32> ; <<4 x float>> [#uses=1] - %mul1 = mul <4 x float> %shuffle7, zeroinitializer ; <<4 x float>> [#uses=1] - %add2 = add <4 x float> %mul1, %input2 ; <<4 x float>> [#uses=1] + %mul1 = fmul <4 x float> %shuffle7, zeroinitializer ; <<4 x float>> [#uses=1] + %add2 = fadd <4 x float> %mul1, %input2 ; <<4 x float>> [#uses=1] store <4 x float> %add2, <4 x float>* null, align 16 ret void } diff --git a/test/CodeGen/ARM/cse-libcalls.ll b/test/CodeGen/ARM/cse-libcalls.ll index 3b499a4021..4f4091af48 100644 --- a/test/CodeGen/ARM/cse-libcalls.ll +++ b/test/CodeGen/ARM/cse-libcalls.ll @@ -16,7 +16,7 @@ bb28.i: ; preds = %bb28.i, %entry br i1 false, label %bb502.loopexit.i, label %bb28.i bb.nph53.i: ; preds = %bb502.loopexit.i - %tmp354.i = sub double -0.000000e+00, %tmp10.i4 ; [#uses=0] + %tmp354.i = fsub double -0.000000e+00, %tmp10.i4 ; [#uses=0] br label %bb244.i bb244.i: ; preds = %bb244.i, %bb.nph53.i diff --git a/test/CodeGen/ARM/fixunsdfdi.ll b/test/CodeGen/ARM/fixunsdfdi.ll index d3038b9af7..777a3d69a1 100644 --- a/test/CodeGen/ARM/fixunsdfdi.ll +++ b/test/CodeGen/ARM/fixunsdfdi.ll @@ -13,7 +13,7 @@ bb5: ; preds = %bb3 %u.in.mask = and i64 %x14, -4294967296 ; [#uses=1] %.ins = or i64 0, %u.in.mask ; [#uses=1] %0 = bitcast i64 %.ins to double ; [#uses=1] - %1 = sub double %x, %0 ; [#uses=1] + %1 = fsub double %x, %0 ; [#uses=1] %2 = fptosi double %1 to i32 ; [#uses=1] %3 = add i32 %2, 0 ; [#uses=1] %4 = zext i32 %3 to i64 ; [#uses=1] diff --git a/test/CodeGen/ARM/fnmul.ll b/test/CodeGen/ARM/fnmul.ll index 87a30c99e2..7bbda2d76d 100644 --- a/test/CodeGen/ARM/fnmul.ll +++ b/test/CodeGen/ARM/fnmul.ll @@ -4,8 +4,8 @@ define double @t1(double %a, double %b) { entry: - %tmp2 = sub double -0.000000e+00, %a ; [#uses=1] - %tmp4 = mul double %tmp2, %b ; [#uses=1] + %tmp2 = fsub double -0.000000e+00, %a ; [#uses=1] + %tmp4 = fmul double %tmp2, %b ; [#uses=1] ret double %tmp4 } diff --git a/test/CodeGen/ARM/fparith.ll b/test/CodeGen/ARM/fparith.ll index 11933d5f70..568a6c41a0 100644 --- a/test/CodeGen/ARM/fparith.ll +++ b/test/CodeGen/ARM/fparith.ll @@ -10,49 +10,49 @@ define float @f1(float %a, float %b) { entry: - %tmp = add float %a, %b ; [#uses=1] + %tmp = fadd float %a, %b ; [#uses=1] ret float %tmp } define double @f2(double %a, double %b) { entry: - %tmp = add double %a, %b ; [#uses=1] + %tmp = fadd double %a, %b ; [#uses=1] ret double %tmp } define float @f3(float %a, float %b) { entry: - %tmp = mul float %a, %b ; [#uses=1] + %tmp = fmul float %a, %b ; [#uses=1] ret float %tmp } define double @f4(double %a, double %b) { entry: - %tmp = mul double %a, %b ; [#uses=1] + %tmp = fmul double %a, %b ; [#uses=1] ret double %tmp } define float @f5(float %a, float %b) { entry: - %tmp = sub float %a, %b ; [#uses=1] + %tmp = fsub float %a, %b ; [#uses=1] ret float %tmp } define double @f6(double %a, double %b) { entry: - %tmp = sub double %a, %b ; [#uses=1] + %tmp = fsub double %a, %b ; [#uses=1] ret double %tmp } define float @f7(float %a) { entry: - %tmp1 = sub float -0.000000e+00, %a ; [#uses=1] + %tmp1 = fsub float -0.000000e+00, %a ; [#uses=1] ret float %tmp1 } define double @f8(double %a) { entry: - %tmp1 = sub double -0.000000e+00, %a ; [#uses=1] + %tmp1 = fsub double -0.000000e+00, %a ; [#uses=1] ret double %tmp1 } diff --git a/test/CodeGen/ARM/fpmem.ll b/test/CodeGen/ARM/fpmem.ll index 48204ecdeb..13653bbe6a 100644 --- a/test/CodeGen/ARM/fpmem.ll +++ b/test/CodeGen/ARM/fpmem.ll @@ -11,12 +11,12 @@ define float @f1(float %a) { define float @f2(float* %v, float %u) { %tmp = load float* %v ; [#uses=1] - %tmp1 = add float %tmp, %u ; [#uses=1] + %tmp1 = fadd float %tmp, %u ; [#uses=1] ret float %tmp1 } define void @f3(float %a, float %b, float* %v) { - %tmp = add float %a, %b ; [#uses=1] + %tmp = fadd float %a, %b ; [#uses=1] store float %tmp, float* %v ret void } diff --git a/test/CodeGen/ARM/illegal-vector-bitcast.ll b/test/CodeGen/ARM/illegal-vector-bitcast.ll index 79f9929b7d..ad24eb5dad 100644 --- a/test/CodeGen/ARM/illegal-vector-bitcast.ll +++ b/test/CodeGen/ARM/illegal-vector-bitcast.ll @@ -3,7 +3,7 @@ define void @foo(<8 x float>* %f, <8 x float>* %g, <4 x i64>* %y) { %h = load <8 x float>* %f - %i = mul <8 x float> %h, + %i = fmul <8 x float> %h, %m = bitcast <8 x float> %i to <4 x i64> %z = load <4 x i64>* %y %n = mul <4 x i64> %z, %m diff --git a/test/CodeGen/ARM/vfp.ll b/test/CodeGen/ARM/vfp.ll index 2acb33f9ae..f58da44093 100644 --- a/test/CodeGen/ARM/vfp.ll +++ b/test/CodeGen/ARM/vfp.ll @@ -39,10 +39,10 @@ define void @test_abs(float* %P, double* %D) { define void @test_add(float* %P, double* %D) { %a = load float* %P ; [#uses=2] - %b = add float %a, %a ; [#uses=1] + %b = fadd float %a, %a ; [#uses=1] store float %b, float* %P %A = load double* %D ; [#uses=2] - %B = add double %A, %A ; [#uses=1] + %B = fadd double %A, %A ; [#uses=1] store double %B, double* %D ret void } @@ -61,8 +61,8 @@ define void @test_fma(float* %P1, float* %P2, float* %P3) { %a1 = load float* %P1 ; [#uses=1] %a2 = load float* %P2 ; [#uses=1] %a3 = load float* %P3 ; [#uses=1] - %X = mul float %a1, %a2 ; [#uses=1] - %Y = sub float %X, %a3 ; [#uses=1] + %X = fmul float %a1, %a2 ; [#uses=1] + %Y = fsub float %X, %a3 ; [#uses=1] store float %Y, float* %P1 ret void } diff --git a/test/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll b/test/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll index ca4e48eb5e..f8393a3fbc 100644 --- a/test/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll +++ b/test/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll @@ -23,7 +23,7 @@ define double @test4(i64 %L) { define double @test5(double %D) { %X = bitcast double %D to double ; [#uses=1] - %Y = add double %X, 2.000000e+00 ; [#uses=1] + %Y = fadd double %X, 2.000000e+00 ; [#uses=1] %Z = bitcast double %Y to i64 ; [#uses=1] %res = bitcast i64 %Z to double ; [#uses=1] ret double %res @@ -31,7 +31,7 @@ define double @test5(double %D) { define float @test6(float %F) { %X = bitcast float %F to float ; [#uses=1] - %Y = add float %X, 2.000000e+00 ; [#uses=1] + %Y = fadd float %X, 2.000000e+00 ; [#uses=1] %Z = bitcast float %Y to i32 ; [#uses=1] %res = bitcast i32 %Z to float ; [#uses=1] ret float %res diff --git a/test/CodeGen/CBackend/2008-10-21-PPCLongDoubleConstant.ll b/test/CodeGen/CBackend/2008-10-21-PPCLongDoubleConstant.ll index afcac99a76..32d635ad72 100644 --- a/test/CodeGen/CBackend/2008-10-21-PPCLongDoubleConstant.ll +++ b/test/CodeGen/CBackend/2008-10-21-PPCLongDoubleConstant.ll @@ -20,7 +20,7 @@ entry: br label %bb4 bb4: ; preds = %bb5.split, %bb4, %entry - %0 = fcmp ogt ppc_fp128 0xM00000000000000000000000000000000, select (i1 fcmp olt (ppc_fp128 fpext (double 0x3C447AE147AE147B to ppc_fp128), ppc_fp128 mul (ppc_fp128 0xM00000000000000010000000000000000, ppc_fp128 0xM40140000000000000000000000000000)), ppc_fp128 mul (ppc_fp128 0xM00000000000000010000000000000000, ppc_fp128 0xM40140000000000000000000000000000), ppc_fp128 fpext (double 0x3C447AE147AE147B to ppc_fp128)) ; [#uses=1] + %0 = fcmp ogt ppc_fp128 0xM00000000000000000000000000000000, select (i1 fcmp olt (ppc_fp128 fpext (double 0x3C447AE147AE147B to ppc_fp128), ppc_fp128 fmul (ppc_fp128 0xM00000000000000010000000000000000, ppc_fp128 0xM40140000000000000000000000000000)), ppc_fp128 fmul (ppc_fp128 0xM00000000000000010000000000000000, ppc_fp128 0xM40140000000000000000000000000000), ppc_fp128 fpext (double 0x3C447AE147AE147B to ppc_fp128)) ; [#uses=1] br i1 %0, label %bb4, label %bb5.split bb5.split: ; preds = %bb4 diff --git a/test/CodeGen/CBackend/vectors.ll b/test/CodeGen/CBackend/vectors.ll index de78975491..d01e99288f 100644 --- a/test/CodeGen/CBackend/vectors.ll +++ b/test/CodeGen/CBackend/vectors.ll @@ -14,7 +14,7 @@ define i32 @test2(<4 x i32> %a, i32 %b) { } define <4 x float> @test3(<4 x float> %Y) { - %Z = add <4 x float> %Y, %Y + %Z = fadd <4 x float> %Y, %Y %X = shufflevector <4 x float> zeroinitializer, <4 x float> %Z, <4 x i32> < i32 0, i32 5, i32 6, i32 7 > ret <4 x float> %X } diff --git a/test/CodeGen/CellSPU/dp_farith.ll b/test/CodeGen/CellSPU/dp_farith.ll index 2579a404ee..d4802ae8f5 100644 --- a/test/CodeGen/CellSPU/dp_farith.ll +++ b/test/CodeGen/CellSPU/dp_farith.ll @@ -11,88 +11,88 @@ target datalayout = "E-p:32:32:128-f64:64:128-f32:32:128-i64:32:128-i32:32:128-i target triple = "spu" define double @fadd(double %arg1, double %arg2) { - %A = add double %arg1, %arg2 + %A = fadd double %arg1, %arg2 ret double %A } define <2 x double> @fadd_vec(<2 x double> %arg1, <2 x double> %arg2) { - %A = add <2 x double> %arg1, %arg2 + %A = fadd <2 x double> %arg1, %arg2 ret <2 x double> %A } define double @fsub(double %arg1, double %arg2) { - %A = sub double %arg1, %arg2 + %A = fsub double %arg1, %arg2 ret double %A } define <2 x double> @fsub_vec(<2 x double> %arg1, <2 x double> %arg2) { - %A = sub <2 x double> %arg1, %arg2 + %A = fsub <2 x double> %arg1, %arg2 ret <2 x double> %A } define double @fmul(double %arg1, double %arg2) { - %A = mul double %arg1, %arg2 + %A = fmul double %arg1, %arg2 ret double %A } define <2 x double> @fmul_vec(<2 x double> %arg1, <2 x double> %arg2) { - %A = mul <2 x double> %arg1, %arg2 + %A = fmul <2 x double> %arg1, %arg2 ret <2 x double> %A } define double @fma(double %arg1, double %arg2, double %arg3) { - %A = mul double %arg1, %arg2 - %B = add double %A, %arg3 + %A = fmul double %arg1, %arg2 + %B = fadd double %A, %arg3 ret double %B } define <2 x double> @fma_vec(<2 x double> %arg1, <2 x double> %arg2, <2 x double> %arg3) { - %A = mul <2 x double> %arg1, %arg2 - %B = add <2 x double> %A, %arg3 + %A = fmul <2 x double> %arg1, %arg2 + %B = fadd <2 x double> %A, %arg3 ret <2 x double> %B } define double @fms(double %arg1, double %arg2, double %arg3) { - %A = mul double %arg1, %arg2 - %B = sub double %A, %arg3 + %A = fmul double %arg1, %arg2 + %B = fsub double %A, %arg3 ret double %B } define <2 x double> @fms_vec(<2 x double> %arg1, <2 x double> %arg2, <2 x double> %arg3) { - %A = mul <2 x double> %arg1, %arg2 - %B = sub <2 x double> %A, %arg3 + %A = fmul <2 x double> %arg1, %arg2 + %B = fsub <2 x double> %A, %arg3 ret <2 x double> %B } ; - (a * b - c) define double @d_fnms_1(double %arg1, double %arg2, double %arg3) { - %A = mul double %arg1, %arg2 - %B = sub double %A, %arg3 - %C = sub double -0.000000e+00, %B ; [#uses=1] + %A = fmul double %arg1, %arg2 + %B = fsub double %A, %arg3 + %C = fsub double -0.000000e+00, %B ; [#uses=1] ret double %C } ; Annother way of getting fnms ; - ( a * b ) + c => c - (a * b) define double @d_fnms_2(double %arg1, double %arg2, double %arg3) { - %A = mul double %arg1, %arg2 - %B = sub double %arg3, %A + %A = fmul double %arg1, %arg2 + %B = fsub double %arg3, %A ret double %B } ; FNMS: - (a * b - c) => c - (a * b) define <2 x double> @d_fnms_vec_1(<2 x double> %arg1, <2 x double> %arg2, <2 x double> %arg3) { - %A = mul <2 x double> %arg1, %arg2 - %B = sub <2 x double> %arg3, %A ; + %A = fmul <2 x double> %arg1, %arg2 + %B = fsub <2 x double> %arg3, %A ; ret <2 x double> %B } ; Another way to get fnms using a constant vector ; - ( a * b - c) define <2 x double> @d_fnms_vec_2(<2 x double> %arg1, <2 x double> %arg2, <2 x double> %arg3) { - %A = mul <2 x double> %arg1, %arg2 ; <<2 x double>> [#uses=1] - %B = sub <2 x double> %A, %arg3 ; <<2 x double>> [#uses=1] - %C = sub <2 x double> < double -0.00000e+00, double -0.00000e+00 >, %B + %A = fmul <2 x double> %arg1, %arg2 ; <<2 x double>> [#uses=1] + %B = fsub <2 x double> %A, %arg3 ; <<2 x double>> [#uses=1] + %C = fsub <2 x double> < double -0.00000e+00, double -0.00000e+00 >, %B ret <2 x double> %C } diff --git a/test/CodeGen/CellSPU/fneg-fabs.ll b/test/CodeGen/CellSPU/fneg-fabs.ll index 4c6fbb95a3..5bd66f4aae 100644 --- a/test/CodeGen/CellSPU/fneg-fabs.ll +++ b/test/CodeGen/CellSPU/fneg-fabs.ll @@ -7,22 +7,22 @@ target datalayout = "E-p:32:32:128-f64:64:128-f32:32:128-i64:32:128-i32:32:128-i target triple = "spu" define double @fneg_dp(double %X) { - %Y = sub double -0.000000e+00, %X + %Y = fsub double -0.000000e+00, %X ret double %Y } define <2 x double> @fneg_dp_vec(<2 x double> %X) { - %Y = sub <2 x double> < double -0.0000e+00, double -0.0000e+00 >, %X + %Y = fsub <2 x double> < double -0.0000e+00, double -0.0000e+00 >, %X ret <2 x double> %Y } define float @fneg_sp(float %X) { - %Y = sub float -0.000000e+00, %X + %Y = fsub float -0.000000e+00, %X ret float %Y } define <4 x float> @fneg_sp_vec(<4 x float> %X) { - %Y = sub <4 x float> , %X ret <4 x float> %Y } diff --git a/test/CodeGen/CellSPU/sp_farith.ll b/test/CodeGen/CellSPU/sp_farith.ll index df3baef85c..d77dd9216c 100644 --- a/test/CodeGen/CellSPU/sp_farith.ll +++ b/test/CodeGen/CellSPU/sp_farith.ll @@ -12,79 +12,79 @@ target datalayout = "E-p:32:32:128-f64:64:128-f32:32:128-i64:32:128-i32:32:128-i target triple = "spu" define float @fp_add(float %arg1, float %arg2) { - %A = add float %arg1, %arg2 ; [#uses=1] + %A = fadd float %arg1, %arg2 ; [#uses=1] ret float %A } define <4 x float> @fp_add_vec(<4 x float> %arg1, <4 x float> %arg2) { - %A = add <4 x float> %arg1, %arg2 ; <<4 x float>> [#uses=1] + %A = fadd <4 x float> %arg1, %arg2 ; <<4 x float>> [#uses=1] ret <4 x float> %A } define float @fp_sub(float %arg1, float %arg2) { - %A = sub float %arg1, %arg2 ; [#uses=1] + %A = fsub float %arg1, %arg2 ; [#uses=1] ret float %A } define <4 x float> @fp_sub_vec(<4 x float> %arg1, <4 x float> %arg2) { - %A = sub <4 x float> %arg1, %arg2 ; <<4 x float>> [#uses=1] + %A = fsub <4 x float> %arg1, %arg2 ; <<4 x float>> [#uses=1] ret <4 x float> %A } define float @fp_mul(float %arg1, float %arg2) { - %A = mul float %arg1, %arg2 ; [#uses=1] + %A = fmul float %arg1, %arg2 ; [#uses=1] ret float %A } define <4 x float> @fp_mul_vec(<4 x float> %arg1, <4 x float> %arg2) { - %A = mul <4 x float> %arg1, %arg2 ; <<4 x float>> [#uses=1] + %A = fmul <4 x float> %arg1, %arg2 ; <<4 x float>> [#uses=1] ret <4 x float> %A } define float @fp_mul_add(float %arg1, float %arg2, float %arg3) { - %A = mul float %arg1, %arg2 ; [#uses=1] - %B = add float %A, %arg3 ; [#uses=1] + %A = fmul float %arg1, %arg2 ; [#uses=1] + %B = fadd float %A, %arg3 ; [#uses=1] ret float %B } define <4 x float> @fp_mul_add_vec(<4 x float> %arg1, <4 x float> %arg2, <4 x float> %arg3) { - %A = mul <4 x float> %arg1, %arg2 ; <<4 x float>> [#uses=1] - %B = add <4 x float> %A, %arg3 ; <<4 x float>> [#uses=1] + %A = fmul <4 x float> %arg1, %arg2 ; <<4 x float>> [#uses=1] + %B = fadd <4 x float> %A, %arg3 ; <<4 x float>> [#uses=1] ret <4 x float> %B } define float @fp_mul_sub(float %arg1, float %arg2, float %arg3) { - %A = mul float %arg1, %arg2 ; [#uses=1] - %B = sub float %A, %arg3 ; [#uses=1] + %A = fmul float %arg1, %arg2 ; [#uses=1] + %B = fsub float %A, %arg3 ; [#uses=1] ret float %B } define <4 x float> @fp_mul_sub_vec(<4 x float> %arg1, <4 x float> %arg2, <4 x float> %arg3) { - %A = mul <4 x float> %arg1, %arg2 ; <<4 x float>> [#uses=1] - %B = sub <4 x float> %A, %arg3 ; <<4 x float>> [#uses=1] + %A = fmul <4 x float> %arg1, %arg2 ; <<4 x float>> [#uses=1] + %B = fsub <4 x float> %A, %arg3 ; <<4 x float>> [#uses=1] ret <4 x float> %B } ; Test the straightforward way of getting fnms ; c - a * b define float @fp_neg_mul_sub_1(float %arg1, float %arg2, float %arg3) { - %A = mul float %arg1, %arg2 - %B = sub float %arg3, %A + %A = fmul float %arg1, %arg2 + %B = fsub float %arg3, %A ret float %B } ; Test another way of getting fnms ; - ( a *b -c ) = c - a * b define float @fp_neg_mul_sub_2(float %arg1, float %arg2, float %arg3) { - %A = mul float %arg1, %arg2 - %B = sub float %A, %arg3 - %C = sub float -0.0, %B + %A = fmul float %arg1, %arg2 + %B = fsub float %A, %arg3 + %C = fsub float -0.0, %B ret float %C } define <4 x float> @fp_neg_mul_sub_vec(<4 x float> %arg1, <4 x float> %arg2, <4 x float> %arg3) { - %A = mul <4 x float> %arg1, %arg2 - %B = sub <4 x float> %A, %arg3 - %D = sub <4 x float> < float -0.0, float -0.0, float -0.0, float -0.0 >, %B + %A = fmul <4 x float> %arg1, %arg2 + %B = fsub <4 x float> %A, %arg3 + %D = fsub <4 x float> < float -0.0, float -0.0, float -0.0, float -0.0 >, %B ret <4 x float> %D } diff --git a/test/CodeGen/Generic/2006-07-03-schedulers.ll b/test/CodeGen/Generic/2006-07-03-schedulers.ll index 4c4481ccad..597ee56609 100644 --- a/test/CodeGen/Generic/2006-07-03-schedulers.ll +++ b/test/CodeGen/Generic/2006-07-03-schedulers.ll @@ -12,13 +12,13 @@ define i32 @testissue(i32 %i, float %x, float %y) { br label %bb1 bb1: ; preds = %bb1, %0 - %x1 = mul float %x, %y ; [#uses=1] - %y1 = mul float %y, 7.500000e-01 ; [#uses=1] - %z1 = add float %x1, %y1 ; [#uses=1] - %x2 = mul float %x, 5.000000e-01 ; [#uses=1] - %y2 = mul float %y, 0x3FECCCCCC0000000 ; [#uses=1] - %z2 = add float %x2, %y2 ; [#uses=1] - %z3 = add float %z1, %z2 ; [#uses=1] + %x1 = fmul float %x, %y ; [#uses=1] + %y1 = fmul float %y, 7.500000e-01 ; [#uses=1] + %z1 = fadd float %x1, %y1 ; [#uses=1] + %x2 = fmul float %x, 5.000000e-01 ; [#uses=1] + %y2 = fmul float %y, 0x3FECCCCCC0000000 ; [#uses=1] + %z2 = fadd float %x2, %y2 ; [#uses=1] + %z3 = fadd float %z1, %z2 ; [#uses=1] %i1 = shl i32 %i, 3 ; [#uses=1] %j1 = add i32 %i, 7 ; [#uses=1] %m1 = add i32 %i1, %j1 ; [#uses=2] diff --git a/test/CodeGen/Generic/2007-05-15-InfiniteRecursion.ll b/test/CodeGen/Generic/2007-05-15-InfiniteRecursion.ll index 74957952fe..a61108a001 100644 --- a/test/CodeGen/Generic/2007-05-15-InfiniteRecursion.ll +++ b/test/CodeGen/Generic/2007-05-15-InfiniteRecursion.ll @@ -71,10 +71,10 @@ cond_next159.i: ; preds = %cond_true356.i.preheader %tmp178.i = add i32 %tmp116117.i, -128 ; [#uses=2] %tmp181.i = mul i32 %tmp178.i, %tmp178.i ; [#uses=1] %tmp181182.i = sitofp i32 %tmp181.i to float ; [#uses=1] - %tmp199200.pn.in.i = mul float %tmp181182.i, 0.000000e+00 ; [#uses=1] + %tmp199200.pn.in.i = fmul float %tmp181182.i, 0.000000e+00 ; [#uses=1] %tmp199200.pn.i = fpext float %tmp199200.pn.in.i to double ; [#uses=1] - %tmp201.pn.i = sub double 1.000000e+00, %tmp199200.pn.i ; [#uses=1] - %factor.2.in.i = mul double 0.000000e+00, %tmp201.pn.i ; [#uses=1] + %tmp201.pn.i = fsub double 1.000000e+00, %tmp199200.pn.i ; [#uses=1] + %factor.2.in.i = fmul double 0.000000e+00, %tmp201.pn.i ; [#uses=1] %factor.2.i = fptrunc double %factor.2.in.i to float ; [#uses=1] br i1 false, label %cond_next312.i, label %cond_false222.i diff --git a/test/CodeGen/Generic/2008-02-04-ExtractSubvector.ll b/test/CodeGen/Generic/2008-02-04-ExtractSubvector.ll index 1cf822b711..9acb852bce 100644 --- a/test/CodeGen/Generic/2008-02-04-ExtractSubvector.ll +++ b/test/CodeGen/Generic/2008-02-04-ExtractSubvector.ll @@ -5,7 +5,7 @@ entry: br label %bb15 bb15: ; preds = %bb15, %entry - %tmp21 = add <8 x double> zeroinitializer, zeroinitializer ; <<8 x double>> [#uses=1] + %tmp21 = fadd <8 x double> zeroinitializer, zeroinitializer ; <<8 x double>> [#uses=1] br i1 false, label %bb30, label %bb15 bb30: ; preds = %bb15 diff --git a/test/CodeGen/Generic/2008-02-25-NegateZero.ll b/test/CodeGen/Generic/2008-02-25-NegateZero.ll index e5a5274846..01693079a3 100644 --- a/test/CodeGen/Generic/2008-02-25-NegateZero.ll +++ b/test/CodeGen/Generic/2008-02-25-NegateZero.ll @@ -5,8 +5,8 @@ define void @test() { entry: %tmp98 = load float* null, align 4 ; [#uses=1] %tmp106 = load float* null, align 4 ; [#uses=1] - %tmp113 = add float %tmp98, %tmp106 ; [#uses=1] - %tmp119 = sub float %tmp113, 0.000000e+00 ; [#uses=1] + %tmp113 = fadd float %tmp98, %tmp106 ; [#uses=1] + %tmp119 = fsub float %tmp113, 0.000000e+00 ; [#uses=1] call void (i32, ...)* @foo( i32 0, float 0.000000e+00, float %tmp119 ) nounwind ret void } diff --git a/test/CodeGen/Generic/2008-02-26-NegatableCrash.ll b/test/CodeGen/Generic/2008-02-26-NegatableCrash.ll index 7fe19d925b..b2112f3ad3 100644 --- a/test/CodeGen/Generic/2008-02-26-NegatableCrash.ll +++ b/test/CodeGen/Generic/2008-02-26-NegatableCrash.ll @@ -30,16 +30,16 @@ bb.nph1770: ; preds = %bb429 br i1 false, label %bb471, label %bb505 bb471: ; preds = %bb471, %bb.nph1770 - %tmp487 = add double 0.000000e+00, 0.000000e+00 ; [#uses=1] + %tmp487 = fadd double 0.000000e+00, 0.000000e+00 ; [#uses=1] br i1 false, label %bb505, label %bb471 bb505: ; preds = %bb471, %bb.nph1770 %xy.0.lcssa = phi double [ 0.000000e+00, %bb.nph1770 ], [ %tmp487, %bb471 ] ; [#uses=1] - %tmp507 = sub double -0.000000e+00, %xy.0.lcssa ; [#uses=1] + %tmp507 = fsub double -0.000000e+00, %xy.0.lcssa ; [#uses=1] %tmp509 = fdiv double %tmp507, 0.000000e+00 ; [#uses=1] - %tmp510 = mul double %tmp509, 1.024000e+03 ; [#uses=1] + %tmp510 = fmul double %tmp509, 1.024000e+03 ; [#uses=1] %tmp516 = fdiv double %tmp510, 0.000000e+00 ; [#uses=1] - %tmp517 = add double %tmp516, 5.000000e-01 ; [#uses=1] + %tmp517 = fadd double %tmp516, 5.000000e-01 ; [#uses=1] %tmp518 = tail call double @floor( double %tmp517 ) nounwind readnone ; [#uses=0] ret i32 0 diff --git a/test/CodeGen/Generic/fneg-fabs.ll b/test/CodeGen/Generic/fneg-fabs.ll index f9580b1f30..2709fa1afd 100644 --- a/test/CodeGen/Generic/fneg-fabs.ll +++ b/test/CodeGen/Generic/fneg-fabs.ll @@ -1,12 +1,12 @@ ; RUN: llvm-as < %s | llc define double @fneg(double %X) { - %Y = sub double -0.000000e+00, %X ; [#uses=1] + %Y = fsub double -0.000000e+00, %X ; [#uses=1] ret double %Y } define float @fnegf(float %X) { - %Y = sub float -0.000000e+00, %X ; [#uses=1] + %Y = fsub float -0.000000e+00, %X ; [#uses=1] ret float %Y } diff --git a/test/CodeGen/Generic/print-arith-fp.ll b/test/CodeGen/Generic/print-arith-fp.ll index 87aa1a0ba9..1e27061941 100644 --- a/test/CodeGen/Generic/print-arith-fp.ll +++ b/test/CodeGen/Generic/print-arith-fp.ll @@ -24,9 +24,9 @@ define i32 @main() { %b_s = getelementptr [8 x i8]* @b_str, i64 0, i64 0 ; [#uses=1] call i32 (i8*, ...)* @printf( i8* %a_s, double %a ) ; :1 [#uses=0] call i32 (i8*, ...)* @printf( i8* %b_s, double %b ) ; :2 [#uses=0] - %add_r = add double %a, %b ; [#uses=1] - %sub_r = sub double %a, %b ; [#uses=1] - %mul_r = mul double %a, %b ; [#uses=1] + %add_r = fadd double %a, %b ; [#uses=1] + %sub_r = fsub double %a, %b ; [#uses=1] + %mul_r = fmul double %a, %b ; [#uses=1] %div_r = fdiv double %b, %a ; [#uses=1] %rem_r = frem double %b, %a ; [#uses=1] %add_s = getelementptr [12 x i8]* @add_str, i64 0, i64 0 ; [#uses=1] diff --git a/test/CodeGen/Generic/select.ll b/test/CodeGen/Generic/select.ll index fc573f3282..a532703d94 100644 --- a/test/CodeGen/Generic/select.ll +++ b/test/CodeGen/Generic/select.ll @@ -9,8 +9,8 @@ define void @testConsts(i32 %N, float %X) { %a = add i32 %N, 1 ; [#uses=0] %i = add i32 %N, 12345678 ; [#uses=0] %b = add i16 4, 3 ; [#uses=0] - %c = add float %X, 0.000000e+00 ; [#uses=0] - %d = add float %X, 0x400921CAC0000000 ; [#uses=0] + %c = fadd float %X, 0.000000e+00 ; [#uses=0] + %d = fadd float %X, 0x400921CAC0000000 ; [#uses=0] %f = add i32 -1, 10 ; [#uses=0] %g = add i16 20, -1 ; [#uses=0] %j = add i16 -1, 30 ; [#uses=0] @@ -126,8 +126,8 @@ define void @testfloatbool(float %x, float %y) { br label %Top Top: ; preds = %Top, %0 - %p = add float %x, %y ; [#uses=1] - %z = sub float %x, %y ; [#uses=1] + %p = fadd float %x, %y ; [#uses=1] + %z = fsub float %x, %y ; [#uses=1] %b = fcmp ole float %p, %z ; [#uses=2] %c = xor i1 %b, true ; [#uses=0] br i1 %b, label %Top, label %goon diff --git a/test/CodeGen/Generic/storetrunc-fp.ll b/test/CodeGen/Generic/storetrunc-fp.ll index 710a9907e0..0f7bb0b85e 100644 --- a/test/CodeGen/Generic/storetrunc-fp.ll +++ b/test/CodeGen/Generic/storetrunc-fp.ll @@ -1,7 +1,7 @@ ; RUN: llvm-as < %s | llc define void @foo(double %a, double %b, float* %fp) { - %c = add double %a, %b + %c = fadd double %a, %b %d = fptrunc double %c to float store float %d, float* %fp ret void diff --git a/test/CodeGen/Generic/v-split.ll b/test/CodeGen/Generic/v-split.ll index a312492463..44601d0c40 100644 --- a/test/CodeGen/Generic/v-split.ll +++ b/test/CodeGen/Generic/v-split.ll @@ -4,7 +4,7 @@ define void @test_f8(%f8 *%P, %f8* %Q, %f8 *%S) { %p = load %f8* %P %q = load %f8* %Q - %R = add %f8 %p, %q + %R = fadd %f8 %p, %q store %f8 %R, %f8 *%S ret void } diff --git a/test/CodeGen/Generic/vector.ll b/test/CodeGen/Generic/vector.ll index 910575750e..f283256d10 100644 --- a/test/CodeGen/Generic/vector.ll +++ b/test/CodeGen/Generic/vector.ll @@ -14,7 +14,7 @@ define void @test_f1(%f1* %P, %f1* %Q, %f1* %S) { %p = load %f1* %P ; <%f1> [#uses=1] %q = load %f1* %Q ; <%f1> [#uses=1] - %R = add %f1 %p, %q ; <%f1> [#uses=1] + %R = fadd %f1 %p, %q ; <%f1> [#uses=1] store %f1 %R, %f1* %S ret void } @@ -22,7 +22,7 @@ define void @test_f1(%f1* %P, %f1* %Q, %f1* %S) { define void @test_f2(%f2* %P, %f2* %Q, %f2* %S) { %p = load %f2* %P ; <%f2> [#uses=1] %q = load %f2* %Q ; <%f2> [#uses=1] - %R = add %f2 %p, %q ; <%f2> [#uses=1] + %R = fadd %f2 %p, %q ; <%f2> [#uses=1] store %f2 %R, %f2* %S ret void } @@ -30,7 +30,7 @@ define void @test_f2(%f2* %P, %f2* %Q, %f2* %S) { define void @test_f4(%f4* %P, %f4* %Q, %f4* %S) { %p = load %f4* %P ; <%f4> [#uses=1] %q = load %f4* %Q ; <%f4> [#uses=1] - %R = add %f4 %p, %q ; <%f4> [#uses=1] + %R = fadd %f4 %p, %q ; <%f4> [#uses=1] store %f4 %R, %f4* %S ret void } @@ -38,7 +38,7 @@ define void @test_f4(%f4* %P, %f4* %Q, %f4* %S) { define void @test_f8(%f8* %P, %f8* %Q, %f8* %S) { %p = load %f8* %P ; <%f8> [#uses=1] %q = load %f8* %Q ; <%f8> [#uses=1] - %R = add %f8 %p, %q ; <%f8> [#uses=1] + %R = fadd %f8 %p, %q ; <%f8> [#uses=1] store %f8 %R, %f8* %S ret void } @@ -46,7 +46,7 @@ define void @test_f8(%f8* %P, %f8* %Q, %f8* %S) { define void @test_fmul(%f8* %P, %f8* %Q, %f8* %S) { %p = load %f8* %P ; <%f8> [#uses=1] %q = load %f8* %Q ; <%f8> [#uses=1] - %R = mul %f8 %p, %q ; <%f8> [#uses=1] + %R = fmul %f8 %p, %q ; <%f8> [#uses=1] store %f8 %R, %f8* %S ret void } @@ -64,21 +64,21 @@ define void @test_div(%f8* %P, %f8* %Q, %f8* %S) { define void @test_cst(%f4* %P, %f4* %S) { %p = load %f4* %P ; <%f4> [#uses=1] - %R = add %f4 %p, < float 0x3FB99999A0000000, float 1.000000e+00, float 2.000000e+00, float 4.500000e+00 > ; <%f4> [#uses=1] + %R = fadd %f4 %p, < float 0x3FB99999A0000000, float 1.000000e+00, float 2.000000e+00, float 4.500000e+00 > ; <%f4> [#uses=1] store %f4 %R, %f4* %S ret void } define void @test_zero(%f4* %P, %f4* %S) { %p = load %f4* %P ; <%f4> [#uses=1] - %R = add %f4 %p, zeroinitializer ; <%f4> [#uses=1] + %R = fadd %f4 %p, zeroinitializer ; <%f4> [#uses=1] store %f4 %R, %f4* %S ret void } define void @test_undef(%f4* %P, %f4* %S) { %p = load %f4* %P ; <%f4> [#uses=1] - %R = add %f4 %p, undef ; <%f4> [#uses=1] + %R = fadd %f4 %p, undef ; <%f4> [#uses=1] store %f4 %R, %f4* %S ret void } @@ -115,7 +115,7 @@ define double @test_extract_elt2(%d8* %P) { define void @test_cast_1(%f4* %b, %i4* %a) { %tmp = load %f4* %b ; <%f4> [#uses=1] - %tmp2 = add %f4 %tmp, < float 1.000000e+00, float 2.000000e+00, float 3.000000e+00, float 4.000000e+00 > ; <%f4> [#uses=1] + %tmp2 = fadd %f4 %tmp, < float 1.000000e+00, float 2.000000e+00, float 3.000000e+00, float 4.000000e+00 > ; <%f4> [#uses=1] %tmp3 = bitcast %f4 %tmp2 to %i4 ; <%i4> [#uses=1] %tmp4 = add %i4 %tmp3, < i32 1, i32 2, i32 3, i32 4 > ; <%i4> [#uses=1] store %i4 %tmp4, %i4* %a @@ -137,7 +137,7 @@ define void @splat(%f4* %P, %f4* %Q, float %X) { %tmp4 = insertelement %f4 %tmp2, float %X, i32 2 ; <%f4> [#uses=1] %tmp6 = insertelement %f4 %tmp4, float %X, i32 3 ; <%f4> [#uses=1] %q = load %f4* %Q ; <%f4> [#uses=1] - %R = add %f4 %q, %tmp6 ; <%f4> [#uses=1] + %R = fadd %f4 %q, %tmp6 ; <%f4> [#uses=1] store %f4 %R, %f4* %P ret void } diff --git a/test/CodeGen/MSP430/2009-05-19-DoubleSplit.ll b/test/CodeGen/MSP430/2009-05-19-DoubleSplit.ll index 20050e93ac..70f1d996e7 100644 --- a/test/CodeGen/MSP430/2009-05-19-DoubleSplit.ll +++ b/test/CodeGen/MSP430/2009-05-19-DoubleSplit.ll @@ -2,7 +2,7 @@ define i16 @test(double %d) nounwind { entry: - %add = add double %d, 1.000000e+00 + %add = fadd double %d, 1.000000e+00 %call = tail call i16 @funct(double %add) nounwind ret i16 %call } diff --git a/test/CodeGen/Mips/2008-07-06-fadd64.ll b/test/CodeGen/Mips/2008-07-06-fadd64.ll index 95792ff157..f8eca85efa 100644 --- a/test/CodeGen/Mips/2008-07-06-fadd64.ll +++ b/test/CodeGen/Mips/2008-07-06-fadd64.ll @@ -5,6 +5,6 @@ target triple = "mipsallegrexel-psp-elf" define double @dofloat(double %a, double %b) nounwind { entry: - add double %a, %b ; :0 [#uses=1] + fadd double %a, %b ; :0 [#uses=1] ret double %0 } diff --git a/test/CodeGen/Mips/2008-07-22-Cstpool.ll b/test/CodeGen/Mips/2008-07-22-Cstpool.ll index 99eccf500d..2af7ab17c2 100644 --- a/test/CodeGen/Mips/2008-07-22-Cstpool.ll +++ b/test/CodeGen/Mips/2008-07-22-Cstpool.ll @@ -6,7 +6,7 @@ target triple = "mipsallegrexel-psp-elf" define float @F(float %a) nounwind { entry: - add float %a, 0x4011333340000000 ; :0 [#uses=1] - add float %0, 0x4010666660000000 ; :1 [#uses=1] + fadd float %a, 0x4011333340000000 ; :0 [#uses=1] + fadd float %0, 0x4010666660000000 ; :1 [#uses=1] ret float %1 } diff --git a/test/CodeGen/Mips/2008-07-23-fpcmp.ll b/test/CodeGen/Mips/2008-07-23-fpcmp.ll index 7bc1f42d10..4580215b38 100644 --- a/test/CodeGen/Mips/2008-07-23-fpcmp.ll +++ b/test/CodeGen/Mips/2008-07-23-fpcmp.ll @@ -11,7 +11,7 @@ entry: br i1 %0, label %bb, label %bb2 bb: ; preds = %entry - add float %a, 1.000000e+00 ; :1 [#uses=1] + fadd float %a, 1.000000e+00 ; :1 [#uses=1] ret float %1 bb2: ; preds = %entry diff --git a/test/CodeGen/Mips/2008-08-03-fabs64.ll b/test/CodeGen/Mips/2008-08-03-fabs64.ll index 8495bfe112..9d18f47bce 100644 --- a/test/CodeGen/Mips/2008-08-03-fabs64.ll +++ b/test/CodeGen/Mips/2008-08-03-fabs64.ll @@ -9,7 +9,7 @@ define double @A(double %c, double %d) nounwind readnone { entry: tail call double @fabs( double %c ) nounwind readnone ; :0 [#uses=1] tail call double @fabs( double %d ) nounwind readnone ; :0 [#uses=1] - add double %0, %1 + fadd double %0, %1 ret double %2 } diff --git a/test/CodeGen/Mips/2008-11-10-xint_to_fp.ll b/test/CodeGen/Mips/2008-11-10-xint_to_fp.ll index c9ee2cf81a..1f7440afed 100644 --- a/test/CodeGen/Mips/2008-11-10-xint_to_fp.ll +++ b/test/CodeGen/Mips/2008-11-10-xint_to_fp.ll @@ -21,12 +21,12 @@ entry: load i16* %3, align 2 ; :4 [#uses=1] uitofp i16 %4 to double ; :5 [#uses=1] tail call double @ldexp( double %5, i32 -32 ) nounwind ; :6 [#uses=1] - add double %2, %6 ; :7 [#uses=1] + fadd double %2, %6 ; :7 [#uses=1] getelementptr i16* %xseed, i32 2 ; :8 [#uses=1] load i16* %8, align 2 ; :9 [#uses=1] uitofp i16 %9 to double ; :10 [#uses=1] tail call double @ldexp( double %10, i32 -16 ) nounwind ; :11 [#uses=1] - add double %7, %11 ; :12 [#uses=1] + fadd double %7, %11 ; :12 [#uses=1] ret double %12 } @@ -45,11 +45,11 @@ entry: load i16* %4, align 2 ; :5 [#uses=1] uitofp i16 %5 to double ; :6 [#uses=1] tail call double @ldexp( double %6, i32 -32 ) nounwind ; :7 [#uses=1] - add double %3, %7 ; :8 [#uses=1] + fadd double %3, %7 ; :8 [#uses=1] getelementptr i16* %xseed, i32 2 ; :9 [#uses=1] load i16* %9, align 2 ; :10 [#uses=1] uitofp i16 %10 to double ; :11 [#uses=1] tail call double @ldexp( double %11, i32 -16 ) nounwind ; :12 [#uses=1] - add double %8, %12 ; :13 [#uses=1] + fadd double %8, %12 ; :13 [#uses=1] ret double %13 } diff --git a/test/CodeGen/PowerPC/2006-01-11-darwin-fp-argument.ll b/test/CodeGen/PowerPC/2006-01-11-darwin-fp-argument.ll index e2f06f5e69..1b3bde8fb1 100644 --- a/test/CodeGen/PowerPC/2006-01-11-darwin-fp-argument.ll +++ b/test/CodeGen/PowerPC/2006-01-11-darwin-fp-argument.ll @@ -5,6 +5,6 @@ target triple = "powerpc-apple-darwin8.2.0" ; Dead argument should reserve an FP register. define double @bar(double %DEAD, double %X, double %Y) { - %tmp.2 = add double %X, %Y ; [#uses=1] + %tmp.2 = fadd double %X, %Y ; [#uses=1] ret double %tmp.2 } diff --git a/test/CodeGen/PowerPC/2006-10-11-combiner-aa-regression.ll b/test/CodeGen/PowerPC/2006-10-11-combiner-aa-regression.ll index a58cd162b4..7a65c00f10 100644 --- a/test/CodeGen/PowerPC/2006-10-11-combiner-aa-regression.ll +++ b/test/CodeGen/PowerPC/2006-10-11-combiner-aa-regression.ll @@ -9,15 +9,15 @@ define void @offset(%struct.Point* %pt, double %x, double %y, double %z) { entry: %tmp = getelementptr %struct.Point* %pt, i32 0, i32 0 ; [#uses=2] %tmp.upgrd.1 = load double* %tmp ; [#uses=1] - %tmp2 = add double %tmp.upgrd.1, %x ; [#uses=1] + %tmp2 = fadd double %tmp.upgrd.1, %x ; [#uses=1] store double %tmp2, double* %tmp %tmp6 = getelementptr %struct.Point* %pt, i32 0, i32 1 ; [#uses=2] %tmp7 = load double* %tmp6 ; [#uses=1] - %tmp9 = add double %tmp7, %y ; [#uses=1] + %tmp9 = fadd double %tmp7, %y ; [#uses=1] store double %tmp9, double* %tmp6 %tmp13 = getelementptr %struct.Point* %pt, i32 0, i32 2 ; [#uses=2] %tmp14 = load double* %tmp13 ; [#uses=1] - %tmp16 = add double %tmp14, %z ; [#uses=1] + %tmp16 = fadd double %tmp14, %z ; [#uses=1] store double %tmp16, double* %tmp13 ret void } diff --git a/test/CodeGen/PowerPC/2007-03-30-SpillerCrash.ll b/test/CodeGen/PowerPC/2007-03-30-SpillerCrash.ll index 04ca3bbde1..637208b610 100644 --- a/test/CodeGen/PowerPC/2007-03-30-SpillerCrash.ll +++ b/test/CodeGen/PowerPC/2007-03-30-SpillerCrash.ll @@ -604,10 +604,10 @@ xPIF.exit: ; preds = %.critedge7898, %xOperationInitMasks.exit shufflevector <4 x float> %583, <4 x float> undef, <4 x i32> < i32 3, i32 3, i32 3, i32 3 > ; <<4 x float>>:589 [#uses=1] shufflevector <4 x float> %585, <4 x float> undef, <4 x i32> < i32 3, i32 3, i32 3, i32 3 > ; <<4 x float>>:590 [#uses=1] shufflevector <4 x float> %588, <4 x float> undef, <4 x i32> < i32 3, i32 3, i32 3, i32 3 > ; <<4 x float>>:591 [#uses=1] - mul <4 x float> zeroinitializer, %589 ; <<4 x float>>:592 [#uses=0] - mul <4 x float> zeroinitializer, %590 ; <<4 x float>>:593 [#uses=0] - mul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:594 [#uses=1] - mul <4 x float> zeroinitializer, %591 ; <<4 x float>>:595 [#uses=0] + fmul <4 x float> zeroinitializer, %589 ; <<4 x float>>:592 [#uses=0] + fmul <4 x float> zeroinitializer, %590 ; <<4 x float>>:593 [#uses=0] + fmul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:594 [#uses=1] + fmul <4 x float> zeroinitializer, %591 ; <<4 x float>>:595 [#uses=0] getelementptr [193 x [4 x <4 x float>]]* null, i32 0, i32 4, i32 0 ; <<4 x float>*>:596 [#uses=2] load <4 x float>* %596 ; <<4 x float>>:597 [#uses=0] store <4 x float> zeroinitializer, <4 x float>* %596 @@ -621,8 +621,8 @@ xPIF.exit: ; preds = %.critedge7898, %xOperationInitMasks.exit load <4 x float>* null ; <<4 x float>>:604 [#uses=1] getelementptr [193 x [4 x <4 x float>]]* null, i32 0, i32 4, i32 2 ; <<4 x float>*>:605 [#uses=1] load <4 x float>* %605 ; <<4 x float>>:606 [#uses=1] - sub <4 x float> zeroinitializer, %604 ; <<4 x float>>:607 [#uses=2] - sub <4 x float> zeroinitializer, %606 ; <<4 x float>>:608 [#uses=2] + fsub <4 x float> zeroinitializer, %604 ; <<4 x float>>:607 [#uses=2] + fsub <4 x float> zeroinitializer, %606 ; <<4 x float>>:608 [#uses=2] call i32 @llvm.ppc.altivec.vcmpequw.p( i32 0, <4 x i32> zeroinitializer, <4 x i32> zeroinitializer ) ; :609 [#uses=0] br i1 false, label %617, label %610 @@ -672,21 +672,21 @@ xST.exit400: ; preds = %633, %625, %610 load <4 x float>* null ; <<4 x float>>:638 [#uses=2] getelementptr [193 x [4 x <4 x float>]]* null, i32 0, i32 0, i32 2 ; <<4 x float>*>:639 [#uses=0] load <4 x float>* null ; <<4 x float>>:640 [#uses=2] - mul <4 x float> %638, %638 ; <<4 x float>>:641 [#uses=1] - mul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:642 [#uses=0] - mul <4 x float> %640, %640 ; <<4 x float>>:643 [#uses=2] + fmul <4 x float> %638, %638 ; <<4 x float>>:641 [#uses=1] + fmul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:642 [#uses=0] + fmul <4 x float> %640, %640 ; <<4 x float>>:643 [#uses=2] shufflevector <4 x float> zeroinitializer, <4 x float> undef, <4 x i32> < i32 1, i32 1, i32 1, i32 1 > ; <<4 x float>>:644 [#uses=0] shufflevector <4 x float> %643, <4 x float> undef, <4 x i32> < i32 1, i32 1, i32 1, i32 1 > ; <<4 x float>>:645 [#uses=1] - add <4 x float> %645, %643 ; <<4 x float>>:646 [#uses=0] + fadd <4 x float> %645, %643 ; <<4 x float>>:646 [#uses=0] shufflevector <4 x float> zeroinitializer, <4 x float> undef, <4 x i32> < i32 2, i32 2, i32 2, i32 2 > ; <<4 x float>>:647 [#uses=1] shufflevector <4 x float> %641, <4 x float> undef, <4 x i32> < i32 2, i32 2, i32 2, i32 2 > ; <<4 x float>>:648 [#uses=1] - add <4 x float> zeroinitializer, %647 ; <<4 x float>>:649 [#uses=2] - add <4 x float> zeroinitializer, %648 ; <<4 x float>>:650 [#uses=0] - add <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:651 [#uses=2] + fadd <4 x float> zeroinitializer, %647 ; <<4 x float>>:649 [#uses=2] + fadd <4 x float> zeroinitializer, %648 ; <<4 x float>>:650 [#uses=0] + fadd <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:651 [#uses=2] call <4 x float> @llvm.ppc.altivec.vrsqrtefp( <4 x float> %649 ) ; <<4 x float>>:652 [#uses=1] - mul <4 x float> %652, %649 ; <<4 x float>>:653 [#uses=1] + fmul <4 x float> %652, %649 ; <<4 x float>>:653 [#uses=1] call <4 x float> @llvm.ppc.altivec.vrsqrtefp( <4 x float> %651 ) ; <<4 x float>>:654 [#uses=1] - mul <4 x float> %654, %651 ; <<4 x float>>:655 [#uses=0] + fmul <4 x float> %654, %651 ; <<4 x float>>:655 [#uses=0] icmp eq i32 0, 0 ; :656 [#uses=1] br i1 %656, label %665, label %657 @@ -721,9 +721,9 @@ xST.exit402: ; preds = %669, %657 load <4 x float>* null ; <<4 x float>>:676 [#uses=0] shufflevector <4 x float> zeroinitializer, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>>:677 [#uses=1] shufflevector <4 x float> %675, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>>:678 [#uses=1] - mul <4 x float> zeroinitializer, %677 ; <<4 x float>>:679 [#uses=0] - mul <4 x float> zeroinitializer, %678 ; <<4 x float>>:680 [#uses=0] - mul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:681 [#uses=1] + fmul <4 x float> zeroinitializer, %677 ; <<4 x float>>:679 [#uses=0] + fmul <4 x float> zeroinitializer, %678 ; <<4 x float>>:680 [#uses=0] + fmul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:681 [#uses=1] icmp eq i32 0, 0 ; :682 [#uses=1] br i1 %682, label %689, label %683 @@ -750,7 +750,7 @@ xST.exit405: ; preds = %689, %683 load <4 x float>* null ; <<4 x float>>:698 [#uses=0] getelementptr [193 x [4 x <4 x float>]]* null, i32 0, i32 5, i32 2 ; <<4 x float>*>:699 [#uses=0] shufflevector <4 x float> zeroinitializer, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>>:700 [#uses=1] - add <4 x float> zeroinitializer, %700 ; <<4 x float>>:701 [#uses=0] + fadd <4 x float> zeroinitializer, %700 ; <<4 x float>>:701 [#uses=0] load <4 x i32>* %.sub7896 ; <<4 x i32>>:702 [#uses=1] call i32 @llvm.ppc.altivec.vcmpequw.p( i32 0, <4 x i32> %702, <4 x i32> zeroinitializer ) ; :703 [#uses=0] getelementptr [193 x [4 x <4 x float>]]* null, i32 0, i32 1, i32 1 ; <<4 x float>*>:704 [#uses=2] @@ -769,7 +769,7 @@ xST.exit405: ; preds = %689, %683 getelementptr [193 x [4 x <4 x float>]]* null, i32 0, i32 4, i32 2 ; <<4 x float>*>:714 [#uses=1] load <4 x float>* %714 ; <<4 x float>>:715 [#uses=0] shufflevector <4 x float> zeroinitializer, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>>:716 [#uses=0] - mul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:717 [#uses=1] + fmul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:717 [#uses=1] load <4 x i32>* %.sub7896 ; <<4 x i32>>:718 [#uses=0] getelementptr [193 x [4 x <4 x float>]]* null, i32 0, i32 5, i32 0 ; <<4 x float>*>:719 [#uses=1] store <4 x float> zeroinitializer, <4 x float>* %719 @@ -791,10 +791,10 @@ xST.exit405: ; preds = %689, %683 load <4 x float>* %732 ; <<4 x float>>:733 [#uses=0] getelementptr [193 x [4 x <4 x float>]]* null, i32 0, i32 4, i32 3 ; <<4 x float>*>:734 [#uses=0] shufflevector <4 x float> zeroinitializer, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>>:735 [#uses=1] - mul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:736 [#uses=1] - mul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:737 [#uses=1] - mul <4 x float> zeroinitializer, %735 ; <<4 x float>>:738 [#uses=1] - mul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:739 [#uses=1] + fmul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:736 [#uses=1] + fmul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:737 [#uses=1] + fmul <4 x float> zeroinitializer, %735 ; <<4 x float>>:738 [#uses=1] + fmul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:739 [#uses=1] call i32 @llvm.ppc.altivec.vcmpequw.p( i32 0, <4 x i32> zeroinitializer, <4 x i32> zeroinitializer ) ; :740 [#uses=1] icmp eq i32 %740, 0 ; :741 [#uses=0] getelementptr [193 x [4 x <4 x float>]]* null, i32 0, i32 4, i32 0 ; <<4 x float>*>:742 [#uses=2] @@ -821,9 +821,9 @@ xST.exit405: ; preds = %689, %683 getelementptr [193 x [4 x <4 x float>]]* null, i32 0, i32 4, i32 3 ; <<4 x float>*>:761 [#uses=0] shufflevector <4 x float> zeroinitializer, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>>:762 [#uses=0] shufflevector <4 x float> zeroinitializer, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>>:763 [#uses=1] - add <4 x float> %757, zeroinitializer ; <<4 x float>>:764 [#uses=0] - add <4 x float> %758, %763 ; <<4 x float>>:765 [#uses=0] - mul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:766 [#uses=1] + fadd <4 x float> %757, zeroinitializer ; <<4 x float>>:764 [#uses=0] + fadd <4 x float> %758, %763 ; <<4 x float>>:765 [#uses=0] + fmul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:766 [#uses=1] br i1 false, label %773, label %767 ;