[Bug rtl-optimization/23523] peephole2 causes code size on i686

2006-02-11 Thread steven at gcc dot gnu dot org


--- Comment #13 from steven at gcc dot gnu dot org  2006-02-11 11:27 ---
GCC 4.2 gives me the code with eax again.


-- 


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



[Bug rtl-optimization/23523] peephole2 causes code size on i686

2006-02-11 Thread steven at gcc dot gnu dot org


--- Comment #14 from steven at gcc dot gnu dot org  2006-02-11 11:36 ---
And so does GCC 4.1.


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||WORKSFORME


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



[Bug rtl-optimization/23523] peephole2 causes code size on i686

2006-02-11 Thread hjl at lucon dot org


--- Comment #15 from hjl at lucon dot org  2006-02-11 20:17 ---
FYI, -march=i686 turns on -mtune=generic32 in 4.2, while it turns on
-mtune=pentiumpro in gcc 4.0 and 4.1. I backported the patch to 4.1:

http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01436.html


-- 


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



[Bug rtl-optimization/23523] peephole2 causes code size on i686

2005-11-02 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2005-11-03 01:04 ---
This is actually invalid as nothing happens for -Os case so what you are seeing
is just an atrifact.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID


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



[Bug rtl-optimization/23523] peephole2 causes code size on i686

2005-11-02 Thread dann at godzilla dot ics dot uci dot edu


--- Comment #5 from dann at godzilla dot ics dot uci dot edu  2005-11-03 
01:27 ---
(In reply to comment #4)
 This is actually invalid as nothing happens for -Os case so what you are 
 seeing
 is just an atrifact.

Sorry but this explanation for marking the PR invalid does not make sense.
The code in question is generated using -O2 not -Os.
IMO the observation in comment #3 is important, and there should be some
explanation for it. 


-- 

dann at godzilla dot ics dot uci dot edu changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|INVALID |


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



[Bug rtl-optimization/23523] peephole2 causes code size on i686

2005-11-02 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2005-11-03 01:39 ---
The use of ax vs cx will not matter in the real world.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||INVALID


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



[Bug rtl-optimization/23523] peephole2 causes code size on i686

2005-11-02 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2005-11-03 01:42 ---
Remember if you care about code size use -Os.


-- 


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



[Bug rtl-optimization/23523] peephole2 causes code size on i686

2005-11-02 Thread dann at godzilla dot ics dot uci dot edu


--- Comment #8 from dann at godzilla dot ics dot uci dot edu  2005-11-03 
02:12 ---
(In reply to comment #6)
 The use of ax vs cx will not matter in the real world.

This is from a real world program (xterm) and it seems to matter, when using
eax the code is smaller.

Are you sure that the fact that eax is not used does not cover some other
problem? 
Are the free registers picked at random for peepholes? 
It might be the case that 4.0 was just using eax by chance, but that does not
mean the PR should be dismissed as invalid without understanding the underlying
problem.


-- 

dann at godzilla dot ics dot uci dot edu changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|INVALID |


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



[Bug rtl-optimization/23523] peephole2 causes code size on i686

2005-11-02 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2005-11-03 02:15 ---
Have you tested the speed?  As I said I really doubt it makes a real world
change in terms of speed.  This is different from code size.  If you want it
smaller use -Os or -march=pentium3 (as i686 is faster when splitting up the
complex instructions).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|WAITING


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



[Bug rtl-optimization/23523] peephole2 causes code size on i686

2005-11-02 Thread dann at godzilla dot ics dot uci dot edu


--- Comment #10 from dann at godzilla dot ics dot uci dot edu  2005-11-03 
02:34 ---
(In reply to comment #9)
 Have you tested the speed?  As I said I really doubt it makes a real world
 change in terms of speed.  This is different from code size.

I am not sure what kind of answer you expect here. 
Speed and code size are not disjoint. Think about I-cache and I-TLB misses.


-- 


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



[Bug rtl-optimization/23523] peephole2 causes code size on i686

2005-11-02 Thread pinskia at gcc dot gnu dot org


--- Comment #11 from pinskia at gcc dot gnu dot org  2005-11-03 02:40 
---
(In reply to comment #10)
 I am not sure what kind of answer you expect here. 
 Speed and code size are not disjoint. Think about I-cache and I-TLB misses.
But again who is using an pentiumpro machine any more.  People who really care
about preformance in code really should be tunning for their machine.  Xterm is
not a good example of a program which really needs more speed.  Also you are
going to get a lot of Icache missed anyways as the machine is going to be
switching between processes more offten than actually doing anything with this
instruction.  Now if you can prove that using -march=pentium3 (or 4 depending
on your target) will be worse then just maybe.  But otherwise this is invalid. 
Yes most distros defaultly compile for pentiumpro (i686) but that is not GCC's
fault as this is actually faster for the pentumpro.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


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



[Bug rtl-optimization/23523] peephole2 causes code size on i686

2005-11-02 Thread dann at godzilla dot ics dot uci dot edu


--- Comment #12 from dann at godzilla dot ics dot uci dot edu  2005-11-03 
07:51 ---
(In reply to comment #11)
 (In reply to comment #10)
  I am not sure what kind of answer you expect here. 
  Speed and code size are not disjoint. Think about I-cache and I-TLB misses.
 But again who is using an pentiumpro machine any more.  People who really care

The code generated -march=pentium3 or -march=pentium-m generate the same code.

If you want to close this bug please address the technical issues about
peepholes in comment #8.


-- 

dann at godzilla dot ics dot uci dot edu changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|INVALID |


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