ping > -----Original Message----- > From: Tamar Christina > Sent: Monday, December 20, 2021 4:22 PM > To: gcc-patches@gcc.gnu.org > Cc: nd <n...@arm.com>; Ramana Radhakrishnan > <ramana.radhakrish...@arm.com>; Richard Earnshaw > <richard.earns...@arm.com>; ni...@redhat.com; Kyrylo Tkachov > <kyrylo.tkac...@arm.com> > Subject: RE: [3/3 PATCH][AArch32] use canonical ordering for complex mul, > fma and fms > > Updated version of patch following AArch64 review. > > Bootstrapped Regtested on arm-none-linux-gnueabihf and no issues. > > Ok for master? and backport along with the first patch? > > Thanks, > Tamar > > gcc/ChangeLog: > > PR tree-optimization/102819 > PR tree-optimization/103169 > * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): > Use > canonical order. > > --- inline copy of patch --- > > diff --git a/gcc/config/arm/vec-common.md b/gcc/config/arm/vec- > common.md index > e71d9b3811fde62159f5c21944fef9fe3f97b4bd..eab77ac8decce76d70f5b2594f > 4439e6ed363e6e 100644 > --- a/gcc/config/arm/vec-common.md > +++ b/gcc/config/arm/vec-common.md > @@ -265,18 +265,18 @@ (define_expand "arm_vcmla<rot><mode>" > ;; remainder. Because of this, expand early. > (define_expand "cml<fcmac1><conj_op><mode>4" > [(set (match_operand:VF 0 "register_operand") > - (plus:VF (match_operand:VF 1 "register_operand") > - (unspec:VF [(match_operand:VF 2 "register_operand") > - (match_operand:VF 3 "register_operand")] > - VCMLA_OP)))] > + (plus:VF (unspec:VF [(match_operand:VF 1 "register_operand") > + (match_operand:VF 2 "register_operand")] > + VCMLA_OP) > + (match_operand:VF 3 "register_operand")))] > "(TARGET_COMPLEX || (TARGET_HAVE_MVE && > TARGET_HAVE_MVE_FLOAT > && ARM_HAVE_<MODE>_ARITH)) > && !BYTES_BIG_ENDIAN" > { > rtx tmp = gen_reg_rtx (<MODE>mode); > - emit_insn (gen_arm_vcmla<rotsplit1><mode> (tmp, operands[1], > - operands[3], operands[2])); > + emit_insn (gen_arm_vcmla<rotsplit1><mode> (tmp, operands[3], > + operands[2], operands[1])); > emit_insn (gen_arm_vcmla<rotsplit2><mode> (operands[0], tmp, > - operands[3], operands[2])); > + operands[2], operands[1])); > DONE; > })
RE: [3/3 PATCH][AArch32] use canonical ordering for complex mul, fma and fms
Tamar Christina via Gcc-patches Mon, 10 Jan 2022 23:13:53 -0800
- [1/3 PATCH]middle-end vect: Simplify and... Tamar Christina via Gcc-patches
- [2/3 PATCH]AArch64 use canonical or... Tamar Christina via Gcc-patches
- Re: [2/3 PATCH]AArch64 use cano... Richard Sandiford via Gcc-patches
- Re: [2/3 PATCH]AArch64 use ... Richard Sandiford via Gcc-patches
- RE: [2/3 PATCH]AArch64 ... Tamar Christina via Gcc-patches
- RE: [2/3 PATCH]AAr... Tamar Christina via Gcc-patches
- RE: [2/3 PATCH... Tamar Christina via Gcc-patches
- [3/3 PATCH][AArch32] use canonical ... Tamar Christina via Gcc-patches
- RE: [3/3 PATCH][AArch32] use ca... Tamar Christina via Gcc-patches
- RE: [3/3 PATCH][AArch32] us... Tamar Christina via Gcc-patches
- RE: [3/3 PATCH][AArch32... Tamar Christina via Gcc-patches
- RE: [3/3 PATCH][AArch32] us... Kyrylo Tkachov via Gcc-patches
- Re: [1/3 PATCH]middle-end vect: Sim... Richard Sandiford via Gcc-patches
- RE: [1/3 PATCH]middle-end vect:... Tamar Christina via Gcc-patches
- RE: [1/3 PATCH]middle-end v... Tamar Christina via Gcc-patches
- Re: [1/3 PATCH]middle-end vect: Sim... Richard Biener via Gcc-patches
- RE: [1/3 PATCH]middle-end vect:... Tamar Christina via Gcc-patches