--- Comment #9 from pinskia at gcc dot gnu dot org 2006-11-14 09:57 ---
(In reply to comment #8)
> Hmm, isn't movl %eax, [EMAIL PROTECTED] a valid way to have an
> offset?
gas accepts that as valid so I think GCC should accept this. I am now going to
bed but I am also going to say this
--- Comment #12 from jakub at gcc dot gnu dot org 2006-11-14 11:43 ---
While that can help in this case, I think letting make_tree/expand_expr combo
create invalid RTL is very dangerous (and, at least from i386 backend POV,
some of the PIC UNSPECs not surrounded by CONST are invalid, the
--- Comment #10 from jakub at gcc dot gnu dot org 2006-11-14 10:45 ---
The problem is in the make_tree change of PR28915.
make_tree is called with (const (unspec (something) ) ), before make_tree
would just create a dummy VAR_DECL with DECL_RTL set to this, but now
calls make_tree recurs
--- Comment #11 from rguenth at gcc dot gnu dot org 2006-11-14 11:11
---
The reduced testcase only fails on i?86, bootstrap also fails on x86_64 with
the same error.
At least (symbol_ref:SI ("dwarf_reg_size_table") [flags 0x2] ) is not a valid PIC address (it's only one
in 64bit mode).
--- Comment #13 from ebotcazou at gcc dot gnu dot org 2006-11-14 11:48
---
> While that can help in this case, I think letting make_tree/expand_expr combo
> create invalid RTL is very dangerous (and, at least from i386 backend POV,
> some of the PIC UNSPECs not surrounded by CONST are i
--- Comment #14 from pinskia at gcc dot gnu dot org 2006-11-14 16:34
---
(In reply to comment #13)
> > While that can help in this case, I think letting make_tree/expand_expr
> > combo
> > create invalid RTL is very dangerous (and, at least from i386 backend POV,
> > some of the PIC UN
--- Comment #8 from pinskia at gcc dot gnu dot org 2006-11-14 09:53 ---
Hmm, isn't movl %eax, [EMAIL PROTECTED] a valid way to have an
offset?
Reduced testcase:
struct _Unwind_Context
{
void *reg[18];
};
static unsigned char dwarf_reg_size_table[18];
uw_install_context_1 (void *curr
--- Comment #15 from rguenth at gcc dot gnu dot org 2006-11-14 17:14
---
Created an attachment (id=12619)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12619&action=view)
patch
This one passes a C bootstrap & regtest on x86_64.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=
--- Comment #16 from jason at gcc dot gnu dot org 2006-11-14 18:21 ---
(In reply to comment #15)
> patch
Please apply this patch to 4.2 and the trunk. I've reverted my patch on the
4.1 branch, as it seems to be too risky there.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29825
--- Comment #17 from ebotcazou at gcc dot gnu dot org 2006-11-14 19:45
---
> Please apply this patch to 4.2 and the trunk. I've reverted my patch on the
> 4.1 branch, as it seems to be too risky there.
Have you really done so?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29825
--- Comment #18 from debian-gcc at lists dot debian dot org 2006-11-14
21:09 ---
(In reply to comment #16)
> I've reverted my patch on the
> 4.1 branch, as it seems to be too risky there.
afaics the patch is not yet reverted.
Matthias
--
http://gcc.gnu.org/bugzilla/show_bug.cgi
--- Comment #19 from jason at redhat dot com 2006-11-15 02:07 ---
Subject: Re: [4.1 regression] ICE in extract_insn, at recog.c:2084
OK, now I've really reverted the patch. Silly svn resolved...
Jason
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29825
--- Comment #20 from jakub at gcc dot gnu dot org 2006-11-15 07:37 ---
Looking at i386 backend, also (const (plus (unspec (something)) (const_int)))
is special (a whole bunch of routines rely on the unspec being surrounded
by CONST, optionally with a PLUS in there).
Not sure if make_tree
--- Comment #21 from pinskia at gcc dot gnu dot org 2006-11-25 02:33
---
Fixed.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
Status|NEW
14 matches
Mail list logo