On Sat, Jan 06, 2018 at 07:13:22PM +0000, Richard Sandiford wrote:
> 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.

(Sorry if you took a duplicate of this - I mistakenly sent with a disclaimer)

We also could do this with Target pragmas:

  #pragma GCC target ("+nosve")

Should work here I think.

> 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.

Personally I think this is OK. We have the same problem with other
new instructions we add and want assemble tests for.

Thanks,
James

Reply via email to