diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 65b49e245ec..2cc497ecc87 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2018-10-18 Richard Biener + + * config/i386/i386.c: Fix costing of vector FMA. + 2018-10-18 Richard Biener * config/i386/i386.c (ix86_vec_cost): Remove !parallel path diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index bada12ccd16..9a5b54978a9 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. */