[Bug fortran/37536] [4.3/4.4 Regression] a mfcr is produced instead of branches for DO loops

2008-09-17 Thread luisgpm at linux dot vnet dot ibm dot com
--- Comment #9 from luisgpm at linux dot vnet dot ibm dot com 2008-09-17 15:22 --- Gathered some PPC 32/64 performance numbers with the patch (based on 140409). No noticeable performance regressions were found. 32-bit swin and 64-bit art had a little boost on speed (7.8% and 3.4%

[Bug fortran/37536] [4.3/4.4 Regression] a mfcr is produced instead of branches for DO loops

2008-09-17 Thread jakub at gcc dot gnu dot org
--- Comment #10 from jakub at gcc dot gnu dot org 2008-09-17 21:53 --- Subject: Bug 37536 Author: jakub Date: Wed Sep 17 21:51:50 2008 New Revision: 140433 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140433 Log: PR fortran/37536 * trans-stmt.c (gfc_trans_do):

[Bug fortran/37536] [4.3/4.4 Regression] a mfcr is produced instead of branches for DO loops

2008-09-17 Thread jakub at gcc dot gnu dot org
--- Comment #11 from jakub at gcc dot gnu dot org 2008-09-17 21:53 --- Fixed on the trunk. -- jakub at gcc dot gnu dot org changed: What|Removed |Added

[Bug fortran/37536] [4.3/4.4 Regression] a mfcr is produced instead of branches for DO loops

2008-09-16 Thread jakub at gcc dot gnu dot org
--- Comment #3 from jakub at gcc dot gnu dot org 2008-09-16 13:02 --- Created an attachment (id=16338) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16338action=view) gcc44-pr37536.patch So far untested patch to optimize slightly integer type non-simple do loops. At least on

[Bug fortran/37536] [4.3/4.4 Regression] a mfcr is produced instead of branches for DO loops

2008-09-16 Thread rguenth at gcc dot gnu dot org
--- Comment #4 from rguenth at gcc dot gnu dot org 2008-09-16 13:10 --- ifcombine would be a place to do this CFG re-writing. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug fortran/37536] [4.3/4.4 Regression] a mfcr is produced instead of branches for DO loops

2008-09-16 Thread pault at gcc dot gnu dot org
--- Comment #5 from pault at gcc dot gnu dot org 2008-09-16 15:29 --- (In reply to comment #2) Hi Andrew, Does this do it for you or is this all to rarified for this Bear-of-little-brain to follow? D.1359 = *start - *offset; D.1360 = *end + *offset; D.1361 = *step;

[Bug fortran/37536] [4.3/4.4 Regression] a mfcr is produced instead of branches for DO loops

2008-09-16 Thread pinskia at gcc dot gnu dot org
--- Comment #6 from pinskia at gcc dot gnu dot org 2008-09-16 15:55 --- (In reply to comment #5) (In reply to comment #2) Hi Andrew, Does this do it for you or is this all to rarified for this Bear-of-little-brain to follow? D.1359 = *start - *offset; D.1360 = *end +

[Bug fortran/37536] [4.3/4.4 Regression] a mfcr is produced instead of branches for DO loops

2008-09-16 Thread pault at gcc dot gnu dot org
--- Comment #7 from pault at gcc dot gnu dot org 2008-09-16 17:51 --- (In reply to comment #2) Hi Andrew, Does this do it for you or is this all to rarified for this Bear-of-little-brain to follow? D.1359 = *start - *offset; D.1360 = *end + *offset; D.1361 = *step;

[Bug fortran/37536] [4.3/4.4 Regression] a mfcr is produced instead of branches for DO loops

2008-09-16 Thread jakub at gcc dot gnu dot org
--- Comment #8 from jakub at gcc dot gnu dot org 2008-09-16 22:17 --- An ifcombine optimization is certainly desirable, still IMHO it makes sense to do something about it in the FE too. The vanilla f951 generated code contains essentially 3 different conditional expressions on step 0,