public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/47958] New: [x32] reload generates invalid address reference
@ 2011-03-02 16:09 hjl.tools at gmail dot com
2011-03-03 22:15 ` [Bug rtl-optimization/47958] " hjl at gcc dot gnu.org
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2011-03-02 16:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47958
Summary: [x32] reload generates invalid address reference
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: hjl.tools@gmail.com
[hjl@gnu-6 ilp32-27]$ cat x.i
void (*foo[6][6]) (int);
void bar (hdR)
int hdR;
{ }
void xxx ()
{
unsigned int i, j;
for (i = 0; i < 6; ++i)
for (j = 0; j < 6; ++j)
foo [i][j] = bar;
}
[hjl@gnu-6 ilp32-27]$ make x.o
/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -S -o x.s -mx32 -O3 x.i
/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -mx32 -O3 -c -o x.o x.s
x.s: Assembler messages:
x.s:39: Error: cannot represent relocation type BFD_RELOC_64 in x32 mode
make: *** [x.o] Error 1
[hjl@gnu-6 ilp32-27]$ cat x.s
.file "x.i"
.text
.p2align 4,,15
.globl bar
.type bar, @function
bar:
.LFB0:
.cfi_startproc
rep
ret
.cfi_endproc
.LFE0:
.size bar, .-bar
.p2align 4,,15
.globl xxx
.type xxx, @function
xxx:
.LFB1:
.cfi_startproc
movd .LC0(%rip), %xmm1
pshufd $0, %xmm1, %xmm0
movdqa %xmm0, foo(%rip)
movdqa %xmm0, foo+16(%rip)
movdqa %xmm0, foo+32(%rip)
movdqa %xmm0, foo+48(%rip)
movdqa %xmm0, foo+64(%rip)
movdqa %xmm0, foo+80(%rip)
movdqa %xmm0, foo+96(%rip)
movdqa %xmm0, foo+112(%rip)
movdqa %xmm0, foo+128(%rip)
ret
.cfi_endproc
.LFE1:
.size xxx, .-xxx
.comm foo,144,32
.section .rodata.cst8,"aM",@progbits,8
.align 8
.LC0:
.quad bar
.ident "GCC: (GNU) 4.6.0 20110301 (experimental)"
.section .note.GNU-stack,"",@progbits
[hjl@gnu-6 ilp32-27]$
We have
(insn 6 2 7 2 (set (reg/f:DI 60 [ pretmp.6 ])
(symbol_ref:DI ("bar") [flags 0x3] <function_decl 0x7ffff0cebf00
bar>)) x.i:6 62 {*movdi_internal_rex64}
(nil))
Reload calls force_const_mem (DImode, op) on symbol_ref:DI ("bar").
The address reference in memory should be SImode/ptr_mode.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug rtl-optimization/47958] [x32] reload generates invalid address reference
2011-03-02 16:09 [Bug rtl-optimization/47958] New: [x32] reload generates invalid address reference hjl.tools at gmail dot com
@ 2011-03-03 22:15 ` hjl at gcc dot gnu.org
2011-04-02 5:50 ` hjl at gcc dot gnu.org
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: hjl at gcc dot gnu.org @ 2011-03-03 22:15 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47958
--- Comment #1 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> 2011-03-03 22:15:29 UTC ---
Author: hjl
Date: Thu Mar 3 22:15:26 2011
New Revision: 170664
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170664
Log:
Put symbol reference in memory in ptr_mode.
gcc/
2011-03-02 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/47958
* reload.c (find_reloads): Put symbol reference in memory
in ptr_mode.
gcc/testsuite/
2011-03-02 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/47958
* gcc.dg/torture/pr47958-1.c: New.
Added:
branches/x32/gcc/testsuite/gcc.dg/torture/pr47958-1.c
Modified:
branches/x32/gcc/ChangeLog.x32
branches/x32/gcc/reload.c
branches/x32/gcc/testsuite/ChangeLog.x32
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug rtl-optimization/47958] [x32] reload generates invalid address reference
2011-03-02 16:09 [Bug rtl-optimization/47958] New: [x32] reload generates invalid address reference hjl.tools at gmail dot com
2011-03-03 22:15 ` [Bug rtl-optimization/47958] " hjl at gcc dot gnu.org
@ 2011-04-02 5:50 ` hjl at gcc dot gnu.org
2011-07-27 17:45 ` ubizjak at gmail dot com
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: hjl at gcc dot gnu.org @ 2011-04-02 5:50 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47958
--- Comment #2 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> 2011-04-02 05:49:46 UTC ---
Author: hjl
Date: Sat Apr 2 05:49:42 2011
New Revision: 171875
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=171875
Log:
Don't put symbol reference in memory in ptr_mode.
2011-03-28 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/47958
* reload.c (find_reloads): Don't put symbol reference in memory
in ptr_mode.
Modified:
branches/x32/gcc/ChangeLog.x32
branches/x32/gcc/reload.c
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug rtl-optimization/47958] [x32] reload generates invalid address reference
2011-03-02 16:09 [Bug rtl-optimization/47958] New: [x32] reload generates invalid address reference hjl.tools at gmail dot com
2011-03-03 22:15 ` [Bug rtl-optimization/47958] " hjl at gcc dot gnu.org
2011-04-02 5:50 ` hjl at gcc dot gnu.org
@ 2011-07-27 17:45 ` ubizjak at gmail dot com
2011-07-29 5:18 ` hjl at gcc dot gnu.org
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: ubizjak at gmail dot com @ 2011-07-27 17:45 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47958
Uros Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Depends on| |49860
--- Comment #3 from Uros Bizjak <ubizjak at gmail dot com> 2011-07-27 17:44:16 UTC ---
(In reply to comment #0)
> [hjl@gnu-6 ilp32-27]$ cat x.i
> void (*foo[6][6]) (int);
> void bar (hdR)
> int hdR;
> { }
> void xxx ()
> {
> unsigned int i, j;
> for (i = 0; i < 6; ++i)
> for (j = 0; j < 6; ++j)
> foo [i][j] = bar;
> }
> [hjl@gnu-6 ilp32-27]$ make x.o
> /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc
> -B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -S -o x.s -mx32 -O3 x.i
> /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc
> -B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -mx32 -O3 -c -o x.o x.s
> x.s: Assembler messages:
> x.s:39: Error: cannot represent relocation type BFD_RELOC_64 in x32 mode
> Reload calls force_const_mem (DImode, op) on symbol_ref:DI ("bar").
> The address reference in memory should be SImode/ptr_mode.
This is just another incarnation of PR49860.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug rtl-optimization/47958] [x32] reload generates invalid address reference
2011-03-02 16:09 [Bug rtl-optimization/47958] New: [x32] reload generates invalid address reference hjl.tools at gmail dot com
` (2 preceding siblings ...)
2011-07-27 17:45 ` ubizjak at gmail dot com
@ 2011-07-29 5:18 ` hjl at gcc dot gnu.org
2011-07-29 5:19 ` hjl.tools at gmail dot com
2011-07-29 10:40 ` ubizjak at gmail dot com
5 siblings, 0 replies; 7+ messages in thread
From: hjl at gcc dot gnu.org @ 2011-07-29 5:18 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47958
--- Comment #4 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> 2011-07-29 05:17:41 UTC ---
Author: hjl
Date: Fri Jul 29 05:17:36 2011
New Revision: 176914
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176914
Log:
Add a testcase for PR rtl-optimization/47958.
2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/47958
* gcc.dg/torture/pr47958-1.c: New.
Added:
trunk/gcc/testsuite/gcc.dg/torture/pr47958-1.c
Modified:
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug rtl-optimization/47958] [x32] reload generates invalid address reference
2011-03-02 16:09 [Bug rtl-optimization/47958] New: [x32] reload generates invalid address reference hjl.tools at gmail dot com
` (3 preceding siblings ...)
2011-07-29 5:18 ` hjl at gcc dot gnu.org
@ 2011-07-29 5:19 ` hjl.tools at gmail dot com
2011-07-29 10:40 ` ubizjak at gmail dot com
5 siblings, 0 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2011-07-29 5:19 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47958
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.7.0
--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> 2011-07-29 05:19:02 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug rtl-optimization/47958] [x32] reload generates invalid address reference
2011-03-02 16:09 [Bug rtl-optimization/47958] New: [x32] reload generates invalid address reference hjl.tools at gmail dot com
` (4 preceding siblings ...)
2011-07-29 5:19 ` hjl.tools at gmail dot com
@ 2011-07-29 10:40 ` ubizjak at gmail dot com
5 siblings, 0 replies; 7+ messages in thread
From: ubizjak at gmail dot com @ 2011-07-29 10:40 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47958
Uros Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |x32
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
--- Comment #6 from Uros Bizjak <ubizjak at gmail dot com> 2011-07-29 10:39:58 UTC ---
.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-07-29 10:40 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-02 16:09 [Bug rtl-optimization/47958] New: [x32] reload generates invalid address reference hjl.tools at gmail dot com
2011-03-03 22:15 ` [Bug rtl-optimization/47958] " hjl at gcc dot gnu.org
2011-04-02 5:50 ` hjl at gcc dot gnu.org
2011-07-27 17:45 ` ubizjak at gmail dot com
2011-07-29 5:18 ` hjl at gcc dot gnu.org
2011-07-29 5:19 ` hjl.tools at gmail dot com
2011-07-29 10:40 ` ubizjak at gmail 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).