public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/37270] New: [4.4 Regression] SH: spill failure for R0_REGS
@ 2008-08-28 23:13 kkojima at gcc dot gnu dot org
2008-08-29 4:46 ` [Bug target/37270] " pinskia at gcc dot gnu dot org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-08-28 23:13 UTC (permalink / raw)
To: gcc-bugs
The trunk compiler fails to compile libffi.call/cls_8byte.c
with -O2 -fomit-frame-pointer. Here is a reduced test case:
typedef struct s8
{
int a;
float b;
} s8;
s8
s8_fn (struct s8 a1, struct s8 a2)
{
struct s8 result;
result.b = a1.b + a2.b;
bar (a1.a, a1.b, a2.a, a2.b, result.a, result.b);
return result;
}
With -O2 -fomit-frame-pointer, it causes
foo.c:15: error: unable to find a register to spill in class 'R0_REGS'
foo.c:15: error: this is the insn:
(insn:HI 23 44 45 3 foo.c:14 (parallel [
(set (subreg:SF (reg:SI 1 r1 [orig:174 D.1226+4 ] [174]) 0)
(reg:SF 163 [ D.1218 ]))
(use (reg/v:PSI 151 ))
(clobber (scratch:SI))
]) 205 {movsf_ie} (expr_list:REG_DEAD (reg:SF 163 [ D.1218 ])
(nil)))
foo.c:15: internal compiler error: in spill_failure, at reload1.c:2098
--
Summary: [4.4 Regression] SH: spill failure for R0_REGS
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kkojima at gcc dot gnu dot org
GCC target triplet: sh4-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37270
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/37270] [4.4 Regression] SH: spill failure for R0_REGS
2008-08-28 23:13 [Bug target/37270] New: [4.4 Regression] SH: spill failure for R0_REGS kkojima at gcc dot gnu dot org
@ 2008-08-29 4:46 ` pinskia at gcc dot gnu dot org
2008-08-29 5:01 ` kkojima at gcc dot gnu dot org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-08-29 4:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2008-08-29 04:45 -------
Do you know when this started to happen? I almost want to say this is related
to IRA.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Keywords| |ra
Target Milestone|--- |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37270
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/37270] [4.4 Regression] SH: spill failure for R0_REGS
2008-08-28 23:13 [Bug target/37270] New: [4.4 Regression] SH: spill failure for R0_REGS kkojima at gcc dot gnu dot org
2008-08-29 4:46 ` [Bug target/37270] " pinskia at gcc dot gnu dot org
@ 2008-08-29 5:01 ` kkojima at gcc dot gnu dot org
2008-08-30 22:26 ` kkojima at gcc dot gnu dot org
2008-08-31 0:29 ` kkojima at gcc dot gnu dot org
3 siblings, 0 replies; 5+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-08-29 5:01 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from kkojima at gcc dot gnu dot org 2008-08-29 05:00 -------
(In reply to comment #1)
It starts to fail at some point between revision 139589 and 139690.
I guess that the IRA merge reveals the latent issue of the sh backend.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37270
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/37270] [4.4 Regression] SH: spill failure for R0_REGS
2008-08-28 23:13 [Bug target/37270] New: [4.4 Regression] SH: spill failure for R0_REGS kkojima at gcc dot gnu dot org
2008-08-29 4:46 ` [Bug target/37270] " pinskia at gcc dot gnu dot org
2008-08-29 5:01 ` kkojima at gcc dot gnu dot org
@ 2008-08-30 22:26 ` kkojima at gcc dot gnu dot org
2008-08-31 0:29 ` kkojima at gcc dot gnu dot org
3 siblings, 0 replies; 5+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-08-30 22:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from kkojima at gcc dot gnu dot org 2008-08-30 22:24 -------
Subject: Bug 37270
Author: kkojima
Date: Sat Aug 30 22:23:20 2008
New Revision: 139809
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=139809
Log:
PR target/37270
* config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Generate
the reload address with the index register for SFmode
access with a displacement.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/sh.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37270
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/37270] [4.4 Regression] SH: spill failure for R0_REGS
2008-08-28 23:13 [Bug target/37270] New: [4.4 Regression] SH: spill failure for R0_REGS kkojima at gcc dot gnu dot org
` (2 preceding siblings ...)
2008-08-30 22:26 ` kkojima at gcc dot gnu dot org
@ 2008-08-31 0:29 ` kkojima at gcc dot gnu dot org
3 siblings, 0 replies; 5+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-08-31 0:29 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from kkojima at gcc dot gnu dot org 2008-08-31 00:28 -------
Fixed.
--
kkojima at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37270
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-08-31 0:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-28 23:13 [Bug target/37270] New: [4.4 Regression] SH: spill failure for R0_REGS kkojima at gcc dot gnu dot org
2008-08-29 4:46 ` [Bug target/37270] " pinskia at gcc dot gnu dot org
2008-08-29 5:01 ` kkojima at gcc dot gnu dot org
2008-08-30 22:26 ` kkojima at gcc dot gnu dot org
2008-08-31 0:29 ` kkojima 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).