[compiler-rt] [FMV][AArch64] Fix build after edb43192516a55165cc4c158eb4fd4b2d81a8fce (PR #162383)

Brad Smith via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 7 15:08:18 PDT 2025


https://github.com/brad0 created https://github.com/llvm/llvm-project/pull/162383

Revert removal of local variables.

>From 7c957d220320d55be5374e007f309362dc7cd765 Mon Sep 17 00:00:00 2001
From: Brad Smith <brad at comstyle.com>
Date: Tue, 7 Oct 2025 18:05:50 -0400
Subject: [PATCH] [FMV][AArch64] Fix build after
 edb43192516a55165cc4c158eb4fd4b2d81a8fce

Revert removal of local variables.
---
 .../lib/builtins/cpu_model/aarch64/fmv/android.inc  | 13 +++++++++----
 .../builtins/cpu_model/aarch64/fmv/getauxval.inc    | 13 +++++++++----
 2 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/android.inc b/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/android.inc
index f9c260e80f40e..f3065735ad501 100644
--- a/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/android.inc
+++ b/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/android.inc
@@ -25,11 +25,16 @@ void CONSTRUCTOR_ATTRIBUTE __init_cpu_features(void) {
   if (__isExynos9810())
     return;
 
+  unsigned long hwcap = getauxval(AT_HWCAP);
+  unsigned long hwcap2 = getauxval(AT_HWCAP2);
+  unsigned long hwcap2 = getauxval(AT_HWCAP3);
+  unsigned long hwcap2 = getauxval(AT_HWCAP4);
+
   __ifunc_arg_t arg;
   arg._size = sizeof(__ifunc_arg_t);
-  arg._hwcap = getauxval(AT_HWCAP);
-  arg._hwcap2 = getauxval(AT_HWCAP2);
-  arg._hwcap3 = getauxval(AT_HWCAP3);
-  arg._hwcap4 = getauxval(AT_HWCAP4);
+  arg._hwcap = hwcap;
+  arg._hwcap2 = hwcap2;
+  arg._hwcap3 = hwcap3;
+  arg._hwcap4 = hwcap4;
   __init_cpu_features_constructor(hwcap | _IFUNC_ARG_HWCAP, &arg);
 }
diff --git a/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/getauxval.inc b/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/getauxval.inc
index 689a1f7175aef..91b37b69ca47a 100644
--- a/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/getauxval.inc
+++ b/compiler-rt/lib/builtins/cpu_model/aarch64/fmv/getauxval.inc
@@ -10,11 +10,16 @@ void CONSTRUCTOR_ATTRIBUTE __init_cpu_features(void) {
   if (__atomic_load_n(&__aarch64_cpu_features.features, __ATOMIC_RELAXED))
     return;
 
+  unsigned long hwcap = getauxval(AT_HWCAP);
+  unsigned long hwcap2 = getauxval(AT_HWCAP2);
+  unsigned long hwcap2 = getauxval(AT_HWCAP3);
+  unsigned long hwcap2 = getauxval(AT_HWCAP4);
+
   __ifunc_arg_t arg;
   arg._size = sizeof(__ifunc_arg_t);
-  arg._hwcap = getauxval(AT_HWCAP);
-  arg._hwcap2 = getauxval(AT_HWCAP2);
-  arg._hwcap3 = getauxval(AT_HWCAP3);
-  arg._hwcap4 = getauxval(AT_HWCAP4);
+  arg._hwcap = hwcap;
+  arg._hwcap2 = hwcap2;
+  arg._hwcap3 = hwcap3;
+  arg._hwcap4 = hwcap4;
   __init_cpu_features_constructor(hwcap | _IFUNC_ARG_HWCAP, &arg);
 }



More information about the llvm-commits mailing list