When using LTO, handling the pragma for sme before the pragma
for the neon-sve-bridge caused the following error on svset_neonq,
in the neon-sve-bridge.c test.

error: ACLE function '0' can only be called when SME streaming mode is enabled.

Handling the pragmas the other way around fixes this.

No regressions on aarch64-none-elf.


gcc/ChangeLog:

        * config/aarch64/aarch64-sve-builtins.cc (init_builtins):
        Re-order handle pragma functions for lto.
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc
index c2f1486315f02c3e38f808b3124a9b4cf49a4708..10f1df233ca9ae4e4a639a45a25db1f055a7d7c3 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins.cc
@@ -4511,8 +4511,8 @@ init_builtins ()
   if (in_lto_p)
     {
       handle_arm_sve_h ();
-      handle_arm_sme_h ();
       handle_arm_neon_sve_bridge_h ();
+      handle_arm_sme_h ();
     }
 }
 

Reply via email to