On 06/10/17 13:44, Tamar Christina wrote: > Hi All, > > this is a minor respin with changes echo'd from feedback from aarch64. > I assume still OK for trunk. > > Regtested on arm-none-eabi, armeb-none-eabi, > aarch64-none-elf and aarch64_be-none-elf with no issues found. > > Ok for trunk? > > gcc/ > 2017-10-06 Tamar Christina <tamar.christ...@arm.com> > > * config/arm/arm-builtins.c (arm_unsigned_uternop_qualifiers): New. > (UTERNOP_QUALIFIERS, arm_umac_lane_qualifiers, UMAC_LANE_QUALIFIERS): > New. > * config/arm/arm_neon_builtins.def (sdot, udot, sdot_lane, > udot_lane): new. > * config/arm/iterators.md (DOTPROD, VSI2QI, vsi2qi): New. > (UNSPEC_DOT_S, UNSPEC_DOT_U, opsuffix): New. > * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New. > (neon_<sup>dot_lane<vsi2qi>, <sup>dot_prod<vsi2qi>): New. > * config/arm/types.md (neon_dot, neon_dot_q): New. > * config/arm/unspecs.md (sup): Add UNSPEC_DOT_S, UNSPEC_DOT_U.
OK if this passes a native bootstrap. R. > ________________________________________ > From: Kyrill Tkachov <kyrylo.tkac...@foss.arm.com> > Sent: Wednesday, September 13, 2017 10:36:38 AM > To: Tamar Christina; gcc-patches@gcc.gnu.org > Cc: nd; Ramana Radhakrishnan; Richard Earnshaw; ni...@redhat.com > Subject: Re: [PATCH][GCC][ARM] Dot Product NEON patterns [Patch (2/8)] > > Hi Tamar, > > On 01/09/17 14:33, Tamar Christina wrote: >> Hi All, >> >> This patch adds the instructions for Dot Product to ARM along >> with the intrinsics and vectorizer pattern. >> >> Armv8.2-a dot product supports 8-bit element values both >> signed and unsigned. >> >> Dot product is available from Armv8.2-a and onwards. >> >> Regtested and bootstrapped on arm-none-eabi and no issues. >> >> Ok for trunk? > > This is ok once the prerequisites are approved with one ChangeLog nit. > > Kyrill > >> gcc/ >> 2017-09-01 Tamar Christina <tamar.christ...@arm.com> >> >> * config/arm/arm-builtins.c (arm_unsigned_uternop_qualifiers): New. >> (UTERNOP_QUALIFIERS, arm_umac_lane_qualifiers, UMAC_LANE_QUALIFIERS): >> New. >> * config/arm/arm_neon_builtins.def (sdot, udot, sdot_lane, udot_lane): >> new. >> * config/arm/iterators.md (DOTPROD, DOT_MODE, dot_mode): New. >> (UNSPEC_DOT_S, UNSPEC_DOT_U, opsuffix): New. >> * config/arm/neon.md (neon_<sup>dot<dot_mode>): New. >> (neon_<sup>dot_lane<dot_mode>, <sup>dot_prod<dot_mode>): New. >> * config/arm/types.md (neon_dot, neon_dot_q): New. >> * config/arm/unspecs.md (UNSPEC_DOT_S, UNSPEC_DOT_U): New. >> > > diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md > index > 7acbaf1bb40a4f270e75968804546508f7839e49..139e09fd929e17216ad9383505f1453a73d071fb > 100644 > --- a/gcc/config/arm/iterators.md > > --snip--- > > > ;;---------------------------------------------------------------------------- > ;; Code attributes > > ;;---------------------------------------------------------------------------- > @@ -816,6 +822,7 @@ > (UNSPEC_VSRA_S_N "s") (UNSPEC_VSRA_U_N "u") > (UNSPEC_VRSRA_S_N "s") (UNSPEC_VRSRA_U_N "u") > (UNSPEC_VCVTH_S "s") (UNSPEC_VCVTH_U "u") > + (UNSPEC_DOT_S "s") (UNSPEC_DOT_U "u") > ]) > > In your ChangeLog you list this as "New" whereas your patch just adds them to > the "sup" int_attr. >