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

Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2014-11-22 00:00:00         |2014-11-23
                 CC|                            |edmarwjr at gcc dot gnu.org,
                   |                            |rohitarulraj at gmail dot com

--- Comment #8 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> ---
I've reproduced this with a cross-compiler targeting powerpc-apple-darwin9: the
cc1 built fails at startup, with any source file, as shown above.

Then bisection shows this 4.9.2 regression is due to revision 213597:

2014-08-04  Rohit  <rohitarul...@freescale.com>
        * config/rs6000/rs6000.c
          (rs6000_reg_names) : Add SPE high register names.
          (alt_reg_names) : Likewise.
          (rs6000_dwarf_register_span) : For SPE high registers, replace
          dwarf register numbers with GCC hard register numbers.
          (rs6000_init_dwarf_reg_sizes_extra) : Likewise.
          (rs6000_dbx_register_number): For SPE high registers, return dwarf
          register number for the corresponding GCC hard register number.

        * config/rs6000/rs6000.h
          (FIRST_PSEUDO_REGISTER) : Update based on 32 newly added GCC hard
          register numbers for SPE high registers.
          (DWARF_FRAME_REGISTERS) :  Likewise.
          (DWARF_REG_TO_UNWIND_COLUMN) : Likewise.
          (DWARF_FRAME_REGNUM) : Likewise.
          (FIXED_REGISTERS) : Likewise.
          (CALL_USED_REGISTERS) : Likewise.
          (CALL_REALLY_USED_REGISTERS) : Likewise.
          (REG_ALLOC_ORDER) : Likewise.
          (enum reg_class) : Likewise.
          (REG_CLASS_NAMES) : Likewise.
          (REG_CLASS_CONTENTS) : Likewise.
          (SPE_HIGH_REGNO_P) : New macro to identify SPE high registers.


I looked into reginfo.c: array initial_reg_names has 117 elements:

static const char *const initial_reg_names[] = { "r0", "r1", "r2", "r3", "r4",
"r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", "r16",
"r17", "r18", "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", "r27",
"r28", "r29", "r30", "r31", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", "f16", "f17", "f18",
"f19", "f20", "f21", "f22", "f23", "f24", "f25", "f26", "f27", "f28", "f29",
"f30", "f31", "mq", "lr", "ctr", "ap", "cr0", "cr1", "cr2", "cr3", "cr4",
"cr5", "cr6", "cr7", "xer", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7",
"v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", "v18",
"v19", "v20", "v21", "v22", "v23", "v24", "v25", "v26", "v27", "v28", "v29",
"v30", "v31", "vrsave", "vscr", "spe_acc", "spefscr", "sfp", "tfhar", "tfiar",
"texasr" };

while reg_names (this_target_hard_regs->x_reg_names) has size
FIRST_PSEUDO_REGISTER, which equals 149.

Reply via email to