Re: [PATCH][Arm] Auto-vectorization for MVE: vmul

2020-10-21 Thread Dennis Zhang via Gcc-patches
Hi kyrylo,

> 
> From: Kyrylo Tkachov 
> Sent: Wednesday, October 14, 2020 10:14 AM
> To: Dennis Zhang; gcc-patches@gcc.gnu.org
> Cc: nd; Richard Earnshaw; Ramana Radhakrishnan
> Subject: RE: [PATCH][Arm] Auto-vectorization for MVE: vmul
> 
> Hi Dennis,
> 
> > -Original Message-
> > From: Dennis Zhang 
> > Sent: 06 October 2020 17:55
> > To: gcc-patches@gcc.gnu.org
> > Cc: Kyrylo Tkachov ; nd ;
> > Richard Earnshaw ; Ramana Radhakrishnan
> > 
> > Subject: [PATCH][Arm] Auto-vectorization for MVE: vmul
> >
> > Hi all,
> >
> > This patch enables MVE vmul instructions for auto-vectorization.
> > It includes MVE in expander mul3 to enable vectorization for MVE 
> > and modifies related vmul insns to support the expander by using 'mult'
> > instead of unspec.
> > The mul3 for vectorization in vec-common.md uses mode iterator
> > VDQWH instead of VALLW to cover all supported modes.
> > The macros ARM_HAVE__ARITH are used to select supported
> > modes for 
> > different targets. The redundant mul3 in neon.md is removed.
> >
> > Regression tested on arm-none-eabi and bootstraped on
> > arm-none-linux-gnueabihf.
> >
> > Is it OK for trunk please?
> 
> Ok, thank you for your patience.
> Kyrill
> 

Thanks for your approval.
It's committed to trunk at 0f41b5e02fa47db2080b77e4e1f7cd3305457c05

Cheers
Dennis


RE: [PATCH][Arm] Auto-vectorization for MVE: vmul

2020-10-14 Thread Kyrylo Tkachov via Gcc-patches
Hi Dennis,

> -Original Message-
> From: Dennis Zhang 
> Sent: 06 October 2020 17:55
> To: gcc-patches@gcc.gnu.org
> Cc: Kyrylo Tkachov ; nd ;
> Richard Earnshaw ; Ramana Radhakrishnan
> 
> Subject: [PATCH][Arm] Auto-vectorization for MVE: vmul
> 
> Hi all,
> 
> This patch enables MVE vmul instructions for auto-vectorization.
> It includes MVE in expander mul3 to enable vectorization for MVE
> and modifies related vmul insns to support the expander by using 'mult'
> instead of unspec.
> The mul3 for vectorization in vec-common.md uses mode iterator
> VDQWH instead of VALLW to cover all supported modes.
> The macros ARM_HAVE__ARITH are used to select supported
> modes for
> different targets. The redundant mul3 in neon.md is removed.
> 
> Regression tested on arm-none-eabi and bootstraped on
> arm-none-linux-gnueabihf.
> 
> Is it OK for trunk please?

Ok, thank you for your patience.
Kyrill

> 
> Thanks
> Dennis
> 
> gcc/ChangeLog:
> 
> 2020-10-02  Dennis Zhang  
> 
> * config/arm/mve.md (mve_vmulq): New entry for vmul instruction
> using expression 'mult'.
> (mve_vmulq_f): Use mult instead of VMULQ_F.
> * config/arm/neon.md (mul3): Removed.
> * config/arm/vec-common.md (mul3): Use the new mode macros
> ARM_HAVE__ARITH. Use mode iterator VDQWH instead of VALLW.
> 
> gcc/testsuite/ChangeLog:
> 
> 2020-10-02  Dennis Zhang  
> 
> * gcc.target/arm/simd/mve-vmul_1.c: New test.