nisse@lysator.liu.se (Niels Möller) writes:
Maamoun TK maamoun.tk@googlemail.com writes:
I made a merge request in the main repo that enables optimized GHASH on AArch64 architecture.
Nice! I've had a quick first look. For the organization, I think aarch64 assembly should go in it's own directory, arm64/, like it's done for x86 and sparc.
I've made a new branch "arm64" with the configure changes. If you think that looks ok, can you add your new ghash code on top of that?
(I'd like to make a similar branch for S390x. It would be good to also get S390x into the ci system, before adding s390x-specific assembly. I hope that should be easy to do with the same cross setup as for arm, arm64, mips, etc).
I wonder which assembly files we should use if target host is aarch64, but ABI=32? I guess the arm/v6/ code can be used unconditionally. Can we also use arm/neon/ code unconditionally?
The reference manual says
Armv8 can support the following levels of support for Advanced SIMD and floating-point instructions:
* Full SIMD and floating-point support without exception trapping.
* Full SIMD and floating-point support with exception trapping.
* No floating-point or SIMD support. This option is licensed only for implementations targeting specialized markets.
As far as I understand, that means Neon should be always available, in both 32-bit and 64-bit mode.
Regards, /Niels