public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/38272]  New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
@ 2008-11-26  3:59 hjl dot tools at gmail dot com
  2008-11-27 17:33 ` [Bug rtl-optimization/38272] " jsm28 at gcc dot gnu dot org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: hjl dot tools at gmail dot com @ 2008-11-26  3:59 UTC (permalink / raw)
  To: gcc-bugs

On Linux/ia32, revision 142207 caused

FAIL: libgomp.fortran/threadprivate2.f90  -O1  execution test


-- 
           Summary: [4.4 Regression] Revision 142207 caused
                    libgomp.fortran/threadprivate2.f90
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hjl dot tools at gmail dot com


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
@ 2008-11-27 17:33 ` jsm28 at gcc dot gnu dot org
  2008-11-28 17:50 ` hjl dot tools at gmail dot com
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-11-27 17:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from jsm28 at gcc dot gnu dot org  2008-11-27 17:31 -------
Setting to P4, please restore to P3 if a C or C++ test showing this problem is
found.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4
   Target Milestone|---                         |4.4.0


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
  2008-11-27 17:33 ` [Bug rtl-optimization/38272] " jsm28 at gcc dot gnu dot org
@ 2008-11-28 17:50 ` hjl dot tools at gmail dot com
  2008-11-28 18:02 ` hjl dot tools at gmail dot com
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hjl dot tools at gmail dot com @ 2008-11-28 17:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from hjl dot tools at gmail dot com  2008-11-28 17:49 -------
Created an attachment (id=16789)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16789&action=view)
A smaller testcase

bash-3.2$ /export/build/gnu/gcc-test/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-test/build-x86_64-linux/gcc/ 
-B/export/build/gnu/gcc-test/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libgomp/
-I/export/build/gnu/gcc-test/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libgomp
-I/export/gnu/src/gcc-test/gcc/libgomp/testsuite/.. -march=i486
-fmessage-length=0 -fopenmp  -O1    
-L/export/build/gnu/gcc-test/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libgomp/.libs
-lgomp
-L/export/build/gnu/gcc-test/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libgomp/../libgfortran/.libs
-lgfortranbegin -lgfortran -lm   -m32    -g
-Wl,-rpath,/export/build/gnu/gcc-work/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libgomp/.libs
/tmp/foo.f90 
bash-3.2$ ./a.out 
Segmentation fault
bash-3.2$ ./a.out 
Aborted
bash-3.2$ 


-- 


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
  2008-11-27 17:33 ` [Bug rtl-optimization/38272] " jsm28 at gcc dot gnu dot org
  2008-11-28 17:50 ` hjl dot tools at gmail dot com
@ 2008-11-28 18:02 ` hjl dot tools at gmail dot com
  2008-11-28 19:03 ` hjl dot tools at gmail dot com
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hjl dot tools at gmail dot com @ 2008-11-28 18:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from hjl dot tools at gmail dot com  2008-11-28 18:01 -------
Revision 142206 generates:

Reloads for insn # 49
Reload 0: reload_in (SI) = (reg:SI 0 ax) 
        reload_out (SI) = (reg:SI 1 dx [orig:62 D.2019 ] [62]) 
        GENERAL_REGS, RELOAD_OTHER (opnum = 0)
        reload_in_reg: (reg:SI 63 [ D.2018 ])
        reload_out_reg: (reg:SI 1 dx [orig:62 D.2019 ] [62]) 
        reload_reg_rtx: (reg:SI 1 dx [orig:62 D.2019 ] [62]) 
Reload 1: reload_in (SI) = (reg:SI 65 [ ivtmp.93 ])
        GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 2), optional
        reload_in_reg: (reg:SI 65 [ ivtmp.93 ])

(insn 49 168 50 3 /tmp/foo.f90:6 (parallel [
            (set (reg:SI 1 dx [orig:62 D.2019 ] [62])
                (mult:SI (reg:SI 1 dx [orig:62 D.2019 ] [62])
                    (mem/c:SI (plus:SI (reg/f:SI 6 bp)
                            (const_int -48 [0xffffffffffffffd0])) [0 %sfp+-24
S4 A32])))
            (clobber (reg:CC 17 flags))
        ]) 333 {*mulsi3_1} (nil))


