public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2
@ 2004-12-12  5:29 pinskia at gcc dot gnu dot org
  2004-12-12  5:30 ` [Bug rtl-optimization/18942] " pinskia at gcc dot gnu dot org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-12  5:29 UTC (permalink / raw)
  To: gcc-bugs

Take the following code:
int main1 (int n)
{
  int ivtmp51;
  int D1360 = n/2 - 1;
  ivtmp51 = 1;
  do {
    ivtmp51++;
  }  while (D1360 > ivtmp51);
  return 0;
}

With 3.3.2 I got:
_main1:
        srawi r4,r3,1
        addze r4,r4
        addi r2,r4,-1
        cmpwi cr0,r2,1
        addi r0,r2,-1
        mtctr r0
        ble- cr0,L8
L6:
        bdnz L6
        li r3,0
        blr
L8:
        li r3,1
        mtctr r3
        b L6

With the mainline I get:
_main1:
        srawi r3,r3,1
        addze r3,r3
        addi r2,r3,-1
        cmpwi cr7,r2,2
        addi r3,r3,-2
        mtctr r3
        blt- cr7,L6
        lis r0,0x8000  <-- why is this here?
        cmpw cr7,r2,r0<-- likewise
        beq- cr7,L6<-- likewise
L2:
        bdnz L2
L10:
        li r3,0
        blr
L6:
        li r0,1
        mtctr r0
        bdnz L2
        b L10

-- 
           Summary: [4.0 Regression] Do loop is not as optimizationed as
                    3.3.2
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P2
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: powerpc-darwin


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


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

* [Bug rtl-optimization/18942] [4.0 Regression] Do loop is not as optimizationed as 3.3.2
  2004-12-12  5:29 [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2 pinskia at gcc dot gnu dot org
@ 2004-12-12  5:30 ` pinskia at gcc dot gnu dot org
  2004-12-12 19:00 ` dje at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-12  5:30 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rakdver at gcc dot gnu dot
                   |                            |org
   Target Milestone|---                         |4.0.0


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


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

* [Bug rtl-optimization/18942] [4.0 Regression] Do loop is not as optimizationed as 3.3.2
  2004-12-12  5:29 [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2 pinskia at gcc dot gnu dot org
  2004-12-12  5:30 ` [Bug rtl-optimization/18942] " pinskia at gcc dot gnu dot org
@ 2004-12-12 19:00 ` dje at gcc dot gnu dot org
  2004-12-12 20:00 ` dje at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: dje at gcc dot gnu dot org @ 2004-12-12 19:00 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dje at gcc dot gnu dot org  2004-12-12 19:00 -------
The new doloop generator is being more conservative for the signed int 
argument and induction variable.  Unsigned int produces better code.  Maybe 
the new algorithm could be more aggressive when one of the -ffast-math sub-
switches is enabled.

-- 


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


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

