Re: [PATCH][Arm] Auto-vectorization for MVE: vmul
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
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.