407         movl    __threadprivate2_MOD_foo@INDNTPOFF, %edx
408         movl    %gs:(%edx), %eax
409         movl    %eax, -60(%ebp)
410         movl    %gs:4(%edx), %ecx
411         movl    %gs:16(%edx), %edi
412         movl    %gs:20(%edx), %ebx
413         movl    %gs:28(%edx), %eax
414         movl    %gs:32(%edx), %esi
415         movl    %esi, -64(%ebp)
416         movl    %gs:12(%edx), %esi
417         addl    $16, %esp
418         cmpl    -64(%ebp), %eax
419         jg      .L53
420         movl    %eax, -48(%ebp)
421         movl    %gs:24(%edx), %eax
422         movl    %eax, -56(%ebp)
423         movl    %eax, %edx
424         imull   -48(%ebp), %edx

Revision 142207:

Reloads for insn # 49
Reload 0: reload_in (SI) = (reg:SI 63 [ D.2018 ])
        reload_out (SI) = (reg:SI 1 dx [orig:62 D.2019 ] [62]) 
        GENERAL_REGS, RELOAD_OTHER (opnum = 0)
        reload_in_reg: (reg:SI 63 [ D.2018 ])
        reload_out_reg: (reg:SI 1 dx [orig:62 D.2019 ] [62]) 
        reload_reg_rtx: (reg:SI 1 dx [orig:62 D.2019 ] [62]) 
Reload 1: reload_in (SI) = (reg:SI 65 [ ivtmp.93 ])
        GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 2), optional
        reload_in_reg: (reg:SI 65 [ ivtmp.93 ])
        reload_reg_rtx: (reg:SI 2 cx [80]) 

(insn 49 168 50 3 /tmp/foo.f90:6 (parallel [
            (set (reg:SI 1 dx [orig:62 D.2019 ] [62])
                (mult:SI (reg:SI 1 dx [orig:62 D.2019 ] [62])
                    (reg:SI 2 cx [80])))
            (clobber (reg:CC 17 flags))
        ]) 333 {*mulsi3_1} (nil))

Somehow IRA forgot ECX is used in insn 49 and used to load
__threadprivate2_MOD_foo:

407         movl    __threadprivate2_MOD_foo@INDNTPOFF, %ecx
408         movl    %gs:(%ecx), %eax
409         movl    %eax, -60(%ebp)
410         movl    %gs:4(%ecx), %eax
411         movl    %gs:16(%ecx), %edi
412         movl    %gs:20(%ecx), %ebx
413         movl    %gs:28(%ecx), %edx
414         movl    %gs:32(%ecx), %esi
415         movl    %esi, -64(%ebp)
416         movl    %gs:12(%ecx), %esi
417         addl    $16, %esp
418         cmpl    -64(%ebp), %edx
419         jg      .L53
420         movl    %edx, -48(%ebp)
421         movl    %gs:24(%ecx), %edx
422         movl    %edx, -56(%ebp)
423         imull   %ecx, %edx <<< ECX doesn't have content at address
-48(%ebp)


-- 


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
                   ` (2 preceding siblings ...)
  2008-11-28 18:02 ` hjl dot tools at gmail dot com
@ 2008-11-28 19:03 ` hjl dot tools at gmail dot com
  2008-11-28 21:13 ` hjl dot tools at gmail dot com
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hjl dot tools at gmail dot com @ 2008-11-28 19:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from hjl dot tools at gmail dot com  2008-11-28 19:01 -------
With patch for PR 38280:

http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01428.html

IRA generates:

Reloads for insn # 151
Reload 0: reload_in (SI) = (mem/u/c:SI (const:SI (unspec:SI [
                                                                (symbol_ref:SI
("__threadprivate2_MOD_foo") [flags 0x60] <var_decl 0x7ffe1895f780 foo>)
                                                            ] 8)) [0 S4 A8])
        GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 1), optional
        reload_in_reg: (mem/u/c:SI (const:SI (unspec:SI [
                                                                (symbol_ref:SI
("__threadprivate2_MOD_foo") [flags 0x60] <var_decl 0x7ffe1895f780 foo>)
                                                            ] 8)) [0 S4 A8])
        reload_reg_rtx: (reg:SI 2 cx [80])

Reloads for insn # 48
Reload 0: reload_out (SI) = (reg:SI 63 [ D.2018 ])
        GENERAL_REGS, RELOAD_FOR_OUTPUT (opnum = 0)
        reload_out_reg: (reg:SI 63 [ D.2018 ])
        reload_reg_rtx: (reg:SI 1 dx)
