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