* [Bug rtl-optimization/18942] [4.0 Regression] Do loop is not as optimizationed as 3.3.2
  2004-12-12  5:29 [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2 pinskia at gcc dot gnu dot org
  2004-12-12  5:30 ` [Bug rtl-optimization/18942] " pinskia at gcc dot gnu dot org
  2004-12-12 19:00 ` dje at gcc dot gnu dot org
@ 2004-12-12 20:00 ` dje at gcc dot gnu dot org
  2004-12-13 18:31 ` [Bug rtl-optimization/18942] [4.0 Regression] Do loop is not as optimized " pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: dje at gcc dot gnu dot org @ 2004-12-12 20:00 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dje at gcc dot gnu dot org


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


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

* [Bug rtl-optimization/18942] [4.0 Regression] Do loop is not as optimized as 3.3.2
  2004-12-12  5:29 [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2 pinskia at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2004-12-12 20:00 ` dje at gcc dot gnu dot org
@ 2004-12-13 18:31 ` pinskia at gcc dot gnu dot org
  2004-12-17 20:15 ` [Bug rtl-optimization/18942] " pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-13 18:31 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.0 Regression] Do loop is |[4.0 Regression] Do loop is
                   |not as optimizationed as    |not as optimized as 3.3.2
                   |3.3.2                       |


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


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

* [Bug rtl-optimization/18942] Do loop is not as optimized as 3.3.2
  2004-12-12  5:29 [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2 pinskia at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2004-12-13 18:31 ` [Bug rtl-optimization/18942] [4.0 Regression] Do loop is not as optimized " pinskia at gcc dot gnu dot org
@ 2004-12-17 20:15 ` pinskia at gcc dot gnu dot org
  2004-12-18 22:34 ` rakdver at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-17 20:15 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-12-17 20:15 -------
Confirming as and removing regression marker as suggested by David.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-12-17 20:15:35
               date|                            |
            Summary|[4.0 Regression] Do loop is |Do loop is not as optimized
                   |not as optimized as 3.3.2   |as 3.3.2
   Target Milestone|4.0.0                       |---


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


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

* [Bug rtl-optimization/18942] Do loop is not as optimized as 3.3.2
  2004-12-12  5:29 [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2 pinskia at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2004-12-17 20:15 ` [Bug rtl-optimization/18942] " pinskia at gcc dot gnu dot org
@ 2004-12-18 22:34 ` rakdver at gcc dot gnu dot org
  2004-12-19  9:58 ` rakdver at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2004-12-18 22:34 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |rakdver at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


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


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

* [Bug rtl-optimization/18942] Do loop is not as optimized as 3.3.2
  2004-12-12  5:29 [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2 pinskia at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2004-12-18 22:34 ` rakdver at gcc dot gnu dot org
@ 2004-12-19  9:58 ` rakdver at gcc dot gnu dot org
  2004-12-20 20:49 ` rakdver at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2004-12-19  9:58 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rakdver at gcc dot gnu dot org  2004-12-19 09:57 -------
Patch:

http://gcc.gnu.org/ml/gcc-patches/2004-12/msg01379.html

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch


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


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

* [Bug rtl-optimization/18942] Do loop is not as optimized as 3.3.2
  2004-12-12  5:29 [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2 pinskia at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2004-12-20 20:49 ` rakdver at gcc dot gnu dot org
@ 2004-12-20 20:49 ` cvs-commit at gcc dot gnu dot org
  2005-01-07 14:14 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-12-20 20:49 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-12-20 20:49 -------
Subject: Bug 18942

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rakdver@gcc.gnu.org	2004-12-20 20:48:54

Modified files:
	gcc            : ChangeLog simplify-rtx.c 

Log message:
	PR rtl-optimization/18942
	* simplify-rtx.c (simplify_relational_operation_1): Simplify
	x + cst1 == cst2 to x == cst2 - cst1.  Made static.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.6901&r2=2.6902
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/simplify-rtx.c.diff?cvsroot=gcc&r1=1.216&r2=1.217



-- 


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


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

* [Bug rtl-optimization/18942] Do loop is not as optimized as 3.3.2
  2004-12-12  5:29 [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2 pinskia at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2004-12-19  9:58 ` rakdver at gcc dot gnu dot org
@ 2004-12-20 20:49 ` rakdver at gcc dot gnu dot org
  2004-12-20 20:49 ` cvs-commit at gcc dot gnu dot org
  2005-01-07 14:14 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2004-12-20 20:49 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rakdver at gcc dot gnu dot org  2004-12-20 20:49 -------
Fixed.

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


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


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

* [Bug rtl-optimization/18942] Do loop is not as optimized as 3.3.2
  2004-12-12  5:29 [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2 pinskia at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2004-12-20 20:49 ` cvs-commit at gcc dot gnu dot org
@ 2005-01-07 14:14 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-07 14:14 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.0.0


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


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

end of thread, other threads:[~2005-01-07 14:14 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-12  5:29 [Bug rtl-optimization/18942] New: [4.0 Regression] Do loop is not as optimizationed as 3.3.2 pinskia at gcc dot gnu dot org
2004-12-12  5:30 ` [Bug rtl-optimization/18942] " pinskia at gcc dot gnu dot org
2004-12-12 19:00 ` dje at gcc dot gnu dot org
2004-12-12 20:00 ` dje at gcc dot gnu dot org
2004-12-13 18:31 ` [Bug rtl-optimization/18942] [4.0 Regression] Do loop is not as optimized " pinskia at gcc dot gnu dot org
2004-12-17 20:15 ` [Bug rtl-optimization/18942] " pinskia at gcc dot gnu dot org
2004-12-18 22:34 ` rakdver at gcc dot gnu dot org
2004-12-19  9:58 ` rakdver at gcc dot gnu dot org
2004-12-20 20:49 ` rakdver at gcc dot gnu dot org
2004-12-20 20:49 ` cvs-commit at gcc dot gnu dot org
2005-01-07 14:14 ` pinskia at gcc dot gnu dot org

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