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

--- Comment #2 from David Edelsohn <dje at gcc dot gnu.org> ---
A crude work-around to allow GCC to bootstrap and show the extent of the
problem, I need the following patches to comment out all decimal builtins.

Index: rs6000-call.c
===================================================================
--- rs6000-call.c       (revision 278691)
+++ rs6000-call.c       (working copy)
@@ -7653,7 +7653,7 @@
     /* signed args, unsigned return.  */
     case VSX_BUILTIN_XVCVDPUXDS_UNS:
     case ALTIVEC_BUILTIN_FIXUNS_V4SF_V4SI:
-    case MISC_BUILTIN_UNPACK_TD:
+    /* case MISC_BUILTIN_UNPACK_TD: */
     case MISC_BUILTIN_UNPACK_V1TI:
       h.uns_p[0] = 1;
       break;
@@ -7676,7 +7676,7 @@
       break;

     /* unsigned arguments for 128-bit pack instructions.  */
-    case MISC_BUILTIN_PACK_TD:
+    /* case MISC_BUILTIN_PACK_TD: */
     case MISC_BUILTIN_PACK_V1TI:
       h.uns_p[1] = 1;
       h.uns_p[2] = 1;
Index: rs6000-c.c
===================================================================
--- rs6000-c.c  (revision 278691)
+++ rs6000-c.c  (working copy)
@@ -4884,6 +4884,7 @@
   { P8V_BUILTIN_VEC_VCLZD, P8V_BUILTIN_VCLZD,
     RS6000_BTI_unsigned_V2DI, RS6000_BTI_unsigned_V2DI, 0, 0 },

+#if 0
   { P9_BUILTIN_DFP_TSTSFI_LT, MISC_BUILTIN_TSTSFI_LT_TD,
     RS6000_BTI_INTSI, RS6000_BTI_UINTSI, RS6000_BTI_dfloat128, 0 },
   { P9_BUILTIN_DFP_TSTSFI_LT, MISC_BUILTIN_TSTSFI_LT_DD,
@@ -4923,6 +4924,7 @@
     RS6000_BTI_INTSI, RS6000_BTI_UINTSI, RS6000_BTI_dfloat128, 0 },
   { P9_BUILTIN_DFP_TSTSFI_OV_DD, MISC_BUILTIN_TSTSFI_OV_DD,
     RS6000_BTI_INTSI, RS6000_BTI_UINTSI, RS6000_BTI_dfloat64, 0 },
+#endif

   { P9V_BUILTIN_VEC_VCTZ, P9V_BUILTIN_VCTZB,
     RS6000_BTI_V16QI, RS6000_BTI_V16QI, 0, 0 },
Index: rs6000-builtin.def
===================================================================
--- rs6000-builtin.def  (revision 278691)
+++ rs6000-builtin.def  (working copy)
@@ -2298,6 +2298,7 @@
 BU_P7_POWERPC64_MISC_2 (DIVDE, "divde",        CONST,  dive_di)
 BU_P7_POWERPC64_MISC_2 (DIVDEU,        "divdeu",       CONST,  diveu_di)

+#if 0
 /* 1 argument DFP (decimal floating point) functions added in ISA 2.05.  */
 BU_DFP_MISC_1 (DXEX,           "dxex",         CONST,  dfp_dxex_dd)
 BU_DFP_MISC_1 (DXEXQ,          "dxexq",        CONST,  dfp_dxex_td)
@@ -2313,6 +2314,7 @@
 BU_DFP_MISC_2 (DSCLIQ,         "dscliq",       CONST,  dfp_dscli_td)
 BU_DFP_MISC_2 (DSCRI,          "dscri",        CONST,  dfp_dscri_dd)
 BU_DFP_MISC_2 (DSCRIQ,         "dscriq",       CONST,  dfp_dscri_td)
+#endif

 /* 0 argument void function that we pretend was added in ISA 2.06.
    It's a special nop recognized by 2018+ firmware for P7 and up,
@@ -2338,9 +2340,11 @@
 BU_P8V_MISC_3 (BCDSUB_GT,      "bcdsub_gt",    CONST,  bcdsub_gt)
 BU_P8V_MISC_3 (BCDSUB_OV,      "bcdsub_ov",    CONST,  bcdsub_unordered)

+#if 0
 /* 2 argument pack/unpack 128-bit floating point types.  */
 BU_DFP_MISC_2 (PACK_TD,                "pack_dec128",          CONST,  packtd)
 BU_DFP_MISC_2 (UNPACK_TD,      "unpack_dec128",        CONST,  unpacktd)
+#endif 

 /* 0 argument general-purpose register functions added in ISA 3.0 (power9). 
*/
 BU_P9_MISC_0 (DARN_32,         "darn_32",              MISC, darn_32)
@@ -2356,6 +2360,7 @@
 BU_P7_MISC_2 (PACK_V1TI,       "pack_vector_int128",   CONST,  packv1ti)
 BU_P7_MISC_2 (UNPACK_V1TI,     "unpack_vector_int128", CONST,  unpackv1ti)

+#if 0
 /* 2 argument DFP (Decimal Floating Point) functions added in ISA 3.0.  */
 BU_P9_DFP_MISC_2 (TSTSFI_LT_DD, "dtstsfi_lt_dd", CONST, dfptstsfi_lt_dd)
 BU_P9_DFP_MISC_2 (TSTSFI_LT_TD, "dtstsfi_lt_td", CONST, dfptstsfi_lt_td)
@@ -2385,6 +2390,7 @@
 BU_P9_DFP_OVERLOAD_2 (TSTSFI_OV,       "dtstsfi_ov")
 BU_P9_DFP_OVERLOAD_2 (TSTSFI_OV_DD,    "dtstsfi_ov_dd")
 BU_P9_DFP_OVERLOAD_2 (TSTSFI_OV_TD,    "dtstsfi_ov_td")
+#endif

 /* 1 argument vector functions added in ISA 3.0 (power9).  */
 BU_P9V_AV_1 (VCTZB,            "vctzb",                CONST,  ctzv16qi2)

Reply via email to