This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: extend fwprop optimization
- From: Wei Mi <wmi at google dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Uros Bizjak <ubizjak at gmail dot com>, Richard Biener <richard dot guenther at gmail dot com>, Steven Bosscher <stevenb dot gcc at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, David Li <davidxl at google dot com>, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Wed, 3 Apr 2013 13:44:15 -0700
- Subject: Re: extend fwprop optimization
- References: <CABu31nOtV85auTQa8mGFZ6Lnz81VQPbgoeXGLsu58PB0nLJ9JQ at mail dot gmail dot com> <CA+4CFy5fYFpUK3FmmWoVTrSxBamGhBy=+_dQEa24TSVLY62SiQ at mail dot gmail dot com> <CA+4CFy5qgj_vxOxouauPvwAWA77sWe6wmrN9MW90fOZVhS7KnQ at mail dot gmail dot com> <CAFiYyc2oGc4DArocxSdYbscDbmrsLWFgqJPWCfUD5pK5C6o+GQ at mail dot gmail dot com> <CA+4CFy4=k!GL8b0AHfu=U+hTmYyhuUQEZKOMH0mRQ8u-GaL4BOg at mail dot gmail dot com> <CA+4CFy6=aETCjpoGHm22r5siwaYC1OzNDg08Jk=Ro8Uu3ZzvQQ at mail dot gmail dot com> <CAFiYyc3AfECj8j8Bzo+-Fv+Fm9+RbO3T=xG4sjH+3KFuJ_2Xgw at mail dot gmail dot com> <CAFULd4bZzRK5e6ozfpvjhGanVwFzw3y=3R7ee8ztWsRuuT1URA at mail dot gmail dot com> <CA+4CFy69iy0ABe1QbWZmTrkrcxYqvTxDBf-Lfd+ZbwSWRNx5sQ at mail dot gmail dot com> <CAFULd4aKwRTU3mmZXViQawrD5Efv9-qw37WZENTc-Lxad1p5aQ at mail dot gmail dot com> <20130403180823 dot GH4201 at tucnak dot redhat dot com>
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 <jakub@redhat.com> wrote:
> On Thu, Mar 28, 2013 at 04:49:47PM +0100, Uros Bizjak wrote:
>> 2013-03-27 Wei Mi <wmi@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 <jakub@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