Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul,
authorDan Gohman <gohman@apple.com>
Tue, 2 Mar 2010 01:11:08 +0000 (01:11 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 2 Mar 2010 01:11:08 +0000 (01:11 +0000)
respectively.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97531 91177308-0d34-0410-b5e6-96231b3b80d8

17 files changed:
docs/CodeGenerator.html
docs/tutorial/LangImpl3.html
docs/tutorial/LangImpl4.html
docs/tutorial/LangImpl5.html
docs/tutorial/LangImpl7.html
docs/tutorial/OCamlLangImpl3.html
docs/tutorial/OCamlLangImpl4.html
docs/tutorial/OCamlLangImpl5.html
docs/tutorial/OCamlLangImpl7.html
lib/Target/PowerPC/README.txt
lib/Target/X86/README-SSE.txt
lib/Transforms/InstCombine/InstCombineAddSub.cpp
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
test/ExecutionEngine/2010-01-15-UndefValue.ll
test/Transforms/InstCombine/multi-use-or.ll
test/Transforms/InstCombine/vec_narrow.ll
test/Transforms/SimplifyCFG/2009-06-15-InvokeCrash.ll

index 4c87efaad06bb2eb8c8a08aaeebbd8d6286d2882..2be31851e36a693774c8528a50603d48dd62a419 100644 (file)
@@ -1041,9 +1041,9 @@ ret
 
 <div class="doc_code">
 <pre>
-%t1 = add float %W, %X
-%t2 = mul float %t1, %Y
-%t3 = add float %t2, %Z
+%t1 = fadd float %W, %X
+%t2 = fmul float %t1, %Y
+%t3 = fadd float %t2, %Z
 </pre>
 </div>
 
index 846a55f47f2daa2d175794c5f18f704a66f87a4b..fe28d41e6780bdb8b36fe3b34d6c142fc70b2eab 100644 (file)
@@ -554,12 +554,12 @@ ready&gt; <b>def foo(a b) a*a + 2*a*b + b*b;</b>
 Read function definition:
 define double @foo(double %a, double %b) {
 entry:
-        %multmp = mul double %a, %a
-        %multmp1 = mul double 2.000000e+00, %a
-        %multmp2 = mul double %multmp1, %b
-        %addtmp = add double %multmp, %multmp2
-        %multmp3 = mul double %b, %b
-        %addtmp4 = add double %addtmp, %multmp3
+        %multmp = fmul double %a, %a
+        %multmp1 = fmul double 2.000000e+00, %a
+        %multmp2 = fmul double %multmp1, %b
+        %addtmp = fadd double %multmp, %multmp2
+        %multmp3 = fmul double %b, %b
+        %addtmp4 = fadd double %addtmp, %multmp3
         ret double %addtmp4
 }
 </pre>
@@ -576,7 +576,7 @@ define double @bar(double %a) {
 entry:
         %calltmp = call double @foo( double %a, double 4.000000e+00 )
         %calltmp1 = call double @bar( double 3.133700e+04 )
-        %addtmp = add double %calltmp, %calltmp1
+        %addtmp = fadd double %calltmp, %calltmp1
         ret double %addtmp
 }
 </pre>
@@ -612,18 +612,18 @@ ready&gt; <b>^D</b>
 
 define double @""() {
 entry:
-        %addtmp = add double 4.000000e+00, 5.000000e+00
+        %addtmp = fadd double 4.000000e+00, 5.000000e+00
         ret double %addtmp
 }
 
 define double @foo(double %a, double %b) {
 entry:
-        %multmp = mul double %a, %a
-        %multmp1 = mul double 2.000000e+00, %a
-        %multmp2 = mul double %multmp1, %b
-        %addtmp = add double %multmp, %multmp2
-        %multmp3 = mul double %b, %b
-        %addtmp4 = add double %addtmp, %multmp3
+        %multmp = fmul double %a, %a
+        %multmp1 = fmul double 2.000000e+00, %a
+        %multmp2 = fmul double %multmp1, %b
+        %addtmp = fadd double %multmp, %multmp2
+        %multmp3 = fmul double %b, %b
+        %addtmp4 = fadd double %addtmp, %multmp3
         ret double %addtmp4
 }
 
@@ -631,7 +631,7 @@ define double @bar(double %a) {
 entry:
         %calltmp = call double @foo( double %a, double 4.000000e+00 )
         %calltmp1 = call double @bar( double 3.133700e+04 )
-        %addtmp = add double %calltmp, %calltmp1
+        %addtmp = fadd double %calltmp, %calltmp1
         ret double %addtmp
 }
 
index 70fd673d64ba8b412a4e1cb92e71561970d26717..230e6e5dc53987e89368a048f9e3b7d0126ca56a 100644 (file)
@@ -65,7 +65,7 @@ ready&gt; <b>def test(x) 1+2+x;</b>
 Read function definition:
 define double @test(double %x) {
 entry:
-        %addtmp = add double 3.000000e+00, %x
+        %addtmp = fadd double 3.000000e+00, %x
         ret double %addtmp
 }
 </pre>
@@ -80,8 +80,8 @@ ready&gt; <b>def test(x) 1+2+x;</b>
 Read function definition:
 define double @test(double %x) {
 entry:
-        %addtmp = add double 2.000000e+00, 1.000000e+00
-        %addtmp1 = add double %addtmp, %x
+        %addtmp = fadd double 2.000000e+00, 1.000000e+00
+        %addtmp1 = fadd double %addtmp, %x
         ret double %addtmp1
 }
 </pre>
@@ -113,9 +113,9 @@ ready&gt; <b>def test(x) (1+2+x)*(x+(1+2));</b>
 ready> Read function definition:
 define double @test(double %x) {
 entry:
-        %addtmp = add double 3.000000e+00, %x
-        %addtmp1 = add double %x, 3.000000e+00
-        %multmp = mul double %addtmp, %addtmp1
+        %addtmp = fadd double 3.000000e+00, %x
+        %addtmp1 = fadd double %x, 3.000000e+00
+        %multmp = fmul double %addtmp, %addtmp1
         ret double %multmp
 }
 </pre>
@@ -240,8 +240,8 @@ ready&gt; <b>def test(x) (1+2+x)*(x+(1+2));</b>
 ready> Read function definition:
 define double @test(double %x) {
 entry:
-        %addtmp = add double %x, 3.000000e+00
-        %multmp = mul double %addtmp, %addtmp
+        %addtmp = fadd double %x, 3.000000e+00
+        %multmp = fmul double %addtmp, %addtmp
         ret double %multmp
 }
 </pre>
@@ -363,8 +363,8 @@ ready&gt; <b>def testfunc(x y) x + y*2; </b>
 Read function definition:
 define double @testfunc(double %x, double %y) {
 entry:
-        %multmp = mul double %y, 2.000000e+00
-        %addtmp = add double %multmp, %x
+        %multmp = fmul double %y, 2.000000e+00
+        %addtmp = fadd double %multmp, %x
         ret double %addtmp
 }
 
@@ -411,10 +411,10 @@ Read function definition:
 define double @foo(double %x) {
 entry:
         %calltmp = call double @sin( double %x )
-        %multmp = mul double %calltmp, %calltmp
+        %multmp = fmul double %calltmp, %calltmp
         %calltmp2 = call double @cos( double %x )
-        %multmp4 = mul double %calltmp2, %calltmp2
-        %addtmp = add double %multmp, %multmp4
+        %multmp4 = fmul double %calltmp2, %calltmp2
+        %addtmp = fadd double %multmp, %multmp4
         ret double %addtmp
 }
 
index 2b0450fef98131bfaffd5e07fa6dbcf00df40f5e..7136351bbb343eaa3e0deda9036d464306753f00 100644 (file)
@@ -678,7 +678,7 @@ loop:               ; preds = %loop, %entry
         ; body
        %calltmp = call double @putchard( double 4.200000e+01 )
         ; increment
-       %nextvar = add double %i, 1.000000e+00
+       %nextvar = fadd double %i, 1.000000e+00
 
         ; termination test
        %cmptmp = fcmp ult double %i, %n
index f0a03c3cc89580aa3310bc537b7423db67af7e72..0b46ba58ec559f40a171126ac7aa23ed5a20e21b 100644 (file)
@@ -557,12 +557,12 @@ then:             ; preds = %entry
 
 else:          ; preds = %entry
        <b>%x3 = load double* %x1</b>
-       %subtmp = sub double %x3, 1.000000e+00
+       %subtmp = fsub double %x3, 1.000000e+00
        %calltmp = call double @fib( double %subtmp )
        <b>%x4 = load double* %x1</b>
-       %subtmp5 = sub double %x4, 2.000000e+00
+       %subtmp5 = fsub double %x4, 2.000000e+00
        %calltmp6 = call double @fib( double %subtmp5 )
-       %addtmp = add double %calltmp, %calltmp6
+       %addtmp = fadd double %calltmp, %calltmp6
        br label %ifcont
 
 ifcont:                ; preds = %else, %then
@@ -595,11 +595,11 @@ then:
        br label %ifcont
 
 else:
-       %subtmp = sub double <b>%x</b>, 1.000000e+00
+       %subtmp = fsub double <b>%x</b>, 1.000000e+00
        %calltmp = call double @fib( double %subtmp )
-       %subtmp5 = sub double <b>%x</b>, 2.000000e+00
+       %subtmp5 = fsub double <b>%x</b>, 2.000000e+00
        %calltmp6 = call double @fib( double %subtmp5 )
-       %addtmp = add double %calltmp, %calltmp6
+       %addtmp = fadd double %calltmp, %calltmp6
        br label %ifcont
 
 ifcont:                ; preds = %else, %then
@@ -625,11 +625,11 @@ entry:
        br i1 %ifcond, label %else, label %ifcont
 
 else:
-       %subtmp = sub double %x, 1.000000e+00
+       %subtmp = fsub double %x, 1.000000e+00
        %calltmp = call double @fib( double %subtmp )
-       %subtmp5 = sub double %x, 2.000000e+00
+       %subtmp5 = fsub double %x, 2.000000e+00
        %calltmp6 = call double @fib( double %subtmp5 )
-       %addtmp = add double %calltmp, %calltmp6
+       %addtmp = fadd double %calltmp, %calltmp6
        ret double %addtmp
 
 ifcont:
index f3814c8d10bc9e0b7a058e6b088fee9a3b9b8e31..0d69207db61f3e320c75e626cd4d4152a893069e 100644 (file)
@@ -484,7 +484,7 @@ ready&gt; <b>4+5</b>;
 Read top-level expression:
 define double @""() {
 entry:
-        %addtmp = add double 4.000000e+00, 5.000000e+00
+        %addtmp = fadd double 4.000000e+00, 5.000000e+00
         ret double %addtmp
 }
 </pre>
@@ -503,12 +503,12 @@ ready&gt; <b>def foo(a b) a*a + 2*a*b + b*b;</b>
 Read function definition:
 define double @foo(double %a, double %b) {
 entry:
-        %multmp = mul double %a, %a
-        %multmp1 = mul double 2.000000e+00, %a
-        %multmp2 = mul double %multmp1, %b
-        %addtmp = add double %multmp, %multmp2
-        %multmp3 = mul double %b, %b
-        %addtmp4 = add double %addtmp, %multmp3
+        %multmp = fmul double %a, %a
+        %multmp1 = fmul double 2.000000e+00, %a
+        %multmp2 = fmul double %multmp1, %b
+        %addtmp = fadd double %multmp, %multmp2
+        %multmp3 = fmul double %b, %b
+        %addtmp4 = fadd double %addtmp, %multmp3
         ret double %addtmp4
 }
 </pre>
@@ -525,7 +525,7 @@ define double @bar(double %a) {
 entry:
         %calltmp = call double @foo( double %a, double 4.000000e+00 )
         %calltmp1 = call double @bar( double 3.133700e+04 )
-        %addtmp = add double %calltmp, %calltmp1
+        %addtmp = fadd double %calltmp, %calltmp1
         ret double %addtmp
 }
 </pre>
@@ -561,18 +561,18 @@ ready&gt; <b>^D</b>
 
 define double @""() {
 entry:
-        %addtmp = add double 4.000000e+00, 5.000000e+00
+        %addtmp = fadd double 4.000000e+00, 5.000000e+00
         ret double %addtmp
 }
 
 define double @foo(double %a, double %b) {
 entry:
-        %multmp = mul double %a, %a
-        %multmp1 = mul double 2.000000e+00, %a
-        %multmp2 = mul double %multmp1, %b
-        %addtmp = add double %multmp, %multmp2
-        %multmp3 = mul double %b, %b
-        %addtmp4 = add double %addtmp, %multmp3
+        %multmp = fmul double %a, %a
+        %multmp1 = fmul double 2.000000e+00, %a
+        %multmp2 = fmul double %multmp1, %b
+        %addtmp = fadd double %multmp, %multmp2
+        %multmp3 = fmul double %b, %b
+        %addtmp4 = fadd double %addtmp, %multmp3
         ret double %addtmp4
 }
 
@@ -580,7 +580,7 @@ define double @bar(double %a) {
 entry:
         %calltmp = call double @foo( double %a, double 4.000000e+00 )
         %calltmp1 = call double @bar( double 3.133700e+04 )
-        %addtmp = add double %calltmp, %calltmp1
+        %addtmp = fadd double %calltmp, %calltmp1
         ret double %addtmp
 }
 
index 534502d08c0785f87a4990a6ba064d0f380891b2..1619920be2b061ee003de62b0ef9ef5d600089eb 100644 (file)
@@ -72,8 +72,8 @@ ready&gt; <b>def test(x) 1+2+x;</b>
 Read function definition:
 define double @test(double %x) {
 entry:
-        %addtmp = add double 1.000000e+00, 2.000000e+00
-        %addtmp1 = add double %addtmp, %x
+        %addtmp = fadd double 1.000000e+00, 2.000000e+00
+        %addtmp1 = fadd double %addtmp, %x
         ret double %addtmp1
 }
 </pre>
@@ -104,7 +104,7 @@ ready&gt; <b>def test(x) 1+2+x;</b>
 Read function definition:
 define double @test(double %x) {
 entry:
-        %addtmp = add double 3.000000e+00, %x
+        %addtmp = fadd double 3.000000e+00, %x
         ret double %addtmp
 }
 </pre>
@@ -127,9 +127,9 @@ ready&gt; <b>def test(x) (1+2+x)*(x+(1+2));</b>
 ready&gt; Read function definition:
 define double @test(double %x) {
 entry:
-        %addtmp = add double 3.000000e+00, %x
-        %addtmp1 = add double %x, 3.000000e+00
-        %multmp = mul double %addtmp, %addtmp1
+        %addtmp = fadd double 3.000000e+00, %x
+        %addtmp1 = fadd double %x, 3.000000e+00
+        %multmp = fmul double %addtmp, %addtmp1
         ret double %multmp
 }
 </pre>
@@ -267,8 +267,8 @@ ready&gt; <b>def test(x) (1+2+x)*(x+(1+2));</b>
 ready&gt; Read function definition:
 define double @test(double %x) {
 entry:
-        %addtmp = add double %x, 3.000000e+00
-        %multmp = mul double %addtmp, %addtmp
+        %addtmp = fadd double %x, 3.000000e+00
+        %multmp = fmul double %addtmp, %addtmp
         ret double %multmp
 }
 </pre>
@@ -388,8 +388,8 @@ ready&gt; <b>def testfunc(x y) x + y*2; </b>
 Read function definition:
 define double @testfunc(double %x, double %y) {
 entry:
-        %multmp = mul double %y, 2.000000e+00
-        %addtmp = add double %multmp, %x
+        %multmp = fmul double %y, 2.000000e+00
+        %addtmp = fadd double %multmp, %x
         ret double %addtmp
 }
 
@@ -436,10 +436,10 @@ Read function definition:
 define double @foo(double %x) {
 entry:
         %calltmp = call double @sin( double %x )
-        %multmp = mul double %calltmp, %calltmp
+        %multmp = fmul double %calltmp, %calltmp
         %calltmp2 = call double @cos( double %x )
-        %multmp4 = mul double %calltmp2, %calltmp2
-        %addtmp = add double %multmp, %multmp4
+        %multmp4 = fmul double %calltmp2, %calltmp2
+        %addtmp = fadd double %multmp, %multmp4
         ret double %addtmp
 }
 
index 01e125502cf2d05e2e47ca40a80e954e40163c4d..3a8b7d2525beeb2be17380e44db521a824d8a025 100644 (file)
@@ -653,7 +653,7 @@ loop:    ; preds = %loop, %entry
         ; body
   %calltmp = call double @putchard( double 4.200000e+01 )
         ; increment
-  %nextvar = add double %i, 1.000000e+00
+  %nextvar = fadd double %i, 1.000000e+00
 
         ; termination test
   %cmptmp = fcmp ult double %i, %n
index aff97c4b4fc6965a426a40802883caae6b05b73e..6047ad38c7b2ba5c09e533f57b090a0f68897ecb 100644 (file)
@@ -581,12 +581,12 @@ then:    ; preds = %entry
 
 else:    ; preds = %entry
   <b>%x3 = load double* %x1</b>
-  %subtmp = sub double %x3, 1.000000e+00
+  %subtmp = fsub double %x3, 1.000000e+00
   %calltmp = call double @fib( double %subtmp )
   <b>%x4 = load double* %x1</b>
-  %subtmp5 = sub double %x4, 2.000000e+00
+  %subtmp5 = fsub double %x4, 2.000000e+00
   %calltmp6 = call double @fib( double %subtmp5 )
-  %addtmp = add double %calltmp, %calltmp6
+  %addtmp = fadd double %calltmp, %calltmp6
   br label %ifcont
 
 ifcont:    ; preds = %else, %then
@@ -619,11 +619,11 @@ then:
   br label %ifcont
 
 else:
-  %subtmp = sub double <b>%x</b>, 1.000000e+00
+  %subtmp = fsub double <b>%x</b>, 1.000000e+00
   %calltmp = call double @fib( double %subtmp )
-  %subtmp5 = sub double <b>%x</b>, 2.000000e+00
+  %subtmp5 = fsub double <b>%x</b>, 2.000000e+00
   %calltmp6 = call double @fib( double %subtmp5 )
-  %addtmp = add double %calltmp, %calltmp6
+  %addtmp = fadd double %calltmp, %calltmp6
   br label %ifcont
 
 ifcont:    ; preds = %else, %then
@@ -649,11 +649,11 @@ entry:
   br i1 %ifcond, label %else, label %ifcont
 
 else:
-  %subtmp = sub double %x, 1.000000e+00
+  %subtmp = fsub double %x, 1.000000e+00
   %calltmp = call double @fib( double %subtmp )
-  %subtmp5 = sub double %x, 2.000000e+00
+  %subtmp5 = fsub double %x, 2.000000e+00
   %calltmp6 = call double @fib( double %subtmp5 )
-  %addtmp = add double %calltmp, %calltmp6
+  %addtmp = fadd double %calltmp, %calltmp6
   ret double %addtmp
 
 ifcont:
index e49bda0fcd167c530578dfa8dd1a496ab5c97f7c..3465779e344b4bee65b821254aea58f0af329f46 100644 (file)
@@ -889,7 +889,7 @@ entry:
 ; recognize a more elaborate tree than a simple SETxx.
 
 define double @test_FNEG_sel(double %A, double %B, double %C) {
-        %D = sub double -0.000000e+00, %A               ; <double> [#uses=1]
+        %D = fsub double -0.000000e+00, %A               ; <double> [#uses=1]
         %Cond = fcmp ugt double %D, -0.000000e+00               ; <i1> [#uses=1]
         %E = select i1 %Cond, double %B, double %C              ; <double> [#uses=1]
         ret double %E
index 19eb05e7657bfd64d1017a37933efce35c09ea1d..e5f84e8b169e03ee5a84cfc533ec18fe60cc595e 100644 (file)
@@ -67,8 +67,8 @@ no_exit.i7:           ; preds = %no_exit.i7, %build_tree.exit
                                    [ %tmp.34.i18, %no_exit.i7 ]
        %tmp.0.0.0.i10 = phi double [ 0.000000e+00, %build_tree.exit ],
                                     [ %tmp.28.i16, %no_exit.i7 ]
-       %tmp.28.i16 = add double %tmp.0.0.0.i10, 0.000000e+00
-       %tmp.34.i18 = add double %tmp.0.1.0.i9, 0.000000e+00
+       %tmp.28.i16 = fadd double %tmp.0.0.0.i10, 0.000000e+00
+       %tmp.34.i18 = fadd double %tmp.0.1.0.i9, 0.000000e+00
        br i1 false, label %Compute_Tree.exit23, label %no_exit.i7
 
 Compute_Tree.exit23:           ; preds = %no_exit.i7
@@ -97,7 +97,7 @@ pcmp/pand/pandn/por to do a selection instead of a conditional branch:
 
 double %X(double %Y, double %Z, double %A, double %B) {
         %C = setlt double %A, %B
-        %z = add double %Z, 0.0    ;; select operand is not a load
+        %z = fadd double %Z, 0.0    ;; select operand is not a load
         %D = select bool %C, double %Y, double %z
         ret double %D
 }
@@ -545,7 +545,7 @@ eliminates a constant pool load.  For example, consider:
 
 define i64 @ccosf(float %z.0, float %z.1) nounwind readonly  {
 entry:
- %tmp6 = sub float -0.000000e+00, %z.1         ; <float> [#uses=1]
+ %tmp6 = fsub float -0.000000e+00, %z.1                ; <float> [#uses=1]
  %tmp20 = tail call i64 @ccoshf( float %tmp6, float %z.0 ) nounwind readonly
  ret i64 %tmp20
 }
index 2da17f1dd50107b031e4f1b3006bc5bc452ff138..4d2c89e60f0abeb43f9c06ab9f9402c83228513f 100644 (file)
@@ -373,10 +373,10 @@ Instruction *InstCombiner::visitFAdd(BinaryOperator &I) {
     if (CFP->getValueAPF().isPosZero() && CannotBeNegativeZero(LHS))
       return ReplaceInstUsesWith(I, LHS);
 
-  // Check for (add double (sitofp x), y), see if we can merge this into an
+  // Check for (fadd double (sitofp x), y), see if we can merge this into an
   // integer add followed by a promotion.
   if (SIToFPInst *LHSConv = dyn_cast<SIToFPInst>(LHS)) {
-    // (add double (sitofp x), fpcst) --> (sitofp (add int x, intcst))
+    // (fadd double (sitofp x), fpcst) --> (sitofp (add int x, intcst))
     // ... if the constant fits in the integer value.  This is useful for things
     // like (double)(x & 1234) + 4.0 -> (double)((X & 1234)+4) which no longer
     // requires a constant pool load, and generally allows the add to be better
@@ -394,7 +394,7 @@ Instruction *InstCombiner::visitFAdd(BinaryOperator &I) {
       }
     }
     
-    // (add double (sitofp x), (sitofp y)) --> (sitofp (add int x, y))
+    // (fadd double (sitofp x), (sitofp y)) --> (sitofp (add int x, y))
     if (SIToFPInst *RHSConv = dyn_cast<SIToFPInst>(RHS)) {
       // Only do this if x/y have the same type, if at last one of them has a
       // single use (so we don't increase the number of int->fp conversions),
index 380e1f87b08d07518ba6f580e93626733bac3901..b3974e8eeffb18a7049653330356a5b4ef88d2c5 100644 (file)
@@ -203,7 +203,7 @@ Instruction *InstCombiner::visitFMul(BinaryOperator &I) {
       // "In IEEE floating point, x*1 is not equivalent to x for nans.  However,
       // ANSI says we can drop signals, so we can do this anyway." (from GCC)
       if (Op1F->isExactlyValue(1.0))
-        return ReplaceInstUsesWith(I, Op0);  // Eliminate 'mul double %X, 1.0'
+        return ReplaceInstUsesWith(I, Op0);  // Eliminate 'fmul double %X, 1.0'
     } else if (Op1C->getType()->isVectorTy()) {
       if (ConstantVector *Op1V = dyn_cast<ConstantVector>(Op1C)) {
         // As above, vector X*splat(1.0) -> X in all defined cases.
index 7d646ebdeb9d6441ef178b8e697566cc3008e629..33ca63a02050abe4924bf6889cc9da69c6e77c40 100644 (file)
@@ -3,7 +3,7 @@
 
 define i32 @main() {
        %a = add i32 0, undef
-       %b = add float 0.0, undef
-       %c = add double 0.0, undef
+       %b = fadd float 0.0, undef
+       %c = fadd double 0.0, undef
        ret i32 0
 }
index 9bbef2383bb2a64f751a995b285f304d2dba7852..8c6a0e0bbcecf6b1c58346b979498bdeb5b1546b 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: opt < %s -instcombine -S | grep {add double .sx, .sy}
+; RUN: opt < %s -instcombine -S | grep {fadd double .sx, .sy}
 ; The 'or' has multiple uses, make sure that this doesn't prevent instcombine
 ; from propagating the extends to the truncs.
 
index daf7bcf297c1de89eaf4040ac74e9c9d904846ea..c05c8021885d4f26dc70f2079e13b8798090a6bf 100644 (file)
@@ -1,5 +1,5 @@
 ; RUN: opt < %s -instcombine -S | \
-; RUN:   grep {add float}
+; RUN:   grep {fadd float}
 
         %V = type <4 x float>
 
index 72a15b1c8b224c3a7c3a1207e2fec1fb2d1e8fb2..f99cbe1c8b83d62352faa1cefc4d94f6b200dcf5 100644 (file)
@@ -144,11 +144,11 @@ invcont57:                ; preds = %invcont51
        store double %tmp64, double* %tmp62
        %tmp65 = call double* @_ZN6QSizeF6rwidthEv( %struct.QPointF* %scaledPageSize )          ; <double*> [#uses=2]
        %tmp67 = load double* %tmp65            ; <double> [#uses=1]
-       %tmp69 = mul double %tmp67, %tmp48              ; <double> [#uses=1]
+       %tmp69 = fmul double %tmp67, %tmp48             ; <double> [#uses=1]
        store double %tmp69, double* %tmp65
        %tmp71 = call double* @_ZN6QSizeF7rheightEv( %struct.QPointF* %scaledPageSize )         ; <double*> [#uses=2]
        %tmp73 = load double* %tmp71            ; <double> [#uses=1]
-       %tmp75 = mul double %tmp73, %tmp54              ; <double> [#uses=1]
+       %tmp75 = fmul double %tmp73, %tmp54             ; <double> [#uses=1]
        store double %tmp75, double* %tmp71
        %tmp78 = getelementptr %struct.QPrinter* %printer, i32 0, i32 0         ; <%struct.QPaintDevice*> [#uses=1]
        %tmp80 = invoke i32 @_ZNK12QPaintDevice6heightEv( %struct.QPaintDevice* %tmp78 )
@@ -190,7 +190,7 @@ invcont104:         ; preds = %invcont103
                        to label %invcont106 unwind label %cleanup329           ; <i32> [#uses=1]
 invcont106:            ; preds = %invcont104
        %tmp108 = sitofp i32 %tmp107 to double          ; <double> [#uses=1]
-       %tmp109 = mul double %tmp108, 0x3FE93264C993264C                ; <double> [#uses=1]
+       %tmp109 = fmul double %tmp108, 0x3FE93264C993264C               ; <double> [#uses=1]
        %tmp109.upgrd.17 = fptosi double %tmp109 to i32         ; <i32> [#uses=3]
        %tmp.upgrd.18 = call %struct.QTextBlockGroup* @_ZNK13QTextDocument9rootFrameEv( %struct.QAbstractTextDocumentLayout* %tmp95 )           ; <%struct.QTextBlockGroup*> [#uses=1]
        invoke void @_ZNK10QTextFrame11frameFormatEv( %struct.QTextBlockFormat* sret  %fmt, %struct.QTextBlockGroup* %tmp.upgrd.18 )
@@ -237,7 +237,7 @@ invcont124:         ; preds = %invcont122
        store double %tmp137, double* %tmp135
        %tmp138 = call double @_ZNK6QRectF6heightEv( %struct.QRectF* %body )            ; <double> [#uses=1]
        %tmp139 = sitofp i32 %tmp109.upgrd.17 to double         ; <double> [#uses=1]
-       %tmp140 = sub double %tmp138, %tmp139           ; <double> [#uses=1]
+       %tmp140 = fsub double %tmp138, %tmp139          ; <double> [#uses=1]
        %tmp142 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
                        to label %invcont141 unwind label %cleanup192           ; <%struct.QPaintDevice*> [#uses=1]
 invcont141:            ; preds = %invcont124
@@ -251,7 +251,7 @@ invcont146:         ; preds = %invcont144
                        to label %invcont148 unwind label %cleanup168           ; <i32> [#uses=1]
 invcont148:            ; preds = %invcont146
        %tmp149.upgrd.21 = sitofp i32 %tmp149 to double         ; <double> [#uses=1]
-       %tmp150 = add double %tmp140, %tmp149.upgrd.21          ; <double> [#uses=1]
+       %tmp150 = fadd double %tmp140, %tmp149.upgrd.21         ; <double> [#uses=1]
        %tmp152 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
                        to label %invcont151 unwind label %cleanup168           ; <%struct.QPaintDevice*> [#uses=1]
 invcont151:            ; preds = %invcont148
@@ -261,10 +261,10 @@ invcont153:               ; preds = %invcont151
        %tmp155 = mul i32 %tmp154, 5            ; <i32> [#uses=1]
        %tmp156 = sdiv i32 %tmp155, 72          ; <i32> [#uses=1]
        %tmp156.upgrd.22 = sitofp i32 %tmp156 to double         ; <double> [#uses=1]
-       %tmp157 = add double %tmp150, %tmp156.upgrd.22          ; <double> [#uses=1]
+       %tmp157 = fadd double %tmp150, %tmp156.upgrd.22         ; <double> [#uses=1]
        %tmp158 = call double @_ZNK6QRectF5widthEv( %struct.QRectF* %body )             ; <double> [#uses=1]
        %tmp159 = sitofp i32 %tmp109.upgrd.17 to double         ; <double> [#uses=1]
-       %tmp160 = sub double %tmp158, %tmp159           ; <double> [#uses=1]
+       %tmp160 = fsub double %tmp158, %tmp159          ; <double> [#uses=1]
        call void @_ZN7QPointFC1Edd( %struct.QPointF* %tmp2, double %tmp160, double %tmp157 )
        %tmp161 = getelementptr %struct.QPointF* %pageNumberPos, i32 0, i32 0           ; <double*> [#uses=1]
        %tmp162 = getelementptr %struct.QPointF* %tmp2, i32 0, i32 0            ; <double*> [#uses=1]