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