PINE64
RockPro64 and Neon - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: ROCKPRO64 (https://forum.pine64.org/forumdisplay.php?fid=98)
+--- Forum: General Discussion on ROCKPRO64 (https://forum.pine64.org/forumdisplay.php?fid=99)
+--- Thread: RockPro64 and Neon (/showthread.php?tid=17494)



RockPro64 and Neon - rapier1 - 10-20-2022

Does it actually have neon support? I notice that it's not listed in /proc/cpuinfo. If it is supported does anyone have a good way to identify it in a configure script so I can actually build a project that supports neon? 

Thanks

Chris


RE: RockPro64 and Neon - CounterPillow - 10-21-2022

Yes, in armv8 nomenclature this is "asimd" in /proc/cpuinfo for advanced simd extensions. Your compilers will automatically pick it up, as far as I know, as it's a base feature of Armv8.0-A I believe.

The gcc manual confirms my belief here by straight up saying +simd is default on armv8-a:

[Image: simd.png]

So nothing special is needed in any configure script, any build for aarch64 will use simd, though auto-vectorisation might not occur on lower optimisation levels.


RE: RockPro64 and Neon - rapier1 - 10-21-2022

(10-21-2022, 03:34 AM)CounterPillow Wrote: Yes, in armv8 nomenclature this is "asimd" in /proc/cpuinfo for advanced simd extensions. Your compilers will automatically pick it up, as far as I know, as it's a base feature of Armv8.0-A I believe.

Okay, I think I know what is going on then. I've been working with the optimized poly1305 MAC code from floodyberry (github.com/floodyberry/poly1305-opt) and the problem seems to be that it just is too old to properly support armv8. Specifically in that the assembly was only written for 32bit processors. I was getting turned around buy an error message that, for some reason, made me think that it was a problem with the neon code and not the armv6 assembly. 

Thanks!