James Greenhalgh <james.greenha...@arm.com> writes: > On Fri, Nov 03, 2017 at 05:50:54PM +0000, Richard Sandiford wrote: >> This patch adds gcc.target/aarch64 tests for SVE, and forces some >> existing Advanced SIMD tests to use -march=armv8-a. > > I'm going to assume that these new testcases are broadly sensible, and not > spend any significant time looking at them. > > I'm not completely happy forcing the architecture to Armv8-a - it would be > useful for our testing coverage if users which have configured with other > architecture variants had this test execute in those environments. That > way we'd check we still do the right thing once we have an implicit > -march=armv8.2-a . > > However, as we don't have a good way to make that happen (other than maybe > only forcing the arch if we are in a configuration wired for SVE?) I'm > happy with this patch as a compromise for now.
Would something like LLVM's -mattr be useful? Then we could have -mattr=+nosve without having to change the base architecture. I suppose we'd need to be careful about how it interacts with -march though, so it probably isn't GCC 8 material. I'll try only forcing the arch when we're compiling for SVE, like you say. Not strictly related, but do you think it's OK to require binutils 2.28+ when testing GCC (rather than simply building it)? When trying with an older OS the other day, I realised that the SVE dg-do assemble tests would fail for 2.27 and earlier. We'd need something like: /* { dg-do assemble { aarch64_sve_asm } } */ if we wanted to support older binutils. Thanks, Richard