Hi!

On Wed, Feb 03, 2021 at 02:37:05PM +0800, Kewen.Lin wrote:
> This patch merges the previously approved one[1] and its relied patch
> made by Segher here[2], it's to make unsigned int vector init go with
> rldimi to merge two integers instead of shift and ior.

> gcc/ChangeLog:
> 
> 2020-02-03  Segher Boessenkool  <seg...@kernel.crashing.org>
>           Kewen Lin  <li...@gcc.gnu.org>
> 
>       * config/rs6000/rs6000.md (*rotl<mode>3_insert_3): Renamed to...
>       (rotl<mode>3_insert_3): ...this.
>       (plus_ior_xor): New code_iterator.
>       (define_split for GPR rl*imi): New splitter.
>       * config/rs6000/vsx.md (vsx_init_v4si): Use gen_rotldi3_insert_3
>       for integer merging.
> 
> gcc/testsuite/ChangeLog:
> 
>       * gcc.target/powerpc/vec-init-10.c: New test.

Is there a PR you should mention here?

> +/* { dg-final { scan-assembler-not "sldi" } } */
> +/* { dg-final { scan-assembler-not "or" } } */
> +/* { dg-final { scan-assembler-times {\mrldimi\M} 4 } } */

/* { dg-final { scan-assembler-not {\msldi\M} } } */
/* { dg-final { scan-assembler-not {\mor\M} } } */
/* { dg-final { scan-assembler-times {\mrldimi\M} 4 } } */

Okay for trunk with that tweak.  Thanks!


Segher

Reply via email to