i386: Update FP add/sub with AVX512 memory broadcast
authorH.J. Lu <hongjiu.lu@intel.com>
Sun, 21 Oct 2018 10:46:48 +0000 (10:46 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Sun, 21 Oct 2018 10:46:48 +0000 (03:46 -0700)
* config/i386/sse.md (*<plusminus_insn><mode>3<mask_name>_bcst_1):
Remove plus.  Renamed to ...
(*sub<mode>3<mask_name>_bcst): This.
(*add<mode>3<mask_name>_bcst_2): Renamede to ...
(*add<mode>3<mask_name>_bcst): This.

From-SVN: r265352

gcc/ChangeLog
gcc/config/i386/sse.md

index d4ce80617b128ad1a7a76f0599121c413aea2e02..505c949c0136e20c01fe4663b45e1115d13464ca 100644 (file)
@@ -1,3 +1,11 @@
+2018-10-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/sse.md (*<plusminus_insn><mode>3<mask_name>_bcst_1):
+       Remove plus.  Renamed to ...
+       (*sub<mode>3<mask_name>_bcst): This.
+       (*add<mode>3<mask_name>_bcst_2): Renamede to ...
+       (*add<mode>3<mask_name>_bcst): This.
+
 2018-10-21  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/72782
index f29ee9df94d66da2f9cf39372b0796833eaa25fb..520afc5627294ee9213b3cf434e95f2ebb1eb8c6 100644 (file)
    (set_attr "prefix" "<mask_prefix3>")
    (set_attr "mode" "<MODE>")])
 
-(define_insn "*<plusminus_insn><mode>3<mask_name>_bcst_1"
+(define_insn "*sub<mode>3<mask_name>_bcst"
   [(set (match_operand:VF_AVX512 0 "register_operand" "=v")
-       (plusminus:VF_AVX512
+       (minus:VF_AVX512
          (match_operand:VF_AVX512 1 "register_operand" "v")
          (vec_duplicate:VF_AVX512
            (match_operand:<ssescalarmode> 2 "memory_operand" "m"))))]
   "TARGET_AVX512F
-   && ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)
+   && ix86_binary_operator_ok (MINUS, <MODE>mode, operands)
    && <mask_mode512bit_condition>"
-  "v<plusminus_mnemonic><ssemodesuffix>\t{%2<avx512bcst>, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2<avx512bcst>}"
+  "vsub<ssemodesuffix>\t{%2<avx512bcst>, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2<avx512bcst>}"
   [(set_attr "prefix" "evex")
    (set_attr "type" "sseadd")
    (set_attr "mode" "<MODE>")])
 
-(define_insn "*add<mode>3<mask_name>_bcst_2"
+(define_insn "*add<mode>3<mask_name>_bcst"
   [(set (match_operand:VF_AVX512 0 "register_operand" "=v")
        (plus:VF_AVX512
          (vec_duplicate:VF_AVX512