Ping.

On 11/22/21 1:38 PM, Pat Haugen via Gcc-patches wrote:
> Updated version of the patch. Changes made from original are updated 
> commentary to hopefully aid readability, no functional changes.
> 
> 
> Implement more two insn constants.  rotate_and_mask_constant covers
> 64-bit constants that can be formed by rotating a 16-bit signed
> constant, rotating a 16-bit signed constant masked on left or right
> (rldicl and rldicr), rotating a 16-bit signed constant masked by
> rldic, and unusual "lis; rldicl" and "lis; rldicr" patterns.  All the
> values possible for DImode rs6000_is_valid_and_mask are covered.
> 
> Bootstrapped and regression tested on powerpc64(32/64) and powerpc64le.
> Ok for master?
> 
> -Pat
> 
> 
> 2021-11-22  Alan Modra  <amo...@gmail.com>
>           Pat Haugen  <pthau...@linux.ibm.com>
> 
>       PR 94393
> gcc/
>       * config/rs6000/rs6000.c (rotate_di, is_rotate_positive_constant,
>       is_rotate_negative_constant, rotate_and_mask_constant): New functions.
>       (num_insns_constant_multi, rs6000_emit_set_long_const): Use it here.
>       * config/rs6000/rs6000.md (*movdi_internal64+1 splitter): Delete.
> gcc/testsuite/
>       * gcc.target/powerpc/rot_cst.h,
>       * gcc.target/powerpc/rot_cst1.c,
>       * gcc.target/powerpc/rot_cst2.c: New tests.
> 

Reply via email to