On Thu, May 9, 2013 at 8:45 PM, Jakub Jelinek <ja...@redhat.com> wrote:
> This is something I've noticed while working on the rotate recognizer > patch I've just posted. We emit say > roll %eax > instead of > roll $1, %eax > because the former is shorter, but emit > roll $31, %eax > instead of the equivalent, but shorter > rorl %eax > The following patch let us optimize even those. Bootstrapped/regtested > on x86_64-linux and i686-linux, ok for trunk? > > 2013-05-09 Jakub Jelinek <ja...@redhat.com> > > * config/i386/i386.md (rotateinv): New code attr. > (*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext, > *<rotate_insn>qi3_1_slp): Emit rorl %eax instead of > roll $31, %eax, etc. OK. Thanks, Uros.