i386.c: Fix costing of vector FMA.
authorRichard Biener <rguenther@suse.de>
Thu, 18 Oct 2018 12:19:44 +0000 (12:19 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 18 Oct 2018 12:19:44 +0000 (12:19 +0000)
2018-10-18  Richard Biener  <rguenther@suse.de>

* config/i386/i386.c: Fix costing of vector FMA.

From-SVN: r265266

gcc/ChangeLog
gcc/config/i386/i386.c

index 65b49e245ec7cbb6d51f526b3410b14c165cc527..2cc497ecc8710ffe6f8d1dfb6beebf632def3595 100644 (file)
@@ -1,3 +1,7 @@
+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
index bada12ccd1622336991b149e9fd92a8a7421da05..9a5b54978a9bbd580cfbb0614a72aa0e04222864 100644 (file)
@@ -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.  */