public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/34525]  New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
@ 2007-12-18 20:14 tbm at cyrius dot com
  2007-12-18 20:15 ` [Bug target/34525] " tbm at cyrius dot com
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: tbm at cyrius dot com @ 2007-12-18 20:14 UTC (permalink / raw)
  To: gcc-bugs

With 4.3.0 20071212 on hppa:

tbm@tx:~$  /usr/lib/gcc-snapshot/bin/gcc -O1 -fPIC ffcall-trampoline.i
./trampoline.c: In function 'is_trampoline_r':
./trampoline.c:1176: error: unrecognizable insn:
(insn 10 9 11 4 ./trampoline.c:1168 (set (reg:SI 100)
        (plus:SI (reg:SI 19 %r19)
            (high:SI (symbol_ref/v:SI ("@tramp_r") [flags 0x41] <function_decl
0x4007bb60 tramp_r>)))) -1 (nil))
./trampoline.c:1176: internal compiler error: in extract_insn, at recog.c:1990
Please submit a full bug report,


-- 
           Summary: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on
                    hppa
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tbm at cyrius dot com
GCC target triplet: hppa-linux-gnu


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


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

* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
  2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
@ 2007-12-18 20:15 ` tbm at cyrius dot com
  2007-12-20  1:18 ` danglin at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: tbm at cyrius dot com @ 2007-12-18 20:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from tbm at cyrius dot com  2007-12-18 20:15 -------
Created an attachment (id=14791)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14791&action=view)
preprocessed source


-- 


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


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

* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
  2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
  2007-12-18 20:15 ` [Bug target/34525] " tbm at cyrius dot com
@ 2007-12-20  1:18 ` danglin at gcc dot gnu dot org
  2007-12-20  1:43 ` danglin at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: danglin at gcc dot gnu dot org @ 2007-12-20  1:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from danglin at gcc dot gnu dot org  2007-12-20 01:18 -------
Subject: Bug 34525

Author: danglin
Date: Thu Dec 20 01:17:57 2007
New Revision: 131096

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131096
Log:
        PR target/34525
        * pa.c (legitimize_pic_address): Force function labels into memory.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/pa/pa.c


-- 


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


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

* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
  2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
  2007-12-18 20:15 ` [Bug target/34525] " tbm at cyrius dot com
  2007-12-20  1:18 ` danglin at gcc dot gnu dot org
@ 2007-12-20  1:43 ` danglin at gcc dot gnu dot org
  2007-12-20  5:08 ` tbm at cyrius dot com
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: danglin at gcc dot gnu dot org @ 2007-12-20  1:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from danglin at gcc dot gnu dot org  2007-12-20 01:42 -------
Fixed by change.

What are the reasons this was marked as a 4.3 regression?  I'm interested
when the regression occurred since the backend has never forced function
labels to memory in this code.

A simpler testcase is:

dave@gsyprf11:~/gcc_test$ less pr34525.c
extern void tramp_r ();
int is_trampoline_r (void* function)
{
  void *tramp_r_address = &tramp_r;

  if (!(((long)function & 3) == 2))
    return 0;

  return
   ((((long *) ((char*)function - 2))[0] == ((long *)
((char*)tramp_r_address-2)
)[0])
    && ((((long *) ((char*)function - 2))[2]) == (long)((char*)function - 2 +
16
))
    ? 1 : 0
   );
}


-- 

danglin at gcc dot gnu dot org changed:

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


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


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

* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
  2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
                   ` (2 preceding siblings ...)
  2007-12-20  1:43 ` danglin at gcc dot gnu dot org
@ 2007-12-20  5:08 ` tbm at cyrius dot com
  2007-12-20 14:45 ` dave at hiauly1 dot hia dot nrc dot ca
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: tbm at cyrius dot com @ 2007-12-20  5:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from tbm at cyrius dot com  2007-12-20 05:07 -------
I marked it as a 4.3 regression because I believe 4.2 was able to compile
the code.  If you think it applies to 4.2, maybe it would be a good idea
to apply the patch there as well.

BTW, it might be a good idea to check in the testcase you came up with.

Thanks for fixing this so quickly.


-- 


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


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

* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
  2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
                   ` (3 preceding siblings ...)
  2007-12-20  5:08 ` tbm at cyrius dot com
@ 2007-12-20 14:45 ` dave at hiauly1 dot hia dot nrc dot ca
  2007-12-20 18:08 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2007-12-20 14:45 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from dave at hiauly1 dot hia dot nrc dot ca  2007-12-20 14:45 -------
Subject: Re:  [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa

> Thanks for fixing this so quickly.

Actually, I realized last night that I failed to load the function label
from memory.  I'll try to fix it today.

I don't think I'll install the testcase.  The reason is there are
no complex circumstances around this change.  So, once the problem
is fixed, I expect it to stay fixed.

Dave


-- 


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


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

* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
  2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
                   ` (4 preceding siblings ...)
  2007-12-20 14:45 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2007-12-20 18:08 ` pinskia at gcc dot gnu dot org
  2007-12-21 23:37 ` danglin at gcc dot gnu dot org
  2007-12-21 23:58 ` danglin at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-12-20 18:08 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.3.0


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


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

* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
  2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
                   ` (5 preceding siblings ...)
  2007-12-20 18:08 ` pinskia at gcc dot gnu dot org
@ 2007-12-21 23:37 ` danglin at gcc dot gnu dot org
  2007-12-21 23:58 ` danglin at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: danglin at gcc dot gnu dot org @ 2007-12-21 23:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from danglin at gcc dot gnu dot org  2007-12-21 23:37 -------
Subject: Bug 34525

Author: danglin
Date: Fri Dec 21 23:37:07 2007
New Revision: 131126

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131126
Log:
        PR target/34525
        * pa.c (legitimize_pic_address): Emit insn to load function label
        forced to memory.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/pa/pa.c


-- 


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


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

* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
  2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
                   ` (6 preceding siblings ...)
  2007-12-21 23:37 ` danglin at gcc dot gnu dot org
@ 2007-12-21 23:58 ` danglin at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: danglin at gcc dot gnu dot org @ 2007-12-21 23:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from danglin at gcc dot gnu dot org  2007-12-21 23:58 -------
This problem should now be fixed.  I had modified the testcase and
this led me to think I'd killed the ICE ;)

I have to say that the code in the original testcase is probably very
wrong for hppa.  Like ia64, function pointers point to function descriptors
(when the plabel bit is set).  The function descriptor also may point to
a stub and not the function code.


-- 


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


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

end of thread, other threads:[~2007-12-21 23:58 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
2007-12-18 20:15 ` [Bug target/34525] " tbm at cyrius dot com
2007-12-20  1:18 ` danglin at gcc dot gnu dot org
2007-12-20  1:43 ` danglin at gcc dot gnu dot org
2007-12-20  5:08 ` tbm at cyrius dot com
2007-12-20 14:45 ` dave at hiauly1 dot hia dot nrc dot ca
2007-12-20 18:08 ` pinskia at gcc dot gnu dot org
2007-12-21 23:37 ` danglin at gcc dot gnu dot org
2007-12-21 23:58 ` danglin at gcc dot gnu dot org

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