This is the mail archive of the gcc@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]

Re: GCC 3.1.1 Status


> and there isn't a FLOAT_REG that will hold a QImode value, so we fail the
> test in set_reload_reg for each attempted FLOAT_REG.  Basically, since
> reg 90 didn't get a hard, we'd be trying to move a byte from a floating
> point register to a memory location, and that is obviously not going to
> work.  So, we certainly should never have made a reload like this one.
> 
> All of this might have worked better if push_reload hadn't decided to strip
> the subreg (it gets passed "(subreg:SF (reg:QI 90))" for OUT).  But then,
> I certainly don't fully understand the logic behind the 60 line if conditions
> that deal with subregs, so it's hard to decide what to do about it.
> 
> Can you show me an example of what happens in the x86-64 case?

The failure is:

Executing on host: /usr/src/aj/regression/build/gcc/xgcc -B/usr/src/aj/regression/build/gcc/ /usr/src/aj/regres
sion/sources/gcc/gcc/gcc/testsuite/gcc.dg/i386-sse-1.c   -O2 -msse -S  -o i386-sse-1.s    (timeout = 300)
In file included from /usr/src/aj/regression/sources/gcc/gcc/gcc/testsuite/gcc.dg/i386-sse-1.c:12:
/usr/src/aj/regression/build/gcc/include/xmmintrin.h: In function `_mm_mul_epu16':
/usr/src/aj/regression/build/gcc/include/xmmintrin.h:1714: error: unable to find a register to spill in class `
MMX_REGS'
/usr/src/aj/regression/build/gcc/include/xmmintrin.h:1714: error: this is the insn:
(insn:HI 14 13 15 0 (nil) (set (reg:V2DI 21 exmm0 [64])
        (mult:V2DI (zero_extend:V2DI (vec_select:V2SI (reg:V4SI 23 exmm2 [62])
                    (parallel [
                            (const_int 0 [0x0])
                            (const_int 2 [0x2])
                        ])))
            (zero_extend:V2DI (vec_select:V2SI (reg:V4SI 21 exmm0 [63])
                    (parallel [
                            (const_int 0 [0x0])
                            (const_int 2 [0x2])
                        ]))))) 931 {sse2_umulv2siv2di3} (insn_list 12 (insn_list 13 (nil)))
    (expr_list:REG_DEAD (reg:V4SI 23 exmm2 [62])
        (expr_list:REG_DEAD (reg:V4SI 21 exmm0 [63])
            (nil))))
/usr/src/aj/regression/build/gcc/include/xmmintrin.h:1714: internal compiler error: Internal compiler error in 
spill_failure, at reload1.c:1908
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.


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