Commit 7b945b19 by Andrew Stubbs Committed by Andrew Stubbs

Sub-dword vector multiply for amdgcn

2019-12-13  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/gcn/gcn-valu.md (mulv64si3<exec>): Rename to ...
	(mul<mode>3<exec>): ... this, and implement sub-dword patterns.
	(mulv64si3_dup<exec>): Rename to ...
	(mul<mode>3_dup<exec>): ... this, and implement sub-dword patterns.

From-SVN: r279374
parent e44deb43
2019-12-13 Andrew Stubbs <ams@codesourcery.com>
* config/gcn/gcn-valu.md (mulv64si3<exec>): Rename to ...
(mul<mode>3<exec>): ... this, and implement sub-dword patterns.
(mulv64si3_dup<exec>): Rename to ...
(mul<mode>3_dup<exec>): ... this, and implement sub-dword patterns.
2019-12-13 Jan Hubicka <hubicka@ucw.cz> 2019-12-13 Jan Hubicka <hubicka@ucw.cz>
* ipa-utils.c (ipa_merge_profiles): Improve dumping; merge common * ipa-utils.c (ipa_merge_profiles): Improve dumping; merge common
...@@ -1740,22 +1740,22 @@ ...@@ -1740,22 +1740,22 @@
[(set_attr "type" "vop3a") [(set_attr "type" "vop3a")
(set_attr "length" "8")]) (set_attr "length" "8")])
(define_insn "mulv64si3<exec>" (define_insn "mul<mode>3<exec>"
[(set (match_operand:V64SI 0 "register_operand" "= v") [(set (match_operand:VEC_ALL1REG_INT_MODE 0 "register_operand" "= v")
(mult:V64SI (mult:VEC_ALL1REG_INT_MODE
(match_operand:V64SI 1 "gcn_alu_operand" "%vSvA") (match_operand:VEC_ALL1REG_INT_MODE 1 "gcn_alu_operand" "%vSvA")
(match_operand:V64SI 2 "gcn_alu_operand" " vSvA")))] (match_operand:VEC_ALL1REG_INT_MODE 2 "gcn_alu_operand" " vSvA")))]
"" ""
"v_mul_lo_u32\t%0, %1, %2" "v_mul_lo_u32\t%0, %1, %2"
[(set_attr "type" "vop3a") [(set_attr "type" "vop3a")
(set_attr "length" "8")]) (set_attr "length" "8")])
(define_insn "mulv64si3_dup<exec>" (define_insn "mul<mode>3_dup<exec>"
[(set (match_operand:V64SI 0 "register_operand" "= v") [(set (match_operand:VEC_ALL1REG_INT_MODE 0 "register_operand" "= v")
(mult:V64SI (mult:VEC_ALL1REG_INT_MODE
(match_operand:V64SI 1 "gcn_alu_operand" "%vSvA") (match_operand:VEC_ALL1REG_INT_MODE 1 "gcn_alu_operand" "%vSvA")
(vec_duplicate:V64SI (vec_duplicate:VEC_ALL1REG_INT_MODE
(match_operand:SI 2 "gcn_alu_operand" " SvA"))))] (match_operand:<SCALAR_MODE> 2 "gcn_alu_operand" " SvA"))))]
"" ""
"v_mul_lo_u32\t%0, %1, %2" "v_mul_lo_u32\t%0, %1, %2"
[(set_attr "type" "vop3a") [(set_attr "type" "vop3a")
......
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