This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Combine performance regression (was: Fix PR target/18701)
- From: Ulrich Weigand <uweigand at de dot ibm dot com>
- To: rth at redhat dot com (Richard Henderson)
- Cc: Ulrich Weigand <uweigand at de dot ibm dot com>, hp at bitrange dot com (Hans-Peter Nilsson), roger at eyesopen dot com, gcc-patches at gcc dot gnu dot org
- Date: Fri, 21 Jan 2005 00:41:45 +0100 (CET)
- Subject: Re: Combine performance regression (was: Fix PR target/18701)
Richard Henderson wrote:
> On Thu, Jan 20, 2005 at 08:11:06PM +0100, Ulrich Weigand wrote:
> > Unfortunately I cannot use an immediate operand for the constant 255,
> > so I have to reload it into a register (or use memory), which means
> > I have to expose this detail before reload ...
>
> Or do either
[snip excellent suggestions]
I guess something along those lines could work; things are complicated
by the fact that AND will clobber the condition code while an actual
zero-extend from memory won't; also, the optimal location of the
constant varies between immediate, register, and memory depending
on the mode and which zSeries architecture I'm generating code for.
In fact I now recall I experimented with something like that a couple
of years ago and gave it up, because the .md file got very complex,
and I couldn't see any noticable gain. If you think this is valuable,
I'll try again ...
Bye,
Ulrich
--
Dr. Ulrich Weigand
Linux on zSeries Development
Ulrich.Weigand@de.ibm.com