aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/i386/i386.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 65b49e2..2cc497e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2018-10-18 Richard Biener <rguenther@suse.de>
+ * config/i386/i386.c: Fix costing of vector FMA.
+
+2018-10-18 Richard Biener <rguenther@suse.de>
+
* config/i386/i386.c (ix86_vec_cost): Remove !parallel path
and argument.
(ix86_builtin_vectorization_cost): For vec_construct properly
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index bada12c..9a5b549 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -40171,7 +40171,8 @@ ix86_rtx_costs (rtx x, machine_mode mode, int outer_code_i, int opno,
gcc_assert (TARGET_FMA || TARGET_FMA4 || TARGET_AVX512F);
*total = ix86_vec_cost (mode,
- mode == SFmode ? cost->fmass : cost->fmasd);
+ GET_MODE_INNER (mode) == SFmode
+ ? cost->fmass : cost->fmasd);
*total += rtx_cost (XEXP (x, 1), mode, FMA, 1, speed);
/* Negate in op0 or op2 is free: FMS, FNMA, FNMS. */