This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: SRA bit-field optimization
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Roman Zippel <zippel at linux-m68k dot org>, Bernd Schmidt <bernds_cb1 at t-online dot de>, Diego Novillo <dnovillo at acm dot org>, Daniel Berlin <dberlin at dberlin dot org>, Andrew Pinski <pinskia at gmail dot com>
- Date: Sun, 7 Oct 2007 11:03:33 +0200
- Subject: Re: SRA bit-field optimization
- References: <orfy4czoyq.fsf@oliva.athome.lsd.ic.unicamp.br> <200710050826.23560.ebotcazou@adacore.com> <or8x6hy2gi.fsf@free.oliva.athome.lsd.ic.unicamp.br>
> What pessimization?
The complex calculation now introduced by SRA:
SR.135_147 = SR.128_80 & 4294967295;
SR.138_83 = SR.130_124 >> 32;
SR.136_141 = (p__sm___XDLU_1__10) SR.138_83;
SR.139_140 = (UNSIGNED_64) SR.136_141;
SR.140_138 = SR.139_140 << 32;
SR.128_92 = SR.135_147 | SR.140_138;
SR.141_201 = SR.128_92 & 0x0ffffffff00000000;
SR.142_200 = (p__sm___XDLU_1__10) SR.130_124;
SR.144_199 = (UNSIGNED_64) SR.142_200;
SR.128_137 = SR.141_201 | SR.144_199;
It turns out that SR.128_137 is dead so the whole stuff is eliminated by the
first subsequent DCE pass, but I'm worried that it might not always be so.
I confirm that the verification failure of c37213b is fixed by the patch you
posted in your previous message, thanks!
--
Eric Botcazou