https://gcc.gnu.org/g:a33091a696a468db80253e031b15dcf0cc6db521

commit r16-7048-ga33091a696a468db80253e031b15dcf0cc6db521
Author: Karl Meakin <[email protected]>
Date:   Thu Dec 11 16:49:14 2025 +0000

    aarch64: fix `asm.c` tests
    
    The assembly functions declared in `asm_1.c` and `asm_3` were not marked
    global, so they could not be found by the linker, and would cause the
    `asm_2.c` and `asm_4.c` test to fail. Fix by marking the functions with
    `.globl`.
    
    gcc/testsuite/ChangeLog:
    
            * gcc.target/aarch64/sve/pcs/asm_1.c
            * gcc.target/aarch64/sve/pcs/asm_3.c: Fix tests.

Diff:
---
 gcc/testsuite/gcc.target/aarch64/sve/pcs/asm_1.c | 8 +++++---
 gcc/testsuite/gcc.target/aarch64/sve/pcs/asm_3.c | 8 +++++---
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/asm_1.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/asm_1.c
index 8be2094dc96d..9c42b7873bf2 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/asm_1.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/asm_1.c
@@ -6,11 +6,13 @@
 #define ASM_FUNCTION(NAME, RET_TYPE, ARG_TYPE, INSN) \
 extern RET_TYPE NAME (svbool_t, ARG_TYPE);     \
   asm(                                         \
-"      .type   " #NAME ", %function\n"         \
-#NAME ":\n"                                    \
+"      .type   %cc0,   %%function\n"           \
+"      .globl  %cc0\n"                         \
+"%cc0:\n"                                      \
 "      " INSN "\n"                             \
 "      ret\n"                                  \
-"      .size   " #NAME ", .-" #NAME "\n"       \
+"      .size   %cc0, .-%cc0\n"                 \
+: :":"(NAME ) \
 )
 
 ASM_FUNCTION (u8_callee, uint64_t, svuint8_t,
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/asm_3.c 
b/gcc/testsuite/gcc.target/aarch64/sve/pcs/asm_3.c
index d5a36e52eab1..bcfa2c4c5418 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/asm_3.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/asm_3.c
@@ -6,11 +6,13 @@
 #define ASM_FUNCTION(NAME, RET_TYPE, ARG_TYPE, INSN) \
 extern RET_TYPE NAME (svbool_t, ARG_TYPE);     \
   asm(                                         \
-"      .type   " #NAME ", %function\n"         \
-#NAME ":\n"                                    \
+"      .type   %cc0,   %%function\n"           \
+"      .globl  %cc0\n"                         \
+"%cc0:\n"                                      \
 "      " INSN "\n"                             \
 "      ret\n"                                  \
-"      .size   " #NAME ", .-" #NAME "\n"       \
+"      .size   %cc0, .-%cc0\n"                 \
+: :":"(NAME ) \
 )
 
 ASM_FUNCTION (u8_callee, svuint8_t, svuint8x2_t,

Reply via email to