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

Avinash Jayakar <avinashd at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |avinashd at gcc dot gnu.org

--- Comment #1 from Avinash Jayakar <avinashd at gcc dot gnu.org> ---
I see that the REGISTER_NAMES macro is defined separately for darwin.h as the
assembler for darwin expects the register names differently. 

This should be the minimal fix to get a successful build.

diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 175b6b1c3e0..8614052d8ca 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -295,7 +295,9 @@
   /* cr0..cr7 */                                                       \
     "cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7",            \
   /* vrsave vscr sfp */                                                       
\
-    "vrsave", "vscr", "sfp"                                            \
+    "vrsave", "vscr", "sfp",                                           \
+  /* DMRs */                                                           \
+      "dm0", "dm1", "dm2", "dm3", "dm4", "dm5", "dm6", "dm7"   \
 }

 /* This outputs NAME to FILE.  */

But as I have seen previously (in PR126123), darwin uses a different assembler.
Therefore the dense math registers or any builtins supported with -mcpu=future
will not work right now.
(https://gcc.gnu.org/onlinedocs/gcc/PowerPC-AltiVec_002fVSX-Built-in-Functions-Available-on-Future-ISA.html)

Reply via email to