[Bug rtl-optimization/23524] bigger version of mov + cmp produced
--- 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
--- 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
--- 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
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
--- 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
--- 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
--- 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