This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/35135] New: [4.3 regression] unable to find a register to spill in class ‘GENERAL_REGS’


gcc -v -O2 -c test.c

=== Cut ===
extension__ typedef unsigned long long int uint64_t;
typedef unsigned target_ulong;
register target_ulong T0 asm ("ebx");
register target_ulong T1 asm ("esi");
register target_ulong T2 asm ("edi");
typedef struct CPUX86State
{
  uint64_t xmm_regs[8];
}
CPUX86State;

save_raw_fp_state (CPUX86State * env)
{
  int i;
  char *addr;
  for (i = 0; i < 8; i++)
    env->xmm_regs[i] = *(uint64_t *) (addr);
}
=== Cut ===

GNU C (SUSE Linux) version 4.3.0 20080131 (experimental) [trunk revision
131976] (i586-suse-linux)
        compiled by GNU C version 4.3.0 20080131 (experimental) [trunk revision
131976], GMP version 4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 86307befc2a0b2e7a5d9beb62be4b74e
test.c: In function ?save_raw_fp_state?:
test.c:18: error: unable to find a register to spill in class ?GENERAL_REGS?
test.c:18: error: this is the insn:
(insn:HI 14 13 15 3 test.c:17 (set (mem/s:DI (plus:SI (mult:SI (reg/v:SI 64 [ i
])
                    (const_int 8 [0x8]))
                (reg/v/f:SI 66 [ env ])) [2 <variable>.xmm_regs S8 A8])
        (reg:DI 67)) 63 {*movdi_2} (expr_list:REG_DEAD (reg:DI 67)
        (nil)))
test.c:18: confused by earlier errors, bailing out


-- 
           Summary: [4.3 regression] unable to find a register to spill in
                    class ?GENERAL_REGS?
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mueller at gcc dot gnu dot org
  GCC host triplet: i686-suse-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35135


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]