public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/22585] New: [4.0/4.1 regression] ICE in expand_simple_unop
@ 2005-07-21 12:04 debian-gcc at lists dot debian dot org
  2005-07-21 17:05 ` [Bug target/22585] [4.0/4.1 regression] ICE in redirect_branch_edge reichelt at gcc dot gnu dot org
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: debian-gcc at lists dot debian dot org @ 2005-07-21 12:04 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3181 bytes --]

[forwarded from http://bugs.debian.org/319087]

works with 3.3.6 and 3.4 CVS, fails with 4.0 CVS and HEAD:

$ gcc-4.0 -O2 -mno-ieee-fp -c bug-319087.c
fractal.c: In function 'set_fractalc':
fractal.c:314: internal compiler error: in expand_simple_unop, at optabs.c:2049
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

$ gcc-4.1 -O2 -mno-ieee-fp -c bug-319087.c
fractal.c: In function 'set_formula':
fractal.c:367: error: unrecognizable insn:
(jump_insn 109 108 204 18 (parallel [
            (set (pc)
                (if_then_else (ne (reg:XF 86)
                        (mem/s:XF (plus:SI (reg/v/f:SI 63 [ c ])
                                (const_int 52 [0x34])) [10 <variable>.angle+0
S12 A32]))
                    (label_ref 112)
                    (pc)))
            (clobber (reg:CCFP 18 fpsr))
            (clobber (reg:CCFP 17 flags))
            (clobber (scratch:HI))
        ]) -1 (nil)
    (expr_list:REG_BR_PROB (const_int 5000 [0x1388])
        (nil)))
fractal.c:367: internal compiler error: in extract_insn, at recog.c:2084
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

Original report:

I ran into an ICE while building xaos with gcc 4.0 (after working around
several other changes that make it FTBFS). 

joey@dragon:~>gcc -O2 -mno-ieee-fp -c fractal.c -o fractal.o
fractal.c: In function ‘combine_methods’:
fractal.c:219: internal compiler error: in redirect_branch_edge, at cfgrtl.c:935
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.
zsh: exit 1     gcc -O -mno-ieee-fp -c fractal.c -o fractal.o

I've attached fractal.c, which is a preprocessed version of the one
from xaos. If I remove either the -O2 or the -mno-ieee-fp options the build
succeeds. Other -O options cause the same problem with combined with -mno-ieee-fp,
including -Os and regular -O.

Another ICE is triggered if I combine a -O flag with -ffast-math:

fjoey@dragon:~>gcc -O2 -ffast-math -c fractal.c -o fractal.o
fractal.c: In function ‘set_fractalc’:
fractal.c:314: internal compiler error: in expand_simple_unop, at optabs.c:2049
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.
zsh: exit 1     gcc -O2 -ffast-math -c fractal.c -o fractal.o

-- 
           Summary: [4.0/4.1 regression] ICE in expand_simple_unop
           Product: gcc
           Version: 4.0.2
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: debian-gcc at lists dot debian dot org
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i486-linux


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/22585] [4.0/4.1 regression] ICE in redirect_branch_edge
  2005-07-21 12:04 [Bug target/22585] New: [4.0/4.1 regression] ICE in expand_simple_unop debian-gcc at lists dot debian dot org
@ 2005-07-21 17:05 ` reichelt at gcc dot gnu dot org
  2005-07-22  5:50 ` [Bug target/22585] [4.0 only] " uros at kss-loka dot si
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2005-07-21 17:05 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2005-07-21 17:05 -------
Confirmed (at least the ICE in redirect_branch_edge and extract_insn,
I cannot reproduce the one in expand_simple_unop).

Reduced testcase:

=========================
struct A
{
  long double d;
};

int foo(struct A *p)
{
  if (p->d)
    return 1;
}
=========================

This is related to PR22576.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-valid-code, monitored
   Last reconfirmed|0000-00-00 00:00:00         |2005-07-21 17:05:45
               date|                            |
            Summary|[4.0/4.1 regression] ICE in |[4.0/4.1 regression] ICE in
                   |expand_simple_unop          |redirect_branch_edge
   Target Milestone|---                         |4.0.2


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/22585] [4.0 only] ICE in redirect_branch_edge
  2005-07-21 12:04 [Bug target/22585] New: [4.0/4.1 regression] ICE in expand_simple_unop debian-gcc at lists dot debian dot org
  2005-07-21 17:05 ` [Bug target/22585] [4.0/4.1 regression] ICE in redirect_branch_edge reichelt at gcc dot gnu dot org
