diff options
author | Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> | 2012-08-15 08:39:48 +0000 |
---|---|---|
committer | Ramana Radhakrishnan <ramana@gcc.gnu.org> | 2012-08-15 08:39:48 +0000 |
commit | 5b28d82184aa2a965dca03f0181255616f3ca358 (patch) | |
tree | b9af700e16946e6acd4e4c23139d65343258e5da | |
parent | c3b1709a71774c5ad7b15911b6f0fb2ea38f2a3c (diff) | |
download | gcc-5b28d82184aa2a965dca03f0181255616f3ca358.zip gcc-5b28d82184aa2a965dca03f0181255616f3ca358.tar.gz gcc-5b28d82184aa2a965dca03f0181255616f3ca358.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/neon.md | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a42125b..a9336e1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 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 * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not mark as predicable. Adjust asm template. diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md index 12c7934..a929546 100644 --- a/gcc/config/arm/neon.md +++ b/gcc/config/arm/neon.md @@ -2331,11 +2331,11 @@ (define_insn "neon_vaba<mode>" [(set (match_operand:VDQIW 0 "s_register_operand" "=w") - (plus:VDQIW (match_operand:VDQIW 1 "s_register_operand" "0") - (unspec:VDQIW [(match_operand:VDQIW 2 "s_register_operand" "w") + (plus:VDQIW (unspec:VDQIW [(match_operand:VDQIW 2 "s_register_operand" "w") (match_operand:VDQIW 3 "s_register_operand" "w") (match_operand:SI 4 "immediate_operand" "i")] - UNSPEC_VABD)))] + UNSPEC_VABD) + (match_operand:VDQIW 1 "s_register_operand" "0")))] "TARGET_NEON" "vaba.%T4%#<V_sz_elem>\t%<V_reg>0, %<V_reg>2, %<V_reg>3" [(set (attr "neon_type") @@ -2345,11 +2345,11 @@ (define_insn "neon_vabal<mode>" [(set (match_operand:<V_widen> 0 "s_register_operand" "=w") - (plus:<V_widen> (match_operand:<V_widen> 1 "s_register_operand" "0") - (unspec:<V_widen> [(match_operand:VW 2 "s_register_operand" "w") + (plus:<V_widen> (unspec:<V_widen> [(match_operand:VW 2 "s_register_operand" "w") (match_operand:VW 3 "s_register_operand" "w") (match_operand:SI 4 "immediate_operand" "i")] - UNSPEC_VABDL)))] + UNSPEC_VABDL) + (match_operand:<V_widen> 1 "s_register_operand" "0")))] "TARGET_NEON" "vabal.%T4%#<V_sz_elem>\t%q0, %P2, %P3" [(set_attr "neon_type" "neon_vaba")] |