public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/41551]  New: ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630
@ 2009-10-02 19:22 gcc-bugzilla at gcc dot gnu dot org
  2009-10-02 21:04 ` [Bug target/41551] " jakub at gcc dot gnu dot org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: gcc-bugzilla at gcc dot gnu dot org @ 2009-10-02 19:22 UTC (permalink / raw)
  To: gcc-bugs


ICE on ia64 at -O1 and higher, seen with gcc 4.3 and 4.4 but not 4.2.
% gcc -O -c t.c
t.c: In function 'main':
t.c:5:1: error: unrecognizable insn:
(insn 5 4 6 3 t.c:3 (set (reg:DF 344)
        (unsigned_float:DF (reg/f:DI 328 sfp))) -1 (nil))
t.c:5:1: internal compiler error: in instantiate_virtual_regs_in_insn, at
function.c:1630

Environment:
System: Linux merulo 2.6.30.4-dsa-mckinley #1 SMP Sat Aug 15 18:22:08 UTC 2009
ia64 GNU/Linux
host: ia64-unknown-linux-gnu
build: ia64-unknown-linux-gnu
target: ia64-unknown-linux-gnu
configured with: ../src/configure -v --with-pkgversion='Debian 20090821-1'
--with-bugurl=file:///usr/share/doc/gcc-snapshot/README.Bugs
--enable-languages=c,ada,c++,java,fortran,objc,obj-c++
--prefix=/usr/lib/gcc-snapshot --enable-shared --enable-multiarch
--enable-linker-build-id --with-system-zlib --disable-nls --enable-clocale=gnu
--enable-libstdcxx-debug --disable-libssp --enable-mpfr --enable-java-awt=gtk
--enable-gtk-cairo --disable-plugin
--with-java-home=/usr/lib/gcc-snapshot/java-1.5.0-gcj-4.5/jre
--enable-java-home --with-jvm-root-dir=/usr/lib/gcc-snapshot/java-1.5.0-gcj-4.5
--with-arch-directory=ia64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --with-system-libunwind --disable-werror
--build=ia64-linux-gnu --host=ia64-linux-gnu --target=ia64-linux-gnu

How-To-Repeat:
% cat t.c
int main(void)
{
 int var, *p = &var;
 return (double)(unsigned long)(p);
}


------- Comment #1 from ntyni at debian dot org  2009-10-02 19:22 -------
Fix:
downgrade to -O0


-- 
           Summary: ia64: ICE: in instantiate_virtual_regs_in_insn, at
                    function.c:1630
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ntyni at debian dot org
 GCC build triplet: ia64-unknown-linux-gnu
  GCC host triplet: ia64-unknown-linux-gnu
GCC target triplet: ia64-unknown-linux-gnu


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


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

* [Bug target/41551] ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630
  2009-10-02 19:22 [Bug target/41551] New: ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630 gcc-bugzilla at gcc dot gnu dot org
@ 2009-10-02 21:04 ` jakub at gcc dot gnu dot org
  2009-11-30 22:11 ` [Bug middle-end/41551] " sje at cup dot hp dot com
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-10-02 21:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jakub at gcc dot gnu dot org  2009-10-02 21:04 -------
Perhaps better don't do something as non-sensical as this.

Anyway, we shouldn't ICE on it.

--- function.c.jj        2009-09-29 15:10:43.000000000 +0200
+++ function.c        2009-10-02 23:01:49.000000000 +0200
@@ -1598,7 +1598,10 @@ instantiate_virtual_regs_in_insn (rtx in
       if (!safe_insn_predicate (insn_code, i, x))
         {
           start_sequence ();
-          x = force_reg (insn_data[insn_code].operand[i].mode, x);
+          if (REG_P (x))
+            x = copy_to_reg (x);
+          else
+            x = force_reg (insn_data[insn_code].operand[i].mode, x);
           seq = get_insns ();
           end_sequence ();
           if (seq)

should fix this.


-- 


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


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

* [Bug middle-end/41551] ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630
  2009-10-02 19:22 [Bug target/41551] New: ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630 gcc-bugzilla at gcc dot gnu dot org
  2009-10-02 21:04 ` [Bug target/41551] " jakub at gcc dot gnu dot org
@ 2009-11-30 22:11 ` sje at cup dot hp dot com
  2010-08-09 16:28 ` armin76 at gentoo dot org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: sje at cup dot hp dot com @ 2009-11-30 22:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from sje at cup dot hp dot com  2009-11-30 22:10 -------
Fixed in r154843, test case added in gcc.dg/pr41551.c.


-- 

sje at cup dot hp dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sje at cup dot hp dot com
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED


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


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

* [Bug middle-end/41551] ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630
  2009-10-02 19:22 [Bug target/41551] New: ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630 gcc-bugzilla at gcc dot gnu dot org
  2009-10-02 21:04 ` [Bug target/41551] " jakub at gcc dot gnu dot org
  2009-11-30 22:11 ` [Bug middle-end/41551] " sje at cup dot hp dot com
