Commit 5b28d821 by Ramana Radhakrishnan Committed by Ramana Radhakrishnan

Canonicalize operand to vaba and vabal.

2012-08-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	* config/arm/neon.md (neon_vaba<mode> VDQIW): Canonicalize
	operands.
	(neon_vabal<mode> VDQIW): Likewise.

From-SVN: r190408
parent c3b1709a
2012-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> 2012-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* config/arm/neon.md (neon_vaba<mode> VDQIW): Canonicalize
operands.
(neon_vabal<mode> VDQIW): Likewise.
2012-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
PR target/54212 PR target/54212
* config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
mark as predicable. Adjust asm template. mark as predicable. Adjust asm template.
......
...@@ -2331,11 +2331,11 @@ ...@@ -2331,11 +2331,11 @@
(define_insn "neon_vaba<mode>" (define_insn "neon_vaba<mode>"
[(set (match_operand:VDQIW 0 "s_register_operand" "=w") [(set (match_operand:VDQIW 0 "s_register_operand" "=w")
(plus:VDQIW (match_operand:VDQIW 1 "s_register_operand" "0") (plus:VDQIW (unspec:VDQIW [(match_operand:VDQIW 2 "s_register_operand" "w")
(unspec:VDQIW [(match_operand:VDQIW 2 "s_register_operand" "w")
(match_operand:VDQIW 3 "s_register_operand" "w") (match_operand:VDQIW 3 "s_register_operand" "w")
(match_operand:SI 4 "immediate_operand" "i")] (match_operand:SI 4 "immediate_operand" "i")]
UNSPEC_VABD)))] UNSPEC_VABD)
(match_operand:VDQIW 1 "s_register_operand" "0")))]
"TARGET_NEON" "TARGET_NEON"
"vaba.%T4%#<V_sz_elem>\t%<V_reg>0, %<V_reg>2, %<V_reg>3" "vaba.%T4%#<V_sz_elem>\t%<V_reg>0, %<V_reg>2, %<V_reg>3"
[(set (attr "neon_type") [(set (attr "neon_type")
...@@ -2345,11 +2345,11 @@ ...@@ -2345,11 +2345,11 @@
(define_insn "neon_vabal<mode>" (define_insn "neon_vabal<mode>"
[(set (match_operand:<V_widen> 0 "s_register_operand" "=w") [(set (match_operand:<V_widen> 0 "s_register_operand" "=w")
(plus:<V_widen> (match_operand:<V_widen> 1 "s_register_operand" "0") (plus:<V_widen> (unspec:<V_widen> [(match_operand:VW 2 "s_register_operand" "w")
(unspec:<V_widen> [(match_operand:VW 2 "s_register_operand" "w")
(match_operand:VW 3 "s_register_operand" "w") (match_operand:VW 3 "s_register_operand" "w")
(match_operand:SI 4 "immediate_operand" "i")] (match_operand:SI 4 "immediate_operand" "i")]
UNSPEC_VABDL)))] UNSPEC_VABDL)
(match_operand:<V_widen> 1 "s_register_operand" "0")))]
"TARGET_NEON" "TARGET_NEON"
"vabal.%T4%#<V_sz_elem>\t%q0, %P2, %P3" "vabal.%T4%#<V_sz_elem>\t%q0, %P2, %P3"
[(set_attr "neon_type" "neon_vaba")] [(set_attr "neon_type" "neon_vaba")]
......
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