Reload 1: reload_in (SI) = (mem/s/j:SI (plus:SI (plus:SI (unspec:SI [
                                                                    (const_int
0 [0x0])
                                                                ] 18)
                                                            (reg:SI 1 dx [87]))
                                                        (const_int 24 [0x18]))
[0 <variable>.stride+0 S4 A32])
        GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 1), optional
        reload_in_reg: (mem/s/j:SI (plus:SI (plus:SI (unspec:SI [
                                                                    (const_int
0 [0x0])
                                                                ] 18)
                                                            (reg:SI 1 dx [87]))
                                                        (const_int 24 [0x18]))
[0 <variable>.stride+0 S4 A32])

Reloads for insn # 49
Reload 0: reload_in (SI) = (reg:SI 63 [ D.2018 ])
        reload_out (SI) = (reg:SI 1 dx [orig:62 D.2019 ] [62])
        GENERAL_REGS, RELOAD_OTHER (opnum = 0)
        reload_in_reg: (reg:SI 63 [ D.2018 ])
        reload_out_reg: (reg:SI 1 dx [orig:62 D.2019 ] [62])
        reload_reg_rtx: (reg:SI 1 dx [orig:62 D.2019 ] [62])
Reload 1: reload_in (SI) = (reg:SI 65 [ ivtmp.93 ])
        GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 2), optional
        reload_in_reg: (reg:SI 65 [ ivtmp.93 ])
        reload_reg_rtx: (reg:SI 2 cx [80])

...

(insn 151 47 48 3 /tmp/foo.f90:6 (set (reg:SI 1 dx [87])
        (reg:SI 2 cx [80])) 47 {*movsi_1} (expr_list:REG_EQUIV (mem/u/c:SI
(const:SI (unspec:SI [
                        (symbol_ref:SI ("__threadprivate2_MOD_foo") [flags
0x60] <var_decl 0x7ffe1895f780 foo>)
                    ] 8)) [0 S4 A8])
        (nil)))

(insn 48 151 167 3 /tmp/foo.f90:6 (set (reg:SI 1 dx)
        (mem/s/j:SI (plus:SI (plus:SI (unspec:SI [
                            (const_int 0 [0x0])
                        ] 18)
                    (reg:SI 1 dx [87]))
                (const_int 24 [0x18])) [0 <variable>.stride+0 S4 A32])) 47
{*movsi_1} (nil))

(insn 167 48 168 3 /tmp/foo.f90:6 (set (mem/c:SI (plus:SI (reg/f:SI 6 bp)
                (const_int -56 [0xffffffffffffffc8])) [0 %sfp+-32 S4 A32])
        (reg:SI 1 dx)) 47 {*movsi_1} (nil))

(insn 168 167 49 3 /tmp/foo.f90:6 (set (reg:SI 1 dx [orig:62 D.2019 ] [62])
        (mem/c:SI (plus:SI (reg/f:SI 6 bp)
                (const_int -56 [0xffffffffffffffc8])) [0 %sfp+-32 S4 A32])) 47
{*movsi_1} (nil))

(insn 49 168 50 3 /tmp/foo.f90:6 (parallel [
            (set (reg:SI 1 dx [orig:62 D.2019 ] [62])
                (mult:SI (reg:SI 1 dx [orig:62 D.2019 ] [62])
                    (reg:SI 2 cx [80])))
            (clobber (reg:CC 17 flags))
        ]) 333 {*mulsi3_1} (nil))

Something is wrong here. ECX can't be both

(symbol_ref:SI ("__threadprivate2_MOD_foo") [flags 0x60] <var_decl
0x7ffe1895f780 foo>)

and (reg:SI 65 [ ivtmp.93 ]) at the same time.


-- 


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
                   ` (3 preceding siblings ...)
  2008-11-28 19:03 ` hjl dot tools at gmail dot com
@ 2008-11-28 21:13 ` hjl dot tools at gmail dot com
  2008-11-28 22:19 ` vmakarov at redhat dot com
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hjl dot tools at gmail dot com @ 2008-11-28 21:13 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from hjl dot tools at gmail dot com  2008-11-28 21:11 -------
do_input_reload has

  if (optimize && reload_inherited[j] && rl->in
      && MEM_P (rl->in)
      && MEM_P (rl->in_reg)
      && reload_spill_index[j] >= 0
      && TEST_HARD_REG_BIT (reg_reloaded_valid, reload_spill_index[j]))
    rl->in = regno_reg_rtx[reg_reloaded_contents[reload_spill_index[j]]];

