Hi!

On Fri, Dec 20, 2019 at 06:47:28PM -0500, Michael Meissner wrote:
> Then I realized that eventaully we will want to generate an X-FORM (register +
> register) address, and it was just simpler to use the 'Q' constraint, and have
> the register allocator put the address into a register.

Yep, good call.

>       * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
>       Use 'Q' for memory constraints because we need to do an X-FORM
>       load with the variable index.
>       (vsx_extract_v4sf_var): Use 'Q' for memory constraints because we
>       need to do an X-FORM load with the variable index.

This comment is a headscratcher -- but you shouldn't say "why" in
changelogs at all, so that is an easy fix ;-)

>       (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator):Use 'Q' for

(missing space)

>       memory constraints because we need to do an X-FORM load with the
>       variable index.
>       (vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for memory
>       constraints because we need to do an X-FORM load with the variable
>       index.

(and more)

> -;; Variable V2DI/V2DF extract
> +;; Variable V2DI/V2DF extract.  Use 'Q' for the memory because we will
> +;; ultimately have to convert the address into base + index.

Maybe just don't write anything at all, since it is hard to explain in a
few words?  It is clear that "Q" is not a usual constraint, anyway :-)

Okay for trunk like that.  Thanks!


Segher

Reply via email to