Hi!

On Mon, Nov 05, 2018 at 11:08:39AM -0600, Aaron Sawdey wrote:
> This does the same thing for bswap<mode>2 that I previously did for bswapdi2.
> The predicates for bswap<mode>2_{load,store} are now 
> indexed_or_indirect_operand,
> and bswap<mode>2 uses rs6000_force_indexed_or_indirect_mem to make sure the
> address is appropriate for that predicate.

This looks fine, one thing:

> --- gcc/config/rs6000/rs6000.md       (revision 265753)
> +++ gcc/config/rs6000/rs6000.md       (working copy)
> @@ -2411,9 +2411,15 @@
>      src = force_reg (<MODE>mode, src);
> 
>    if (MEM_P (src))
> -    emit_insn (gen_bswap<mode>2_load (dest, src));
> +    {
> +       src = rs6000_force_indexed_or_indirect_mem (src);
> +       emit_insn (gen_bswap<mode>2_load (dest, src));

These two lines are indented a space too much.

Okay with that fixed.  Thanks!


Segher

Reply via email to