Thanks for helping fixing it. I will take care to verify regression and bootstrap before checkin to release branches next time.
Regards, Wei. On Wed, Apr 3, 2013 at 11:08 AM, Jakub Jelinek <ja...@redhat.com> wrote: > On Thu, Mar 28, 2013 at 04:49:47PM +0100, Uros Bizjak wrote: >> 2013-03-27 Wei Mi <w...@google.com> >> >> * config/i386/i386.md: Do shift truncation in define_insn >> instead of define_insn_and_split. >> >> Please write ChangeLog as: >> >> * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn. >> Truncate operand 2 using %b asm operand modifier. >> (*<shift_insn><mode>3_mask): Ditto. >> (*<rotate_insn><mode>3_mask): Ditto. >> >> OK for mainline and all release branches with these changes. > > This broke bootstrap on x86_64-linux as well as i686-linux on the 4.6 > branch. Fixed thusly, committed as obvious after bootstrapping/regtesting > on those targets. > > 2013-04-03 Jakub Jelinek <ja...@redhat.com> > > * config/i386/i386.md (*<shiftrt_insn><mode>3_mask): Use > <shiftrt> instead of <shift>. > > --- gcc/config/i386/i386.md.jj 2013-04-03 16:11:07.000000000 +0200 > +++ gcc/config/i386/i386.md 2013-04-03 17:42:15.034672014 +0200 > @@ -9827,7 +9827,7 @@ (define_insn "*<shiftrt_insn><mode>3_mas > && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (<MODE>mode)-1)) > == GET_MODE_BITSIZE (<MODE>mode)-1" > { > - return "<shift>{<imodesuffix>}\t{%b2, %0|%0, %b2}"; > + return "<shiftrt>{<imodesuffix>}\t{%b2, %0|%0, %b2}"; > } > [(set_attr "type" "ishift") > (set_attr "mode" "<MODE>")]) > > > Jakub