> -----Original Message----- > From: Gcc-patches <gcc-patches-boun...@gcc.gnu.org> On Behalf Of > Christophe Lyon via Gcc-patches > Sent: 11 December 2020 16:33 > To: gcc-patches@gcc.gnu.org > Subject: [PATCH] arm: Auto-vectorization for MVE clean condition for vand > and vorr expanders > > The patch restores the unconditional definition of the VDQ iterator, > and changes the conditions of the vand and vorr expanders to use > ARM_HAVE_<MODE>_ARITH. Nice, thanks. Will you adjust the rest of your autovectorisation series to be consistent with this? Thanks again for working on this. Kyrill > > 2020-12-11 Christophe Lyon <christophe.l...@linaro.org> > > gcc/ > * config/arm/iterators.md (VDQ): Remove TARGET_HAVE_MVE > conditions. > * config/arm/vec-common.md (and<mode>3): Use > ARM_HAVE_<MODE>_ARITH. > (ior<mode>3): Likewise. > --- > gcc/config/arm/iterators.md | 7 +------ > gcc/config/arm/vec-common.md | 6 ++---- > 2 files changed, 3 insertions(+), 10 deletions(-) > > diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md > index 9c4911d..bbe2312 100644 > --- a/gcc/config/arm/iterators.md > +++ b/gcc/config/arm/iterators.md > @@ -147,12 +147,7 @@ (define_mode_iterator VW [V8QI V4HI V2SI]) > (define_mode_iterator VN [V8HI V4SI V2DI]) > > ;; All supported vector modes (except singleton DImode). > -(define_mode_iterator VDQ [(V8QI "!TARGET_HAVE_MVE") V16QI > - (V4HI "!TARGET_HAVE_MVE") V8HI > - (V2SI "!TARGET_HAVE_MVE") V4SI > - (V4HF "!TARGET_HAVE_MVE") V8HF > - (V2SF "!TARGET_HAVE_MVE") V4SF > - (V2DI "!TARGET_HAVE_MVE")]) > +(define_mode_iterator VDQ [V8QI V16QI V4HI V8HI V2SI V4SI V4HF V8HF > V2SF V4SF V2DI]) > > ;; All supported floating-point vector modes (except V2DF). > (define_mode_iterator VF [(V4HF "TARGET_NEON_FP16INST") > diff --git a/gcc/config/arm/vec-common.md b/gcc/config/arm/vec- > common.md > index 5b4c95d..5142cc0 100644 > --- a/gcc/config/arm/vec-common.md > +++ b/gcc/config/arm/vec-common.md > @@ -177,16 +177,14 @@ (define_expand "and<mode>3" > [(set (match_operand:VDQ 0 "s_register_operand" "") > (and:VDQ (match_operand:VDQ 1 "s_register_operand" "") > (match_operand:VDQ 2 "neon_inv_logic_op2" "")))] > - "TARGET_NEON > - || TARGET_HAVE_MVE" > + "ARM_HAVE_<MODE>_ARITH" > ) > > (define_expand "ior<mode>3" > [(set (match_operand:VDQ 0 "s_register_operand" "") > (ior:VDQ (match_operand:VDQ 1 "s_register_operand" "") > (match_operand:VDQ 2 "neon_logic_op2" "")))] > - "TARGET_NEON > - || TARGET_HAVE_MVE" > + "ARM_HAVE_<MODE>_ARITH" > ) > > (define_expand "xor<mode>3" > -- > 2.7.4
RE: [PATCH] arm: Auto-vectorization for MVE clean condition for vand and vorr expanders
Kyrylo Tkachov via Gcc-patches Fri, 11 Dec 2020 08:35:57 -0800
- [PATCH] arm: Auto-vectorization for MVE cl... Christophe Lyon via Gcc-patches
- RE: [PATCH] arm: Auto-vectorization f... Kyrylo Tkachov via Gcc-patches
- Re: [PATCH] arm: Auto-vectorizati... Christophe Lyon via Gcc-patches