On Tue, Oct 30, 2018 at 10:22:48AM -0500, Aaron Sawdey wrote:
> I had to make one more change to make this actually work. In
> rs6000_force_indexed_or_indirect_mem() it was necessary to
> return the updated rtx.
Yes, that probably work better ;-)
> Bootstrap/regtest passes on ppc64le (power7, pow
I had to make one more change to make this actually work. In
rs6000_force_indexed_or_indirect_mem() it was necessary to
return the updated rtx.
Bootstrap/regtest passes on ppc64le (power7, power9), ok for trunk?
Thanks!
Aaron
2018-10-30 Aaron Sawdey
* config/rs6000/rs6000.md (bswa
Hi again,
On Mon, Oct 29, 2018 at 09:39:59AM -0500, Aaron Sawdey wrote:
> * config/rs6000/rs6000.md (bswapdi2): Force address into register
> if not in one already.
This isn't very correct, could you rephrase?
> +void
> +rs6000_force_indexed_or_indirect_mem (rtx x)
> +{
> + rtx addr
On 10/27/18 12:52 PM, Segher Boessenkool wrote:
> Hi Aaron,
>
> On Sat, Oct 27, 2018 at 11:20:01AM -0500, Aaron Sawdey wrote:
>> --- gcc/config/rs6000/rs6000.md (revision 265393)
>> +++ gcc/config/rs6000/rs6000.md (working copy)
>> @@ -2512,9 +2512,27 @@
>>if (TARGET_POWERPC64 && TAR
Hi Aaron,
On Sat, Oct 27, 2018 at 11:20:01AM -0500, Aaron Sawdey wrote:
> --- gcc/config/rs6000/rs6000.md (revision 265393)
> +++ gcc/config/rs6000/rs6000.md (working copy)
> @@ -2512,9 +2512,27 @@
>if (TARGET_POWERPC64 && TARGET_LDBRX)
> {
>if (MEM_P (src))
> - em
At Segher's suggestion, I looked into changing the predicates on
bswapdi2_{load,store}
from memory_operand to indexed_or_indirect_operand and putting some code into
bswapdi2
to make the address indirect if it wasn't already.
The motivating case for this was the code I was seeing for the gpr expa