------- Additional Comments From ebotcazou at gcc dot gnu dot org 2004-09-28 06:57
-------
It appears that we also made some progress for the second testcase. We now
generate at -O2 -mcpu=ultrasparc:
FirstOne:
add %sp, -120, %sp
std %o0, [%sp+96]
sllx %o0, 32, %o0
srl %o1, 0, %o1
or %o1, %o0, %o0
srlx %o0, 48, %o1
srlx %o1, 32, %o0
orcc %o0, %o1, %g0
be,pt %icc, .LL2
nop
sethi %hi(first_one), %g1
sub %sp, -120, %sp
or %g1, %lo(first_one), %g1
jmp %o7+8
ldub [%g1+%o1], %o0
so the 'save' instruction is not emitted anymore.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16532