(gdb) call debug_rtx (insn)
(insn 151 47 48 3 /tmp/foo.f90:6 (set (reg:SI 1 dx [87])
        (mem/u/c:SI (const:SI (unspec:SI [
                        (symbol_ref:SI ("__threadprivate2_MOD_foo") [flags
0x60] <var_decl 0x7ffff7fd3780 foo>)
                    ] 8)) [0 S4 A8])) 47 {*movsi_1} (expr_list:REG_EQUIV
(mem/u/c:SI (const:SI (unspec:SI [
                        (symbol_ref:SI ("__threadprivate2_MOD_foo") [flags
0x60] <var_decl 0x7ffff7fd3780 foo>)
                    ] 8)) [0 S4 A8])
        (nil)))
(gdb) p *rl
$6 = {in = 0x7ffff7e959c0, out = 0x0, rclass = GENERAL_REGS, inmode = SImode, 
  outmode = VOIDmode, mode = SImode, nregs = 1, inc = 0, 
  in_reg = 0x7ffff7e959c0, out_reg = 0x0, regno = -1, 
  reg_rtx = 0x7ffff7e819c0, opnum = 1, secondary_in_reload = -1, 
  secondary_out_reload = -1, secondary_in_icode = CODE_FOR_nothing, 
  secondary_out_icode = CODE_FOR_nothing, when_needed = RELOAD_FOR_INPUT, 
  optional = 1, nocombine = 0, secondary_p = 0, nongroup = 0}
(gdb) call debug_rtx (rl->in)
(mem/u/c:SI (const:SI (unspec:SI [
                (symbol_ref:SI ("__threadprivate2_MOD_foo") [flags 0x60]
<var_decl 0x7ffff7fd3780 foo>)
            ] 8)) [0 S4 A8])
(gdb) call debug_rtx (rl->in_reg)
(mem/u/c:SI (const:SI (unspec:SI [
                (symbol_ref:SI ("__threadprivate2_MOD_foo") [flags 0x60]
<var_decl 0x7ffff7fd3780 foo>)
            ] 8)) [0 S4 A8])
(gdb) call debug_rtx (rl->reg_rtx)
(reg:SI 2 cx [80])
(gdb) p reload_spill_index[j]
$7 = 1
(gdb) 

It replaces rl->in with an reg_rtx different from rl->reg_rtx and confused
IRA. I don't know if it is a reload or IRA bug. This patch fixes the testcase.

--- reload1.c.foo       2008-11-21 06:06:55.000000000 -0800
+++ reload1.c   2008-11-28 12:56:54.000000000 -0800
@@ -7508,6 +7508,8 @@ do_input_reload (struct insn_chain *chai
       && MEM_P (rl->in)
       && MEM_P (rl->in_reg)
       && reload_spill_index[j] >= 0
+      && (rl->reg_rtx == 0
+         || REGNO (rl->reg_rtx) == (unsigned int) reload_spill_index[j])
       && TEST_HARD_REG_BIT (reg_reloaded_valid, reload_spill_index[j]))
     rl->in = regno_reg_rtx[reg_reloaded_contents[reload_spill_index[j]]];



-- 


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
                   ` (4 preceding siblings ...)
  2008-11-28 21:13 ` hjl dot tools at gmail dot com
@ 2008-11-28 22:19 ` vmakarov at redhat dot com
  2008-11-28 22:29 ` hjl dot tools at gmail dot com
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: vmakarov at redhat dot com @ 2008-11-28 22:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from vmakarov at redhat dot com  2008-11-28 22:17 -------
 I think, H.J., that is one more latent bug (i already saw several of them) in
reload inheritance optimization triggered by IRA which allocates dx for p69 and
p87 in subsequent insns

47:p65<-p69
151:p87<-mem[...].

I am not sure that your patch is right but you can commit it for a review to
get some comments.


-- 


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
                   ` (5 preceding siblings ...)
  2008-11-28 22:19 ` vmakarov at redhat dot com