@ 2005-07-22  5:50 ` uros at kss-loka dot si
  2005-07-22  9:42 ` [Bug target/22585] [4.0/4.1 regression] ICE with long doubles in expand_simple_unop reichelt at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: uros at kss-loka dot si @ 2005-07-22  5:50 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From uros at kss-loka dot si  2005-07-22 05:46 -------
I was trying to trigger the "unrecognizable insn" bug with gcc-4.1, because 
this bug should be fixed by the patch in PR22576.

I have tested:
gcc -O2 -mno-ieee-fp fractal.c
gcc -O2 -ffast-math fractal.c
gcc -O2 fractal.c
gcc -mno-ieee-fp fractal.c
gcc -ffast-math fractal.c
gcc fractal.c

And the same pack of compile options with testcase from comment #1.

In all cases, compilation was successful. The compiler was:
gcc version 4.1.0 20050716 (experimental), patched with patch from PR22576.

I'm updating the summary to reflect this.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.1.0
            Summary|[4.0/4.1 regression] ICE in |[4.0 only] ICE in
                   |redirect_branch_edge        |redirect_branch_edge


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/22585] [4.0/4.1 regression] ICE with long doubles in expand_simple_unop
  2005-07-21 12:04 [Bug target/22585] New: [4.0/4.1 regression] ICE in expand_simple_unop debian-gcc at lists dot debian dot org
  2005-07-21 17:05 ` [Bug target/22585] [4.0/4.1 regression] ICE in redirect_branch_edge reichelt at gcc dot gnu dot org
  2005-07-22  5:50 ` [Bug target/22585] [4.0 only] " uros at kss-loka dot si
@ 2005-07-22  9:42 ` reichelt at gcc dot gnu dot org
  2005-07-22 12:37 ` uros at kss-loka dot si
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2005-07-22  9:42 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2005-07-22 09:41 -------
Uros' patch for PR22576 indeed fixes the ICEs in redirect_branch
and extract_insn on the 4.0 branch and mainline.

But I can now confirm the bug in expand_simple_unop, I just had to
add -march=i486 to the command line. So here's a reduced testcase
(compile with "gcc -O -ffast-math -march=i486"):

====================================
int foo(long double d, int i)
{
  if (d == (long double)i)
    return 1;
}
====================================

Happens on the 4.0 branch and mainline.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |4.0.0 4.0.1 4.1.0
      Known to work|4.1.0                       |3.4.4
            Summary|[4.0 only] ICE in           |[4.0/4.1 regression] ICE
                   |redirect_branch_edge        |with long doubles in
                   |                            |expand_simple_unop


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/22585] [4.0/4.1 regression] ICE with long doubles in expand_simple_unop
  2005-07-21 12:04 [Bug target/22585] New: [4.0/4.1 regression] ICE in expand_simple_unop debian-gcc at lists dot debian dot org
                   ` (2 preceding siblings ...)
  2005-07-22  9:42 ` [Bug target/22585] [4.0/4.1 regression] ICE with long doubles in expand_simple_unop reichelt at gcc dot gnu dot org
@ 2005-07-22 12:37 ` uros at kss-loka dot si
  2005-09-21 18:39 ` cvs-commit at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: uros at kss-loka dot si @ 2005-07-22 12:37 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From uros at kss-loka dot si  2005-07-22 12:34 -------
