libmvec on aarch64 without hardware SVE support

Andreas K. Huettel dilfridge@gentoo.org
Fri Jul 21 14:12:48 GMT 2023


Hi Joe, 

thanks a lot.

> > configure:331: aarch64-unknown-linux-gnu-gcc  -mcpu=native -pipe -O2 -Wl,-O1 -Wl,--as-needed -c -march=armv8.2-a+sve conftest.s 1>&5

> > Setting both CFLAGS and CXXFLAGS to "-O2 -march=native -pipe" makes
> > configure succeed (but of course at some point generates code that
> > does not actually run on the machine). 

I don't know how typical -mcpu=... usage in comparison to -march=... is, 
the failure I got with the CFLAGS forcing sve off probably falls under 
"self-inflicted pain" then. If the intention of the -march=armv8.2-a+sve 
in the configure test is to override user settings, it should fully do it
though.

> > Tests pass though [*].
> Hmm, SVE tests should maybe exit with UNSUPPORTED, not PASS, if not on 
> SVE hardware. I'll have a look at this.

Sounds good, not urgent.

> > What happens if code calls the vector functions on a machine that does
> > not have the hardware support?
> 
> There is no fallback - if a user is writing vector code to be run on a 
> target without SVE, we just expect them not to call out to the SVE 
> versions (IMO reasonable - same as expecting them not to turn on 
> -march=armv8-a+sve). If they do they will get an illegal instruction.
> 
> > How is an analogue case handled on x86-64?
> 
> I believe this is the approach taken for the routines in sysdeps/x86_64 
> as well - for instance there will still be 'e' variants of the libmvec 
> symbols available on machines without AVX512.

OK, makes sense.

Best,
Andreas

-- 
PD Dr. Andreas K. Huettel
Institute for Experimental and Applied Physics
University of Regensburg
93040 Regensburg
Germany

tel. +49 151 241 67748 (mobile)
tel. +49 941 943 1618 (office)
e-mail andreas.huettel@ur.de
https://www.akhuettel.de/
https://www.akhuettel.de/group/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 981 bytes
Desc: This is a digitally signed message part.
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20230721/3c18c631/attachment.sig>


More information about the Libc-alpha mailing list