[Bug target/92602] Failure in gcc.target/powerpc/bswap64-2.c
segher at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Nov 28 22:29:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92602
--- Comment #6 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Author: segher
Date: Thu Nov 28 22:28:59 2019
New Revision: 278821
URL: https://gcc.gnu.org/viewcvs?rev=278821&root=gcc&view=rev
Log:
rs6000: Use memory_operand for all simple {l,st}*brx instructions
We run fwprop before combine, very early even in the case of fwprop1;
and fwprop1 will change memory addressing to what it considers cheaper.
After the "common" change, it now changes the indexed store instruction
in the testcase to be to a constant address. But that is not an
improvement at all: the byte reverse instructions only exist in the
indexed form, so they will not match anymore.
This patch changes the patterns for the byte reverse instructions to
allow plain memory_operand, letting reload fix this up.
PR target/92602
* config/rs6000/rs6000.md (bswap<mode>2_load for HSI): Change the
indexed_or_indirect_operand to be memory_operand.
(bswap<mode>2_store for HSI): Ditto.
(bswapdi2_load): Ditto.
(bswapdi2_store): Ditto.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.md
More information about the Gcc-bugs
mailing list