------- 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