[compiler-rt] ea443d5 - [FMV][AArch64] Remove last of MRS bits and rename file (#161585)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 2 13:49:14 PDT 2025
Author: Brad Smith
Date: 2025-10-02T16:49:10-04:00
New Revision: ea443d528d1a6687c2f5ecfe3de62e5c9d2ca42c
URL: https://github.com/llvm/llvm-project/commit/ea443d528d1a6687c2f5ecfe3de62e5c9d2ca42c
DIFF: https://github.com/llvm/llvm-project/commit/ea443d528d1a6687c2f5ecfe3de62e5c9d2ca42c.diff
LOG: [FMV][AArch64] Remove last of MRS bits and rename file (#161585)
474f5d2aefb44430b89ed72774a3c1d26a0adfb1 removed the last
bits reading from system registers so remove the last bits
utilizing MRS and rename the file to hwcap as the
code is now only decoding the hwcap flags.
Added:
compiler-rt/lib/builtins/cpu_model/aarch64/fmv/hwcap.inc
Modified:
compiler-rt/lib/builtins/cpu_model/aarch64.c
Removed:
compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
################################################################################
diff --git a/compiler-rt/lib/builtins/cpu_model/aarch64.c b/compiler-rt/lib/builtins/cpu_model/aarch64.c
index d7880529ebe70..8af736d0ffe93 100644
--- a/compiler-rt/lib/builtins/cpu_model/aarch64.c
+++ b/compiler-rt/lib/builtins/cpu_model/aarch64.c
@@ -69,15 +69,15 @@ struct {
#if defined(__APPLE__)
#include "aarch64/fmv/apple.inc"
#elif defined(__FreeBSD__) || defined(__OpenBSD__)
-#include "aarch64/fmv/mrs.inc"
+#include "aarch64/fmv/hwcap.inc"
#include "aarch64/fmv/elf_aux_info.inc"
#elif defined(__Fuchsia__)
#include "aarch64/fmv/fuchsia.inc"
#elif defined(__ANDROID__)
-#include "aarch64/fmv/mrs.inc"
+#include "aarch64/fmv/hwcap.inc"
#include "aarch64/fmv/android.inc"
#elif defined(__linux__) && __has_include(<sys/auxv.h>)
-#include "aarch64/fmv/mrs.inc"
+#include "aarch64/fmv/hwcap.inc"
#include "aarch64/fmv/getauxval.inc"
#elif defined(_WIN32)
#include "aarch64/fmv/windows.inc"
diff --git a/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc b/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/hwcap.inc
similarity index 94%
rename from compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
rename to compiler-rt/lib/builtins/cpu_model/aarch64/fmv/hwcap.inc
index afe9d4efd6af5..0f56cef97d4a3 100644
--- a/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
+++ b/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/hwcap.inc
@@ -7,9 +7,6 @@ static void __init_cpu_features_constructor(unsigned long hwcap,
const __ifunc_arg_t *arg) {
unsigned long long feat = 0;
#define setCPUFeature(F) feat |= 1ULL << F
-#define getCPUFeature(id, ftr) __asm__("mrs %0, " #id : "=r"(ftr))
-#define extractBits(val, start, number) \
- (val & ((1ULL << number) - 1ULL) << start) >> start
unsigned long hwcap2 = 0;
if (hwcap & _IFUNC_ARG_HWCAP)
hwcap2 = arg->_hwcap2;
More information about the llvm-commits
mailing list