Commit ea1adf1d by H.J. Lu Committed by H.J. Lu

i386: Update FP add/sub with AVX512 memory broadcast

	* 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
parent c038638e
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
* config/i386/sse.md (*mul<mode>3<mask_name>_bcst): New.
......@@ -1684,21 +1684,21 @@
(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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment