[Bug rtl-optimization/23524] bigger version of mov + cmp produced

2005-09-07 Thread dann at godzilla dot ics dot uci dot edu

--- Additional Comments From dann at godzilla dot ics dot uci dot edu  
2005-09-07 22:05 ---
It seems that expand generates different insns in 4.0 and 4.1 for the comparison
in question:

4.0 generates: (from .00.expand)

(insn 15 13 16 1 (set (reg/f:SI 62)
(mem/s/f:SI (plus:SI (reg/v/f:SI 58 [ gw ])
(const_int 4 [0x4])) [5 variable.core.widget_class+0 S4 A32]))
-1 (nil)
(nil))

(insn 16 15 17 1 (set (reg/f:SI 63)
(mem/f/i:SI (symbol_ref:SI (xtermWidgetClass) [flags 0x40] var_decl
0xb7a8b0d8 x
termWidgetClass) [5 xtermWidgetClass+0 S4 A32])) -1 (nil)
(nil))

(insn 17 16 18 1 (set (reg:CCZ 17 flags)
(compare:CCZ (reg/f:SI 62)
(reg/f:SI 63))) -1 (nil)
(nil))

4.1 generates: 

(insn 15 13 16 1 (set (reg:SI 62)
(mem/s/f:SI (plus:SI (reg/v/f:SI 58 [ gw ])
(const_int 4 [0x4])) [5 variable.core.widget_class+0 S4 A32]))
-1 (nil)
(nil))

(insn 16 15 17 1 (set (reg:CCZ 17 flags)
(compare:CCZ (reg:SI 62)
(mem/f/i:SI (symbol_ref:SI (xtermWidgetClass) [flags 0x40]
var_decl 0xb7b510
b0 xtermWidgetClass) [5 xtermWidgetClass+0 S4 A32]))) -1 (nil)
(nil))



-- 


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


[Bug rtl-optimization/23524] bigger version of mov + cmp produced

2005-08-23 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-23 
11:27 ---
You really should know that we only care about code size at -Os.  We care about 
performance 
regressions though at -O2.

-- 
   What|Removed |Added

Summary|bigger version of mov + cmp |bigger version of mov + cmp
   |produced|produced


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


[Bug rtl-optimization/23524] bigger version of mov + cmp produced

2005-08-23 Thread dann at godzilla dot ics dot uci dot edu

--- Additional Comments From dann at godzilla dot ics dot uci dot edu  
2005-08-23 18:05 ---
(In reply to comment #2)
 You really should know that we only care about code size at -Os.  We care
about performance 
 regressions though at -O2.

Code size is important for performance for modern processors. Small I-cache (and
I-TLB) footprint for otherwise equivalent code results in better performance.

BTW, this is a 4.1 regression. 


-- 
   What|Removed |Added

OtherBugsDependingO||23153
  nThis||


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


Re: [Bug rtl-optimization/23524] bigger version of mov + cmp produced

2005-08-23 Thread Andrew Pinski


On Aug 23, 2005, at 2:06 PM, dann at godzilla dot ics dot uci dot edu 
wrote:




--- Additional Comments From dann at godzilla dot ics dot uci dot 
edu  2005-08-23 18:05 ---

(In reply to comment #2)
You really should know that we only care about code size at -Os.  We 
care

about performance

regressions though at -O2.


Code size is important for performance for modern processors. Small 
I-cache (and
I-TLB) footprint for otherwise equivalent code results in better 
performance.


Then use -Os every where instead.  You will see that the overall code 
size for 4.1

has reduced from 4.0.

-- Pinski



[Bug rtl-optimization/23524] bigger version of mov + cmp produced

2005-08-23 Thread pinskia at physics dot uc dot edu

--- Additional Comments From pinskia at physics dot uc dot edu  2005-08-23 
18:07 ---
Subject: Re:  bigger version of mov + cmp produced


On Aug 23, 2005, at 2:06 PM, dann at godzilla dot ics dot uci dot edu 
wrote:


 --- Additional Comments From dann at godzilla dot ics dot uci dot 
 edu  2005-08-23 18:05 ---
 (In reply to comment #2)
 You really should know that we only care about code size at -Os.  We 
 care
 about performance
 regressions though at -O2.

 Code size is important for performance for modern processors. Small 
 I-cache (and
 I-TLB) footprint for otherwise equivalent code results in better 
 performance.

Then use -Os every where instead.  You will see that the overall code 
size for 4.1
has reduced from 4.0.

-- Pinski



-- 


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


[Bug rtl-optimization/23524] bigger version of mov + cmp produced

2005-08-23 Thread dann at godzilla dot ics dot uci dot edu

--- Additional Comments From dann at godzilla dot ics dot uci dot edu  
2005-08-23 18:15 ---
(In reply to comment #4)

 Then use -Os every where instead.  You will see that the overall code 
 size for 4.1
 has reduced from 4.0.

That might be true, but -Os is not always an option. If there's a good reason
for -O2 to generate bigger code, then so be it, but that does not seem to be the
case for the code in this PR (at least AFAICT).

-- 


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


[Bug rtl-optimization/23524] bigger version of mov + cmp produced

2005-08-22 Thread dann at godzilla dot ics dot uci dot edu

--- Additional Comments From dann at godzilla dot ics dot uci dot edu  
2005-08-23 05:55 ---
Created an attachment (id=9560)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9560action=view)
Testcase for this bug


-- 


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