[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-11-22 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41082

Dominique d'Humieres  changed:

   What|Removed |Added

 CC||meissner at gcc dot gnu.org

--- Comment #53 from Dominique d'Humieres  
2010-11-22 10:01:21 UTC ---
This PR has been fixed by revision 166947

Revision 166947

Jump to revision: 
Author:meissner
Date:Fri Nov 19 17:27:18 2010 UTC (2 days, 16 hours ago)
Changed paths:25
Log Message:
Add PowerPC target attribute/pragma support
Changed paths:

PathDetails
trunk/gcc/ChangeLogmodified , text changed
trunk/gcc/Makefile.inmodified , text changed
trunk/gcc/config/rs6000/aix.optmodified , text changed
trunk/gcc/config/rs6000/aix64.optmodified , text changed
trunk/gcc/config/rs6000/linux64.hmodified , text changed
trunk/gcc/config/rs6000/linux64.optmodified , text changed
trunk/gcc/config/rs6000/rs6000-opts.hadded
trunk/gcc/config/rs6000/rs6000-protos.hmodified , text changed
trunk/gcc/config/rs6000/rs6000.cmodified , text changed
trunk/gcc/config/rs6000/rs6000.hmodified , text changed
trunk/gcc/config/rs6000/rs6000.optmodified , text changed
trunk/gcc/config/rs6000/sysv4.hmodified , text changed
trunk/gcc/config/rs6000/sysv4.optmodified , text changed
trunk/gcc/configuremodified , text changed
trunk/gcc/configure.acmodified , text changed
trunk/gcc/doc/extend.teximodified , text changed
trunk/gcc/doc/invoke.teximodified , text changed
trunk/gcc/doc/options.teximodified , text changed
trunk/gcc/opt-include.awkadded
trunk/gcc/optc-gen.awkmodified , text changed
trunk/gcc/opth-gen.awkmodified , text changed
trunk/gcc/testsuite/ChangeLogmodified , text changed
trunk/gcc/testsuite/gcc.target/powerpc/ppc-target-1.cadded
trunk/gcc/testsuite/gcc.target/powerpc/ppc-target-2.cadded
trunk/gcc/testsuite/gcc.target/powerpc/ppc-target-3.cadded

Before I close the PR as fixed, is anyone interested to understand why this
revision fixed it?


[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-11-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41082

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #54 from Jakub Jelinek  2010-11-26 
15:20:37 UTC ---
Perhaps try to build with r166946 and r166947 the testcase with -fdump-tree-all
-fdump-rtl-all, see where the dumps start diverging and what is the difference
between assembly outputs?


[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-11-26 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41082

--- Comment #55 from Dominique d'Humieres  
2010-11-26 15:48:44 UTC ---
> Perhaps try to build with r166946 and r166947 the testcase with 
> -fdump-tree-all
> -fdump-rtl-all, see where the dumps start diverging and what is the difference
> between assembly outputs?

First difference is the following!-(

diff 166946/0/where_2.f90.003t.original 166947/0/where_2.f90.003t.original
183c183
<   integer(kind=4) D.1181;
---
>   integer(kind=4) D.1179;
199c199
<   D.1181 = val.27;
---
>   D.1179 = val.27;
209c209
< temp[S.29 + -1] = temp[S.29 + -1] + D.1181;
---
> temp[S.29 + -1] = temp[S.29 + -1] + D.1179;

How am I supposed to go further?


[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-11-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41082

--- Comment #56 from Jakub Jelinek  2010-11-26 
16:20:18 UTC ---
That is an unimportant difference.  It is fine if a different uid is used, as
long as it used consistently through the whole source.
You can -fdump-tree-all-nouid and -fdump-rtl-all-nouid alternatively and look
for differences in that case.


[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-11-26 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41082

--- Comment #57 from Dominique d'Humieres  
2010-11-26 16:54:08 UTC ---
> That is an unimportant difference.  It is fine if a different uid is used, as
> long as it used consistently through the whole source.

I understand, but it make the diff of ~200 files impractical.

> You can -fdump-tree-all-nouid and -fdump-rtl-all-nouid alternatively and look
> for differences in that case.

Then I can go a little further to

diff 166946/where_2.f90.025t.ealias 166947/where_2.f90.025t.ealias
23,24c23,24
< D.1218_25 = S.0_1
< D.1218_25 = &NONLOCAL
---
> D.1216_25 = S.0_1
> D.1216_25 = &NONLOCAL
...

diff 166946/where_2.f90.191r.sched1 166947/where_2.f90.191r.sched1
16c16
< ;;  0-->19 r440=0   
:ppc750_du,iu1_7xx|iu2_7xx
---
> ;;  0-->19 r440=0:iu1_6xx|iu2_6xx
20c20
< ;;  1-->47 [sfp+0x54]=r440#3 :ppc750_du,lsu_7xx
---
> ;;  1-->47 [sfp+0x54]=r440#3 :lsu_6xx
24c24
< ;;  2--> 9 r435=0xa 
:ppc750_du,iu1_7xx|iu2_7xx
---
> ;;  2--> 9 r435=0xa  :iu1_6xx|iu2_6xx
28c28
< ;;  3-->99 r885=[sfp+0x54]   :ppc750_du,lsu_7xx
---
> ;;  3-->13 r437=0x   :iu1_6xx|iu2_6xx
32c32
< ;;  4-->13 r437=0x  
:ppc750_du,iu1_7xx|iu2_7xx
---
> ;;  4-->99 r885=[sfp+0x54]   :lsu_6xx
36c36
< ;;  5-->   101 {r485=cmp(zxn(r885),0);clobber
scr:ppc750_du,iu1_7xx|iu2_7xx
---
> ;;  5-->68 r470=0x64 :iu1_6xx|iu2_6xx
40c40
< ;;  6-->68 r470=0x64
:ppc750_du,iu1_7xx|iu2_7xx
---
> ;;  6-->   101 {r485=cmp(zxn(r885),0);clobber scr:iu1_6xx|iu2_6xx
...

2697c2697
< (insn 9 47 99 2 (set (reg:SI 435)
---
> (insn 9 47 13 2 (set (reg:SI 435)
2701c2701,2705
< (insn 99 9 13 2 (set (reg:QI 885 [ temp.5+4 ])
---
> (insn 13 9 99 2 (set (reg:SI 437)
> (const_int -1 [0x])) ../where_2.f90:6 353 
> {*movsi_internal1}
>  (nil))
> 
> (insn 99 13 68 2 (set (reg:QI 885 [ temp.5+4 ])
2706,2707c2710,2711
< (insn 13 99 101 2 (set (reg:SI 437)
< (const_int -1 [0x])) ../where_2.f90:6 353
{*movsi_internal1}
---
> (insn 68 99 101 2 (set (reg:SI 470)
> (const_int 100 [0x64])) ../where_2.f90:11 353 {*movsi_internal1}
2710c2714
< (insn 101 13 68 2 (parallel [
---
> (insn 101 68 5 2 (parallel [
2718,2722c2722
< (insn 68 101 5 2 (set (reg:SI 470)
< (const_int 100 [0x64])) ../where_2.f90:11 353 {*movsi_internal1}
<  (nil))
< 
< (insn 5 68 25 2 (set (reg:V4SI 433)
---
> (insn 5 101 25 2 (set (reg:V4SI 433)
3189c3189
< (insn 160 879 181 14 (set (reg:SI 243 [ mask.16+-3 ])
---
> (insn 160 879 161 14 (set (reg:SI 243 [ mask.16+-3 ])
3195c3195,3203
< (insn 181 160 195 14 (set (reg:SI 893 [ reduce+8 ])
---
> (insn 161 160 181 14 (parallel [
> (set (reg:SI 513)
> (and:SI (reg:SI 241 [ cond.15+-3 ])
> (reg:SI 243 [ mask.16+-3 ])))
> (clobber (scratch:CC))
> ]) ../where_2.f90:11 161 {andsi3_mc}
>  (nil))
> 
> (insn 181 161 195 14 (set (reg:SI 893 [ reduce+8 ])
3230c3238
< (insn 279 265 161 14 (set (reg:SI 871 [ reduce+36 ])
---
> (insn 279 265 295 14 (set (reg:SI 871 [ reduce+36 ])
3235,3241c3243,3247
< (insn 161 279 880 14 (parallel [
< (set (reg:SI 513)
< (and:SI (reg:SI 241 [ cond.15+-3 ])
< (reg:SI 243 [ mask.16+-3 ])))
< (clobber (scratch:CC))
< ]) ../where_2.f90:11 161 {andsi3_mc}
<  (nil))
---
> (insn 295 279 880 14 (set (reg:CC 609)
> (compare:CC (reg:SI 513)
> (const_int 0 [0]))) ../where_2.f90:11 451 {*cmpsi_internal1}
>  (expr_list:REG_DEAD (reg:SI 513)
> (nil)))
...


[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-11-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41082

--- Comment #58 from Jakub Jelinek  2010-11-26 
17:34:23 UTC ---
At least in my cross it seems the r166947 commit just changed default tuning
for -m64, from -mtune=power4 to -mtune=rs64.  Not sure if it was intentional or
not.  Anyway, with explicit -mtune=power4 the result is exactly the same as
before without any tuning options (and with -mtune=rs64 before is the same as
now without any tuning options).


[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-11-27 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41082

--- Comment #59 from Jakub Jelinek  2010-11-27 
17:51:38 UTC ---
Can you please try latest trunk, if the test works with -O3 -m64 -mtune=rs64
and fails with -O3 -m64 -mtune=power4 ?


[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-11-27 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41082

--- Comment #60 from Dominique d'Humieres  
2010-11-27 21:49:28 UTC ---
> Can you please try latest trunk, if the test works with -O3 -m64 -mtune=rs64
> and fails with -O3 -m64 -mtune=power4 ?

Confirmed, but I have no idea of what is the default on darwin.


[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-12-07 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41082

--- Comment #61 from Jakub Jelinek  2010-12-07 
22:07:59 UTC ---
I've managed to massage both -O3 -m64 -mtune={rs64,power4} darwin assembly into
ppc64-linux assembly.
Before DSE2 we have:
(insn 460 483 925 33 (set (reg:CC 75 cr7)
(compare:CC (reg:SI 11 r11 [orig:866 reduce+32 ] [866])
(const_int 6 [0x6]))) where_2.f90:11 451 {*cmpsi_internal1}
 (nil))

(insn 925 460 926 33 (set (reg:CC 0 r0)
(reg:CC 75 cr7)) where_2.f90:11 358 {*movcc_internal1}
 (nil))

(insn 926 925 467 33 (set (mem/c:CC (plus:DI (reg/f:DI 1 r1)
(const_int 272 [0x110])) [5 %sfp+272 S4 A32])
(reg:CC 0 r0)) where_2.f90:11 358 {*movcc_internal1}
 (nil))

... # %sfp+272 not used anywhere here

(insn 931 415 932 33 (set (reg:CC 19 r19)
(mem/c:CC (plus:DI (reg/f:DI 1 r1)
(const_int 272 [0x110])) [5 %sfp+272 S4 A32])) where_2.f90:11
358 {*movcc_internal1}
 (nil))

(insn 932 931 461 33 (set (reg:CC 74 cr6)
(reg:CC 19 r19)) where_2.f90:11 358 {*movcc_internal1}
 (nil))

(insn 461 932 422 33 (set (reg:SI 27 r27 [712])
(gt:SI (reg:CC 74 cr6)
(const_int 0 [0]))) where_2.f90:11 462 {*rs6000.md:13486}
 (nil))

and DSE2 somehow decides to nuke the insn 926 store.  The error could be also
that RA decides to share %sfp+272 not just for the CCmode stuff, but also
before that for a SImode value.

Looking into it...


[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-07-25 Thread dominiq at lps dot ens dot fr


--- Comment #50 from dominiq at lps dot ens dot fr  2010-07-25 10:20 ---
Between revisions 162269 and 162477 this pr has been fixed for -m64 (but not
for -m32).


-- 


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



[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-07-31 Thread rguenth at gcc dot gnu dot org


--- Comment #51 from rguenth at gcc dot gnu dot org  2010-07-31 09:29 
---
GCC 4.5.1 is being released, adjusting target milestone.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.5.1   |4.5.2


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



[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-08-06 Thread dominiq at lps dot ens dot fr


--- Comment #52 from dominiq at lps dot ens dot fr  2010-08-06 07:33 ---
The miscompilation with -m64 is back at revision 162879.


-- 


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



[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3

2010-05-14 Thread dominiq at lps dot ens dot fr


--- Comment #49 from dominiq at lps dot ens dot fr  2010-05-14 09:28 ---
> Any news on this?

Still there at revision 159329. Ira Rosen has devoted a fair amount of time to
trace the problem, but nobody cared to pursue.

Presently this PR has nothing to do with -g nor -ma64, so I updated the
summary.

Note that bootstrapping gcc on powerpc-apple-darwin9 is broken since revision
159339!-(each time a fix is posted an other breakage follows).


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

Summary|[4.5/4.6 Regression] FAIL:  |[4.5/4.6 Regression] FAIL:
   |gfortran.fortran-   |gfortran.fortran-
   |torture/execute/where_2.f90 |torture/execute/where_2.f90
   |execution,  -O3 -g with -m64|execution,  -O3


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



[Bug middle-end/41082] [4.5/4.6 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3 -g with -m64

2010-05-13 Thread tkoenig at gcc dot gnu dot org


--- Comment #48 from tkoenig at gcc dot gnu dot org  2010-05-13 18:04 
---
Any news on this?


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tkoenig at gcc dot gnu dot
   ||org


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