On Tue, Nov 14, 2017 at 03:54:56PM +0000, Tamar Christina wrote: > Hi All, > > Dot Product is intended to only be available for Armv8.2-a and newer. > While this restriction is reflected in the intrinsics, the patterns > themselves were missing the Armv8.2-a bit. > > This means that using -march=armv8.1-a+dotprod incorrectly got the > auto-vectorizer to generate dot product instructions. > > Regtested on aarch64-none-elf and no issues. > > Ok for trunk?
What is the design here? That -march=armv8.1-a+dotprod is valid, but that the +dotprod is silently ignored? Is that really less surprising than a hard error? How does this interact with -march=native ? If I remember right, we don't get any good indication from the kernel that we are Armv8.2-A rather than Armv8.1-A? Maybe I'm misremembering. Thanks, James > > Thanks, > Tamar > > gcc/ > 2017-11-14 Tamar Christina <tamar.christ...@arm.com> > > * config/aarch64/aarch64.h (TARGET_DOTPROD): Add AARCH64_ISA_V8_2. > > gcc/testsuite/ > 2017-11-14 Tamar Christina <tamar.christ...@arm.com> > > * gcc.target/aarch64/advsimd-intrinsics/vect-dot-s8_1.c: New. > * gcc.target/aarch64/advsimd-intrinsics/vect-dot-s8_2.c: New.