Patch here: http://gcc.gnu.org/ml/gcc-patches/2005-07/msg01490.html

Patch fixes compilation of testcase from comment #3 and compilation of 
fractal.c.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |uros at kss-loka dot si
                   |dot org                     |
                URL|                            |http://gcc.gnu.org/ml/gcc-
                   |                            |patches/2005-
                   |                            |07/msg01490.html
             Status|NEW                         |ASSIGNED
           Keywords|                            |patch
   Last reconfirmed|2005-07-21 17:05:45         |2005-07-22 12:34:29
               date|                            |


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/22585] [4.0/4.1 regression] ICE with long doubles in expand_simple_unop
  2005-07-21 12:04 [Bug target/22585] New: [4.0/4.1 regression] ICE in expand_simple_unop debian-gcc at lists dot debian dot org
                   ` (3 preceding siblings ...)
  2005-07-22 12:37 ` uros at kss-loka dot si
@ 2005-09-21 18:39 ` cvs-commit at gcc dot gnu dot org
  2005-09-21 19:20 ` [Bug target/22585] [4.0 " pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-21 18:39 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-21 18:39 -------
Subject: Bug 22585

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	ian@gcc.gnu.org	2005-09-21 18:39:10

Modified files:
	gcc            : ChangeLog 
	gcc/config/i386: i386.c 

Log message:
	PR target/22585
	* config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
	force integer op1 into register for XFmode compares.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9998&r2=2.9999
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.859&r2=1.860



-- 


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/22585] [4.0 regression] ICE with long doubles in expand_simple_unop
  2005-07-21 12:04 [Bug target/22585] New: [4.0/4.1 regression] ICE in expand_simple_unop debian-gcc at lists dot debian dot org
                   ` (4 preceding siblings ...)
  2005-09-21 18:39 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-21 19:20 ` pinskia at gcc dot gnu dot org
  2005-09-26 19:20 ` cvs-commit at gcc dot gnu dot org
  2005-09-27 16:17 ` mmitchel at gcc dot gnu dot org
  7 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-21 19:20 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-21 19:20 -------
Fixed on the mainline.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|4.0.0 4.0.1 4.1.0           |4.0.0 4.0.1
      Known to work|3.4.4                       |3.4.4 4.1.0
            Summary|[4.0/4.1 regression] ICE    |[4.0 regression] ICE with
                   |with long doubles in        |long doubles in
                   |expand_simple_unop          |expand_simple_unop


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/22585] [4.0 regression] ICE with long doubles in expand_simple_unop
  2005-07-21 12:04 [Bug target/22585] New: [4.0/4.1 regression] ICE in expand_simple_unop debian-gcc at lists dot debian dot org
                   ` (5 preceding siblings ...)
  2005-09-21 19:20 ` [Bug target/22585] [4.0 " pinskia at gcc dot gnu dot org
@ 2005-09-26 19:20 ` cvs-commit at gcc dot gnu dot org
  2005-09-27 16:17 ` mmitchel at gcc dot gnu dot org
  7 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-26 19:20 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-26 19:20 -------
Subject: Bug 22585

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	janis@gcc.gnu.org	2005-09-26 19:19:43

Modified files:
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.target/i386: pr22576.c pr22585.c pr23268.c 
	                               builtin-apply-mmx.c 

Log message:
	2005-08-26  Uros Bizjak  <uros@kss-loka.si>
	
	* gcc.target/i386/builtin-apply-mmx.c: New test.
	
	PR target/22576
	* gcc.target/i386/pr22576.c: New test.
	
	PR target/22585
	* gcc.target/i386/pr22585.c: New test.
	
	PR target/23268
	* gcc.target/i386/pr23268.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6104&r2=1.6105
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/pr22576.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/pr22585.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/pr23268.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/builtin-apply-mmx.c.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/22585] [4.0 regression] ICE with long doubles in expand_simple_unop
  2005-07-21 12:04 [Bug target/22585] New: [4.0/4.1 regression] ICE in expand_simple_unop debian-gcc at lists dot debian dot org
                   ` (6 preceding siblings ...)
  2005-09-26 19:20 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-27 16:17 ` mmitchel at gcc dot gnu dot org
  7 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-09-27 16:17 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.0.2                       |4.0.3


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/22585] [4.0 regression] ICE with long doubles in expand_simple_unop
       [not found] <bug-22585-5724@http.gcc.gnu.org/bugzilla/>
  2005-10-07  5:32 ` cvs-commit at gcc dot gnu dot org
@ 2005-10-07  5:43 ` uros at kss-loka dot si
  1 sibling, 0 replies; 11+ messages in thread
