* aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
authorRichard Earnshaw <rearnsha@arm.com>
Mon, 6 Jan 2014 15:58:44 +0000 (15:58 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Mon, 6 Jan 2014 15:58:44 +0000 (15:58 +0000)
From-SVN: r206363

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index 8a0c3f3c42a83d873142b0622ea5feec24507d39..04119620b5e07076258208a31ad2a9e09105a9f5 100644 (file)
@@ -1,3 +1,7 @@
+2014-01-06  Richard Earnshaw  <rearnsha@arm.com>
+
+       * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
+
 2014-01-06  Martin Jambor  <mjambor@suse.cz>
 
        PR ipa/59008
index 186db9dca7099032dabd85a74b3aa0d75ed66331..fe0aab3b04cd498a74a4f25eeba9bbcb79d9536a 100644 (file)
@@ -4643,12 +4643,15 @@ aarch64_rtx_costs (rtx x, int code, int outer ATTRIBUTE_UNUSED,
                          extra_cost->mult[GET_MODE (x) == DImode].extend_add;
                      return true;
                    }
+
                  *cost += (rtx_cost (XEXP (op0, 0), MULT, 0, speed)
                            + rtx_cost (XEXP (op0, 1), MULT, 1, speed)
                            + rtx_cost (op1, PLUS, 1, speed));
 
                  if (speed)
                    *cost += extra_cost->mult[GET_MODE (x) == DImode].add;
+
+                 return true;
                }
 
              *cost += (rtx_cost (new_op0, PLUS, 0, speed)