@ 2010-08-09 16:28 ` armin76 at gentoo dot org
  2010-08-09 17:11 ` [Bug middle-end/41551] [4.4 Regression] " steven at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: armin76 at gentoo dot org @ 2010-08-09 16:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from armin76 at gentoo dot org  2010-08-09 16:28 -------
Could this be backported to gcc-4.4 branch, please?


-- 


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


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

* [Bug middle-end/41551] [4.4 Regression] ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630
  2009-10-02 19:22 [Bug target/41551] New: ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630 gcc-bugzilla at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2010-08-09 16:28 ` armin76 at gentoo dot org
@ 2010-08-09 17:11 ` steven at gcc dot gnu dot org
  2010-08-09 17:12 ` steven at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-08-09 17:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from steven at gcc dot gnu dot org  2010-08-09 17:11 -------
http://gcc.gnu.org/ml/gcc-cvs/2009-11/msg01067.html


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
      Known to fail|                            |4.4.4
      Known to work|                            |4.2.0 4.5.0 4.6.0
         Resolution|FIXED                       |
            Summary|ia64: ICE: in               |[4.4 Regression] ia64: ICE:
                   |instantiate_virtual_regs_in_|in
                   |insn, at function.c:1630    |instantiate_virtual_regs_in_
                   |                            |insn, at function.c:1630
   Target Milestone|---                         |4.4.5


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


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

* [Bug middle-end/41551] [4.4 Regression] ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630
  2009-10-02 19:22 [Bug target/41551] New: ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630 gcc-bugzilla at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2010-08-09 17:11 ` [Bug middle-end/41551] [4.4 Regression] " steven at gcc dot gnu dot org
@ 2010-08-09 17:12 ` steven at gcc dot gnu dot org
  2010-08-10 15:41 ` sje at gcc dot gnu dot org
  2010-08-10 15:59 ` sje at cup dot hp dot com
  6 siblings, 0 replies; 8+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-08-09 17:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from steven at gcc dot gnu dot org  2010-08-09 17:11 -------
Needs fixing in 4.4 still.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-08-09 17:11:51
               date|                            |


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


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

* [Bug middle-end/41551] [4.4 Regression] ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630
  2009-10-02 19:22 [Bug target/41551] New: ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630 gcc-bugzilla at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2010-08-09 17:12 ` steven at gcc dot gnu dot org
@ 2010-08-10 15:41 ` sje at gcc dot gnu dot org
  2010-08-10 15:59 ` sje at cup dot hp dot com
  6 siblings, 0 replies; 8+ messages in thread
From: sje at gcc dot gnu dot org @ 2010-08-10 15:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from sje at gcc dot gnu dot org  2010-08-10 15:41 -------
Subject: Bug 41551

Author: sje
Date: Tue Aug 10 15:40:14 2010
New Revision: 163072

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163072
Log:
2010-08-10  Steve Ellcey  <sje@cup.hp.com>
            Jakub Jelinek <jakub@redhat.com>

        Backport from mainline:
        PR middle-end/41551
        * function.c (instantiate_virtual_regs_in_insn): Copy to new reg
        before forcing mode.
        * testsuite/gcc.dg/pr41551.c: New test.

Added:
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr41551.c
Modified:
    branches/gcc-4_4-branch/gcc/ChangeLog
    branches/gcc-4_4-branch/gcc/function.c
    branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug middle-end/41551] [4.4 Regression] ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630
  2009-10-02 19:22 [Bug target/41551] New: ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630 gcc-bugzilla at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2010-08-10 15:41 ` sje at gcc dot gnu dot org
@ 2010-08-10 15:59 ` sje at cup dot hp dot com
  6 siblings, 0 replies; 8+ messages in thread
From: sje at cup dot hp dot com @ 2010-08-10 15:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from sje at cup dot hp dot com  2010-08-10 15:58 -------
Backported to the 4.4 branch.


-- 

sje at cup dot hp dot com changed:

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


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


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

end of thread, other threads:[~2010-08-10 15:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-02 19:22 [Bug target/41551] New: ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630 gcc-bugzilla at gcc dot gnu dot org
2009-10-02 21:04 ` [Bug target/41551] " jakub at gcc dot gnu dot org
2009-11-30 22:11 ` [Bug middle-end/41551] " sje at cup dot hp dot com
2010-08-09 16:28 ` armin76 at gentoo dot org
2010-08-09 17:11 ` [Bug middle-end/41551] [4.4 Regression] " steven at gcc dot gnu dot org
2010-08-09 17:12 ` steven at gcc dot gnu dot org
2010-08-10 15:41 ` sje at gcc dot gnu dot org
2010-08-10 15:59 ` sje at cup dot hp dot com

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).