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]

Re: optimization/8994: [3.2/3.3 regression] ICE with -O -march=pentium4


The regression reported in PR optimization/8994 showed up
starting with this patch:

Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>

        * i386.c (override_options): Recognize various CPU variants and
set
        SSE/MMX/3dNOW flags accordingly.
        * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET,
MASK_3DNOW_SET,
        MASK_3DNOW_A_SET): New.
        (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
        (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
        (MASK_*): Renumber.
        (TARGET_FLAGS): Use new masks.
        (CPP_CPU_SPECS): Recognize new CPU variants.
        * invoke.texi (-mcpu): Update documentation.

In the ChangeLog and cvs logs, this in included with
several other files whose changes seem to be separate.
If I build cc1 just before this patch was added, the test
compiles cleanly, but when the files i386.c and i386.h are
updated it gets the same ICE as the mainline.

I used Wolfgang's new test case:

---------------------
void foo (double d)
{
  union { double d; int i; } u;

  while (1)
  {
    u.d = d;
    if (u.i & 1) return;
  }
}
---------------------

Here's the compiler output when compiled with
"-O -march=pentium4" on i686-linux with the mainline
or the 3.2 branch:

8994.c: In function `foo':
8994.c:10: error: unable to find a register to spill in class `AREG'
8994.c:10: error: this is the insn:
(insn 19 18 20 1 0x2abbc2c0 (set (reg:CCNO 17 flags)
        (compare:CCNO (and:SI (subreg:SI (reg/v:DI 21 rxmm0 [59]) 0)
                (const_int 1 [0x1]))
            (const_int 0 [0x0]))) 199 {testsi_1} (insn_list 16 (nil))
    (expr_list:REG_DEAD (reg/v:DI 21 rxmm0 [59])
        (nil)))
8994.c:10: internal compiler error: in spill_failure, at reload1.c:1922
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8994




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