From: uros at kss-loka dot si @ 2005-10-07  5:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from uros at kss-loka dot si  2005-10-07 05:43 -------
Fixed on 4.0 branch.


-- 

uros at kss-loka dot si changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/22585] [4.0 regression] ICE with long doubles in expand_simple_unop
       [not found] <bug-22585-5724@http.gcc.gnu.org/bugzilla/>
@ 2005-10-07  5:32 ` cvs-commit at gcc dot gnu dot org
  2005-10-07  5:43 ` uros at kss-loka dot si
  1 sibling, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-10-07  5:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from cvs-commit at gcc dot gnu dot org  2005-10-07 05:32 -------
Subject: Bug 22585

CVSROOT:        /cvs/gcc
Module name:    gcc
Branch:         gcc-4_0-branch
Changes by:     uros@gcc.gnu.org        2005-10-07 05:32:37

Modified files:
        gcc            : ChangeLog 
        gcc/config/i386: i386.c sse.md 
        gcc/testsuite  : ChangeLog 
Added files:
        gcc/testsuite/gcc.target/i386: pr22576.c pr22585.c pr23570.c 

Log message:
        PR target/23570
        * config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
        to "reg_or_0_operand".
        (sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".

        testsuite/

        PR target/22576
        * gcc.target/i386/pr22576.c: New test.

        PR target/22585
        * gcc.target/i386/pr22585.c: New test.

        PR target/23570
        * gcc.target/i386/pr23570.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.451&r2=2.7592.2.452
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.795.6.11&r2=1.795.6.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/sse.md.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.7.14.2&r2=1.7.14.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.434&r2=1.5084.2.435
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/pr22576.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/pr22585.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.2.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/pr23570.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.20.1


-- 


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2005-10-07  5:43 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-21 12:04 [Bug target/22585] New: [4.0/4.1 regression] ICE in expand_simple_unop debian-gcc at lists dot debian dot org
2005-07-21 17:05 ` [Bug target/22585] [4.0/4.1 regression] ICE in redirect_branch_edge reichelt at gcc dot gnu dot org
2005-07-22  5:50 ` [Bug target/22585] [4.0 only] " uros at kss-loka dot si
2005-07-22  9:42 ` [Bug target/22585] [4.0/4.1 regression] ICE with long doubles in expand_simple_unop reichelt at gcc dot gnu dot org
2005-07-22 12:37 ` uros at kss-loka dot si
2005-09-21 18:39 ` cvs-commit at gcc dot gnu dot org
2005-09-21 19:20 ` [Bug target/22585] [4.0 " pinskia at gcc dot gnu dot org
2005-09-26 19:20 ` cvs-commit at gcc dot gnu dot org
2005-09-27 16:17 ` mmitchel at gcc dot gnu dot org
     [not found] <bug-22585-5724@http.gcc.gnu.org/bugzilla/>
2005-10-07  5:32 ` cvs-commit at gcc dot gnu dot org
2005-10-07  5:43 ` uros at kss-loka dot si

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).