We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
When using the gcc aarch64-linux-gnu v14 compiler, Arm SVE intrinsics (for neoverse-v2) are referenced by including:\usr\lib\gcc\aarch64-linux-gnu\14\include\arm_sve.h
However, this header file uses unusual code to generate the definitions:/* NOTE: This implementation of arm_sve.h is intentionally short. It does not define the SVE types and intrinsic functions directly in C and C++ code, but instead uses the following pragma to tell GCC to insert the necessary type and function definitions itself. The net effect is the same, and the file is a complete implementation of arm_sve.h. */ #pragma GCC aarch64 "arm_sve.h"
/* NOTE: This implementation of arm_sve.h is intentionally short. It does not define the SVE types and intrinsic functions directly in C and C++ code, but instead uses the following pragma to tell GCC to insert the necessary type and function definitions itself. The net effect is the same, and the file is a complete implementation of arm_sve.h. */ #pragma GCC aarch64 "arm_sve.h"
This makes it impossible to inspect the definitions.
There is documentation on SVE here: https://developer.arm.com/documentation/102476/0100 but we can't find definitions of the intrinsics.Where can I find clear definitions of the SVE intrinsics? Is it possible to generate or obtain an expanded arm_sve.h containing the full definitions?
Hello David,
Is this the document you need?
https://developer.arm.com/documentation/100987/latest/
Regards, Ronan
Thanks Ronan,
BR David.