[Committed] PR14261 ifcvt: Handle INSV patterns properly when a temp reg is needed

Roger Sayle roger@eyesopen.com
Sun Apr 23 14:47:00 GMT 2006


Hi Andreas,

On Wed, 19 Apr 2006, Andreas Krebbel wrote:
> However gcc creates wrong code for it without:
> http://gcc.gnu.org/ml/gcc-patches/2006-03/msg01793.html

Ahh, sorry for the chicken and egg situation.  I was wondering why
it was taking a while to commit your change after the approval,
but I'd forgotten about the patch interdependency on s390/s390x.
The second patch alone was a regression fix for IA-64, and atleast
cured the ICE on s390.

The first patch, the one cited above, is also OK for mainline, but
now that the ICE is resolved it would be nice to add an execution
test to the testsuite to confirm that the code generation problem is
fixed and doesn't regress in future.  A suitable execution test
case is pre-approved, though you should post it to this list when
you commit it.

Let's keep an eye out for potential problems, though I suspect
that paradoxical SUBREGs in store_bit_field on BIG_ENDIAN targets
are an extremely rare combination.

Many thanks again for fixing both of these issues.  Let's wait
to see how these two patches perform on mainline before we decide
about 4.1; either to apply your safe fix (and potentially loose
performance on some targets), or to backport the "better" fix to
minimize the divergence between mainline and 4.1, and improve the
code generated on s390/IA-64.  Thanks also to Jim for also double
checking this fix.

Roger
--



More information about the Gcc-patches mailing list