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/