https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109254

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
And
--- gcc/config/aarch64/aarch64.cc.jj    2023-03-13 00:11:52.328213351 +0100
+++ gcc/config/aarch64/aarch64.cc       2023-03-23 16:57:29.957866005 +0100
@@ -7388,6 +7388,9 @@ aarch64_function_value_regno_p (const un
   if (regno >= V0_REGNUM && regno < V0_REGNUM + HA_MAX_NUM_FLDS)
     return TARGET_FLOAT;

+  if (regno == P0_REGNUM)
+    return TARGET_SVE;
+
   return false;
 }

Or can one actually return in more than p0?  Tried struct S { svbool_t a, b; };
but that is rejected...

Reply via email to