This is the mail archive of the
mailing list for the GCC project.
Re: Performance regression
- From: Roger Sayle <roger at eyesopen dot com>
- To: Jim Wilson <wilson at redhat dot com>
- Cc: Dale Johannesen <dalej at apple dot com>, <gcc at gcc dot gnu dot org>, <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 25 Sep 2002 09:44:57 -0600 (MDT)
- Subject: Re: Performance regression
On 25 Sep 2002, Jim Wilson wrote:
> This has been discussed many times before. The only way to avoid performance
> loss from changing the semantics of LOAD_EXTEND_OP is to add new optimizer
> support for sign/zero extend operations.
> Since we went ahead with the LOAD_EXTEND_OP change to fix optimizer bugs,
> it would be useful if someone was looking into the new optimization support
> we need. Maybe it can go on the projects list? Add support for optimizing
> sign/zero extend operations. Some problems can be fixed by being careful
> in the md file, but some problems can be solved only with an optimization
> pass that is designed to optimize away redundant sign/zero extend operations.
I'm more than happy to work on adding some sign/zero extend optimizations
to the GCC's RTL optimizers. I just didn't want to clash with Dale, if
Apple wanted to start work on it straight away. Just to be clear, which
new optimizations did you have in mind?
My list includes simplify_unary_operation support for replacing zero
and sign extension of memory oprands with subregs, and tweaking some
of my constant-folding of AND_EXPRs to use SUBREGs instead of zero or
sign extension when its known the top bits will be masked/ignored.
Anything else that I'm obviously missing?
Roger Sayle, E-mail: firstname.lastname@example.org
OpenEye Scientific Software, WWW: http://www.eyesopen.com/
Suite 1107, 3600 Cerrillos Road, Tel: (+1) 505-473-7385
Santa Fe, New Mexico, 87507. Fax: (+1) 505-473-0833