From 264c79fa3a02d9d6bf03fd852345d57fa77c4ccd Mon Sep 17 00:00:00 2001 From: ktkachov Date: Mon, 13 Mar 2017 10:58:48 +0000 Subject: [PATCH] [ARM] PR target/79911: Invalid vec_select arguments PR target/79911 * config/arm/neon.md (vec_sel_widen_ssum_lo3): Rename to... (vec_sel_widen_ssum_lo3): ... This. Avoid mismatch between vec_select and vector argument. (vec_sel_widen_ssum_hi3): Rename to... (vec_sel_widen_ssum_hi3): ... This. Likewise. (vec_sel_widen_usum_lo3): Rename to... (vec_sel_widen_usum_lo3): ... This. (vec_sel_widen_usum_hi3): Rename to... (vec_sel_widen_usum_hi3): ... This. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246084 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 14 ++++++++++++++ gcc/config/arm/neon.md | 50 ++++++++++++++++++++++++++------------------------ 2 files changed, 40 insertions(+), 24 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 82e8edb4a79..c001ae5a5e0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2017-03-13 Kyrylo Tkachov + + PR target/79911 + * config/arm/neon.md (vec_sel_widen_ssum_lo3): + Rename to... + (vec_sel_widen_ssum_lo3): ... This. Avoid mismatch + between vec_select and vector argument. + (vec_sel_widen_ssum_hi3): Rename to... + (vec_sel_widen_ssum_hi3): ... This. Likewise. + (vec_sel_widen_usum_lo3): Rename to... + (vec_sel_widen_usum_lo3): ... This. + (vec_sel_widen_usum_hi3): Rename to... + (vec_sel_widen_usum_hi3): ... This. + 2017-03-13 Richard Biener PR other/79991 diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md index cf281df0292..50d89eb7dbf 100644 --- a/gcc/config/arm/neon.md +++ b/gcc/config/arm/neon.md @@ -1335,14 +1335,14 @@ } ) -(define_insn "vec_sel_widen_ssum_lo3" - [(set (match_operand: 0 "s_register_operand" "=w") - (plus: - (sign_extend: - (vec_select:VW +(define_insn "vec_sel_widen_ssum_lo3" + [(set (match_operand: 0 "s_register_operand" "=w") + (plus: + (sign_extend: + (vec_select: (match_operand:VQI 1 "s_register_operand" "%w") (match_operand:VQI 2 "vect_par_constant_low" ""))) - (match_operand: 3 "s_register_operand" "0")))] + (match_operand: 3 "s_register_operand" "0")))] "TARGET_NEON" { return BYTES_BIG_ENDIAN ? "vaddw.\t%q0, %q3, %f1" : @@ -1350,13 +1350,14 @@ } [(set_attr "type" "neon_add_widen")]) -(define_insn "vec_sel_widen_ssum_hi3" - [(set (match_operand: 0 "s_register_operand" "=w") - (plus: - (sign_extend: - (vec_select:VW (match_operand:VQI 1 "s_register_operand" "%w") +(define_insn "vec_sel_widen_ssum_hi3" + [(set (match_operand: 0 "s_register_operand" "=w") + (plus: + (sign_extend: + (vec_select: + (match_operand:VQI 1 "s_register_operand" "%w") (match_operand:VQI 2 "vect_par_constant_high" ""))) - (match_operand: 3 "s_register_operand" "0")))] + (match_operand: 3 "s_register_operand" "0")))] "TARGET_NEON" { return BYTES_BIG_ENDIAN ? "vaddw.\t%q0, %q3, %e1" : @@ -1404,14 +1405,14 @@ } ) -(define_insn "vec_sel_widen_usum_lo3" - [(set (match_operand: 0 "s_register_operand" "=w") - (plus: - (zero_extend: - (vec_select:VW +(define_insn "vec_sel_widen_usum_lo3" + [(set (match_operand: 0 "s_register_operand" "=w") + (plus: + (zero_extend: + (vec_select: (match_operand:VQI 1 "s_register_operand" "%w") (match_operand:VQI 2 "vect_par_constant_low" ""))) - (match_operand: 3 "s_register_operand" "0")))] + (match_operand: 3 "s_register_operand" "0")))] "TARGET_NEON" { return BYTES_BIG_ENDIAN ? "vaddw.\t%q0, %q3, %f1" : @@ -1419,13 +1420,14 @@ } [(set_attr "type" "neon_add_widen")]) -(define_insn "vec_sel_widen_usum_hi3" - [(set (match_operand: 0 "s_register_operand" "=w") - (plus: - (zero_extend: - (vec_select:VW (match_operand:VQI 1 "s_register_operand" "%w") +(define_insn "vec_sel_widen_usum_hi3" + [(set (match_operand: 0 "s_register_operand" "=w") + (plus: + (zero_extend: + (vec_select: + (match_operand:VQI 1 "s_register_operand" "%w") (match_operand:VQI 2 "vect_par_constant_high" ""))) - (match_operand: 3 "s_register_operand" "0")))] + (match_operand: 3 "s_register_operand" "0")))] "TARGET_NEON" { return BYTES_BIG_ENDIAN ? "vaddw.\t%q0, %q3, %e1" : -- 2.11.4.GIT