https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24929
Andrew Pinski changed:
What|Removed |Added
Target Milestone|--- |4.3.0
Resolution|---
--- Comment #6 from steven at gcc dot gnu dot org 2006-09-20 22:19 ---
*** Bug 28405 has been marked as a duplicate of this bug. ***
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Comment #7 from aldot at gcc dot gnu dot org 2009-06-04 18:18 ---
(In reply to comment #5)
> movzbl 18(%esp), %eax
>
> could be used in this particular case.
4.3.3 onward seem to do that. Fixed?
$ for i in 4.2 4.3 4.4 4.5.orig-HEAD;do printf "### %s\n" $(gcc-$i
-dumpvers
--- Comment #4 from ian at airs dot com 2006-06-27 06:05 ---
With my current version of the lower-subreg patch, I get this with -O2
-momit-leaf-frame-pointer:
f:
movl16(%esp), %eax
movl4(%esp), %ecx
movl8(%esp), %edx
shrl$16, %eax
--- Comment #5 from uros at kss-loka dot si 2006-06-27 10:12 ---
(In reply to comment #4)
> which may be optimal.
movzbl 18(%esp), %eax
could be used in this particular case.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24929
--- Comment #2 from ian at airs dot com 2006-02-02 18:14 ---
With an updated version of RTH's subreg lowering pass, I get this instruction
sequence:
f:
movl16(%esp), %eax
movl4(%esp), %edx
movl8(%esp), %ecx
shrl$16, %eax
andl$2
--- Comment #3 from pinskia at gcc dot gnu dot org 2006-02-02 18:16 ---
Confirmed.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNCON
--- Comment #1 from tkho at ucla dot edu 2005-11-18 02:35 ---
Created an attachment (id=10273)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10273&action=view)
shift/mask long long testcase
Here is a rough instruction-count comparison for f() compiled at -O2,
march=pentiumpro betw