This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: SRA bit-field optimization
- From: Richard Sandiford <rsandifo at nildram dot co dot uk>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: "Richard Guenther" <richard dot guenther at gmail dot com>, "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>, "GCC Patches" <gcc-patches at gcc dot gnu dot org>, "Andrew Pinski" <pinskia at gmail dot com>, "Eric Botcazou" <ebotcazou at adacore dot com>, "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Date: Sat, 06 Oct 2007 09:01:51 +0100
- Subject: Re: SRA bit-field optimization
- References: <orfy4czoyq.fsf@oliva.athome.lsd.ic.unicamp.br> <Pine.LNX.4.64.0707030240580.1820@scrub.home> <orsl82szfw.fsf@oliva.athome.lsd.ic.unicamp.br> <or8x817e6t.fsf_-_@free.oliva.athome.lsd.ic.unicamp.br> <orzlz7iis1.fsf@free.oliva.athome.lsd.ic.unicamp.br> <84fc9c000710021015p4276c5d2s70c75e13a2225f30@mail.gmail.com> <87tzp8twxh.fsf@firetop.home> <or3aws3zz5.fsf@free.oliva.athome.lsd.ic.unicamp.br> <87bqbepsb5.fsf@firetop.home> <orwsu1wj8o.fsf@free.oliva.athome.lsd.ic.unicamp.br>
Alexandre Oliva <aoliva@redhat.com> writes:
> Anyhow, this patch, that supersedes the previous, fixes it, and with
> it the testcase appears to yield the correct result.
Thanks, the results after this patch are much better. As you say,
20000113-1.c is well and truly fixed. The only remaining C regressions are:
FAIL: gcc.c-torture/execute/20031211-1.c execution, -O1
FAIL: gcc.c-torture/execute/20031211-1.c execution, -O2
FAIL: gcc.c-torture/execute/20031211-1.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/20031211-1.c execution, -O3 -g
FAIL: gcc.c-torture/execute/20031211-1.c execution, -Os
FAIL: gcc.c-torture/execute/20040709-1.c execution, -Os
FAIL: gcc.c-torture/execute/20040709-2.c execution, -O1
FAIL: gcc.c-torture/execute/20040709-2.c execution, -O2
FAIL: gcc.c-torture/execute/20040709-2.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/20040709-2.c execution, -O3 -fomit-frame-pointer -funroll-loops
FAIL: gcc.c-torture/execute/20040709-2.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
FAIL: gcc.c-torture/execute/20040709-2.c execution, -O3 -g
FAIL: gcc.c-torture/execute/20040709-2.c execution, -Os
FAIL: gcc.c-torture/execute/920908-2.c execution, -O1
FAIL: gcc.c-torture/execute/920908-2.c execution, -O2
FAIL: gcc.c-torture/execute/920908-2.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/920908-2.c execution, -O3 -g
FAIL: gcc.c-torture/execute/920908-2.c execution, -Os
FAIL: gcc.c-torture/execute/950628-1.c execution, -Os
FAIL: gcc.c-torture/execute/991118-1.c compilation, -O3 -fomit-frame-pointer (internal compiler error)
FAIL: gcc.c-torture/execute/991118-1.c compilation, -O3 -g (internal compiler error)
FAIL: gcc.c-torture/execute/bf64-1.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/bf64-1.c execution, -O3 -g
20031211-1.c is a pleasingly simple testcase, and as with the original
20000113-1.c failure, it's optimised to abort() by final_cleanup.
Don't worry about the 991118-1.c failure. It's an RTL ICE, and probably
a config/mips bug. I'll have a look at it.
Richard