@ 2008-11-28 22:29 ` hjl dot tools at gmail dot com
  2008-11-28 23:27 ` hjl dot tools at gmail dot com
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hjl dot tools at gmail dot com @ 2008-11-28 22:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from hjl dot tools at gmail dot com  2008-11-28 22:28 -------
(In reply to comment #6)
>  I think, H.J., that is one more latent bug (i already saw several of them) in
> reload inheritance optimization triggered by IRA which allocates dx for p69 and
> p87 in subsequent insns
> 
> 47:p65<-p69
> 151:p87<-mem[...].
>

With my patch, I got

(insn 47 46 151 3 /tmp/foo.f90:53 (set (mem/c:SI (plus:SI (reg/f:SI 6 bp)
                (const_int -48 [0xffffffffffffffd0])) [0 %sfp+-24 S4 A32])
        (reg:SI 1 dx [orig:69 S.10 ] [69])) 47 {*movsi_1} (nil))

(insn 151 47 48 3 /tmp/foo.f90:6 (set (reg:SI 1 dx [87])
        (reg:SI 2 cx [80])) 47 {*movsi_1} (expr_list:REG_EQUIV (mem/u/c:SI
(const:SI (unspec:SI [
                        (symbol_ref:SI ("__threadprivate2_MOD_foo") [flags
0x60] <var_decl 0x7fad44900780 foo>)
                    ] 8)) [0 S4 A8])
        (nil)))

(insn 48 151 167 3 /tmp/foo.f90:6 (set (reg:SI 1 dx)
        (mem/s/j:SI (plus:SI (plus:SI (unspec:SI [
                            (const_int 0 [0x0])
                        ] 18)
                    (reg:SI 1 dx [87]))
                (const_int 24 [0x18])) [0 <variable>.stride+0 S4 A32])) 47
{*movsi_1} (nil))

(insn 167 48 168 3 /tmp/foo.f90:6 (set (mem/c:SI (plus:SI (reg/f:SI 6 bp)
                (const_int -56 [0xffffffffffffffc8])) [0 %sfp+-32 S4 A32])
        (reg:SI 1 dx)) 47 {*movsi_1} (nil))

(insn 168 167 49 3 /tmp/foo.f90:6 (set (reg:SI 1 dx [orig:62 D.2019 ] [62])
        (mem/c:SI (plus:SI (reg/f:SI 6 bp)
                (const_int -56 [0xffffffffffffffc8])) [0 %sfp+-32 S4 A32])) 47
{*movsi_1} (nil))

(insn 49 168 50 3 /tmp/foo.f90:6 (parallel [
            (set (reg:SI 1 dx [orig:62 D.2019 ] [62])
                (mult:SI (reg:SI 1 dx [orig:62 D.2019 ] [62])
                    (mem/c:SI (plus:SI (reg/f:SI 6 bp)
                            (const_int -48 [0xffffffffffffffd0])) [0 %sfp+-24
S4 A32])))
            (clobber (reg:CC 17 flags))
        ]) 333 {*mulsi3_1} (nil))

DX (r69) is dead at insn 47. DX (r87) at insn 151 is a different register.
It looks OK to me.

> I am not sure that your patch is right but you can commit it for a review to
> get some comments.
> 

I will submit it for comments after I finish tests on Linux/ia32, Linux/ia64
and Linux/Intel64.


-- 


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
                   ` (6 preceding siblings ...)
  2008-11-28 22:29 ` hjl dot tools at gmail dot com
@ 2008-11-28 23:27 ` hjl dot tools at gmail dot com
  2008-11-30 16:50 ` hjl at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hjl dot tools at gmail dot com @ 2008-11-28 23:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from hjl dot tools at gmail dot com  2008-11-28 23:26 -------
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01463.html


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |uweigand at de dot ibm dot
                   |                            |com, bernds at gcc dot gnu
                   |                            |dot org
                URL|                            |http://gcc.gnu.org/ml/gcc-
                   |                            |patches/2008-
                   |                            |11/msg01463.html


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
                   ` (7 preceding siblings ...)
  2008-11-28 23:27 ` hjl dot tools at gmail dot com
@ 2008-11-30 16:50 ` hjl at gcc dot gnu dot org
  2008-12-05 21:47 ` hjl at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hjl at gcc dot gnu dot org @ 2008-11-30 16:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from hjl at gcc dot gnu dot org  2008-11-30 16:49 -------
Subject: Bug 38272

Author: hjl
Date: Sun Nov 30 16:48:00 2008
New Revision: 142294

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142294
Log:
2008-11-30  H.J. Lu  <hongjiu.lu@intel.com>

        PR rtl-optimization/38272
        * reload1.c (do_input_reload): Don't use a spill for memory if it
        is different from the register to be reloaded into.

Modified:
    branches/ira-merge/gcc/ChangeLog.ira
    branches/ira-merge/gcc/reload1.c


-- 


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
                   ` (8 preceding siblings ...)
  2008-11-30 16:50 ` hjl at gcc dot gnu dot org
@ 2008-12-05 21:47 ` hjl at gcc dot gnu dot org
  2008-12-06  0:57 ` hjl at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hjl at gcc dot gnu dot org @ 2008-12-05 21:47 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from hjl at gcc dot gnu dot org  2008-12-05 21:45 -------
Subject: Bug 38272

Author: hjl
Date: Fri Dec  5 21:44:32 2008
New Revision: 142499

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142499
Log:
2008-12-05  Ian Lance Taylor  <iant@google.com>
            H.J. Lu  <hongjiu.lu@intel.com>

        PR rtl-optimization/38272
        * reload1.c (do_input_reload): Don't use a register spill for
        memory.

Modified:
    branches/ira-merge/gcc/ChangeLog.ira
    branches/ira-merge/gcc/reload1.c


-- 


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
                   ` (9 preceding siblings ...)
  2008-12-05 21:47 ` hjl at gcc dot gnu dot org
@ 2008-12-06  0:57 ` hjl at gcc dot gnu dot org
  2008-12-06  3:21 ` hjl at gcc dot gnu dot org
  2008-12-06  7:51 ` hjl dot tools at gmail dot com
  12 siblings, 0 replies; 14+ messages in thread
From: hjl at gcc dot gnu dot org @ 2008-12-06  0:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from hjl at gcc dot gnu dot org  2008-12-06 00:56 -------
Subject: Bug 38272

Author: hjl
Date: Sat Dec  6 00:54:47 2008
New Revision: 142513

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142513
Log:
2008-12-05  Bernd Schmidt  <bernd.schmidt@analog.com>

        PR rtl-optimization/38272
        * reload1.c (choose_reload_regs): Keep reload_spill_index correct
        in all cases.

Modified:
    branches/ira-merge/gcc/ChangeLog.ira
    branches/ira-merge/gcc/reload1.c


-- 


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
                   ` (10 preceding siblings ...)
  2008-12-06  0:57 ` hjl at gcc dot gnu dot org
@ 2008-12-06  3:21 ` hjl at gcc dot gnu dot org
  2008-12-06  7:51 ` hjl dot tools at gmail dot com
  12 siblings, 0 replies; 14+ messages in thread
From: hjl at gcc dot gnu dot org @ 2008-12-06  3:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from hjl at gcc dot gnu dot org  2008-12-06 03:19 -------
Subject: Bug 38272

Author: hjl
Date: Sat Dec  6 03:18:15 2008
New Revision: 142514

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142514
Log:
2008-12-05  Bernd Schmidt  <bernd.schmidt@analog.com>

        PR rtl-optimization/38272
        * reload1.c (choose_reload_regs): Keep reload_spill_index correct
        in all cases.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/reload1.c


-- 


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


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

* [Bug rtl-optimization/38272] [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90
  2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
                   ` (11 preceding siblings ...)
  2008-12-06  3:21 ` hjl at gcc dot gnu dot org
@ 2008-12-06  7:51 ` hjl dot tools at gmail dot com
  12 siblings, 0 replies; 14+ messages in thread
From: hjl dot tools at gmail dot com @ 2008-12-06  7:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from hjl dot tools at gmail dot com  2008-12-06 07:47 -------
Fixed.


-- 

hjl dot tools at gmail dot com changed:

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


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


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

end of thread, other threads:[~2008-12-06  7:51 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-26  3:59 [Bug rtl-optimization/38272] New: [4.4 Regression] Revision 142207 caused libgomp.fortran/threadprivate2.f90 hjl dot tools at gmail dot com
2008-11-27 17:33 ` [Bug rtl-optimization/38272] " jsm28 at gcc dot gnu dot org
2008-11-28 17:50 ` hjl dot tools at gmail dot com
2008-11-28 18:02 ` hjl dot tools at gmail dot com
2008-11-28 19:03 ` hjl dot tools at gmail dot com
2008-11-28 21:13 ` hjl dot tools at gmail dot com
2008-11-28 22:19 ` vmakarov at redhat dot com
2008-11-28 22:29 ` hjl dot tools at gmail dot com
2008-11-28 23:27 ` hjl dot tools at gmail dot com
2008-11-30 16:50 ` hjl at gcc dot gnu dot org
2008-12-05 21:47 ` hjl at gcc dot gnu dot org
2008-12-06  0:57 ` hjl at gcc dot gnu dot org
2008-12-06  3:21 ` hjl at gcc dot gnu dot org
2008-12-06  7:51 ` hjl dot tools 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).