On Thu, Jan 17, 2019 at 07:47:32AM -0600, Jakub Jelinek wrote: > Hi! > > arm_neon.h on both targets contained a couple of spots with invalid > #pragma GCC target syntax. This doesn't result in errors, just warnings and > those warnings are surpressed in system headers, so are visible with > -Wsystem-headers only. Anyway, the end result was that these pragmas were > ignored, when they meant to be there. > > The following patch fixes it. Also, on aarch64 the sha3 intrinsics were > wrapped with arch=armv8.2-a+crypto rather than arch=armv8.2-a+sha3, but > because of the invalid syntax it wasn't covered in the testsuite. > > Without the patch, besides -Wsystem-headers warnings on it, if somebody > attempts to use those intrinsics in code compiled with target options that > do not include the necessary ISA features, one will get ICEs rather than > errors. > > Bootstrapped/regtested on aarch64-linux, ok for trunk? > > Note, I haven't included a testcase, as I'm not familiar enough with > gcc.target/aarch64/ test style, but a test would be roughly include the > testcase from the PR, compile it with -march=something that doesn't include > the needed ISA options, probably have a dg-skip-if if somebody overrides it > from the --target_board and make sure it emits a dg-error message rather > than ICE.
AArch64 parts of this are OK by me. Thanks for the fix. James > > 2019-01-17 Jakub Jelinek <ja...@redhat.com> > > PR target/88734 > * config/arm/arm_neon.h: Fix #pragma GCC target syntax - replace > (("..."))) with ("..."). > * config/aarch64/arm_neon.h: Likewise. Use arch=armv8.2-a+sha3 > instead of arch=armv8.2-a+crypto for vsha512hq_u64 etc. intrinsics.