[v1.05][ARM] Preeliminary support for SVE detection (#259)

This commit is contained in:
Dr-Noob
2024-08-10 11:06:28 +01:00
parent e42f04cca8
commit 90624b9aaa
6 changed files with 65 additions and 3 deletions

15
src/arm/sve.c Normal file
View File

@@ -0,0 +1,15 @@
#include <stdint.h>
#include "../common/global.h"
// https://learn.arm.com/learning-paths/servers-and-cloud-computing/sve/sve_basics/#:~:text=Using%20a%20text%20editor%20of%20your%20choice%2C%20copy,svcntb%28%29%29%3B%20%7D%20This%20program%20prints%20the%20vector%20length
uint64_t sve_cntb(void) {
#ifdef __ARM_FEATURE_SVE
uint64_t x0 = 0;
__asm volatile("cntb %0"
: "=r"(x0));
return x0;
#else
printWarn("sve_cntb: Hardware supports SVE, but it was not enabled by the compiler");
return 0;
#endif
}