Hi,

On 08/10/26 12:33 PM, Kishan Parmar wrote:
> Hello All,
> 
> Changes from v2:
>       - Reverted changes to gcc/config/rs6000/predicates.md and
>         gcc/config/rs6000/vsx.md introduced in v2.
> 
> Changes from v1:
>         - Dropped pr123055.c testcase from previsous patch. The
>           existing pr116030.c already carries scan-assembler-not
>           "stxvd2x" assertion that matches the regression, making a
>           separate pr123055.c redundant.
> 
> Below patch is regtested and bootstrapped on power64le-linux-gnu.
> 
> Thank You,
> Kishan
> 
> PR123055 reports that gcc.target/powerpc/pr116030.c fails the
> scan-assembler-not "stxvd2x" assertion after r16-5947-ga6c50ec2c6ebcb,
> which introduced -ffuse-ops-with-volatile-access.
> 
> That commit allows volatile memory operands to satisfy general_operand,
> which is called by predicate 'memory_operand'. As a result,
> vsx_stxvd2x4_le_const_<mode> can match volatile destinations and emit
> stxvd2x.
> 
> The scan-assembler-not "stxvd2x" assertion in pr116030.c is not
> required, because the pattern vsx_stxvd2x4_le_const_<mode> is guarded
> by const_vec_duplicate_p, which ensures the source is a splat constant
> with all elements identical.  
> 
> For such a constant, stxvd2x stores the correct value because swapping
> two identical doublewords is a no-op.
> The new codegen is therefore correct.
> 
> 2026-10-08  Kishan Parmar  <[email protected]>
> 
> gcc/testsuite/ChangeLog:
>       PR target/123055
>       * gcc.target/powerpc/pr116030.c: Remove scan-assembler-not "stxvd2x"
>       assertion which is no longer valid after r16-5947-ga6c50ec2c6ebcb.

The Changelog contains 'what' has changed, not 'why' the change is needed.
So simply writing: Remove scan-assembler-not "stxvd2x"
is enough.

LGTM with the above change.

-Surya
> 
> ---
>  gcc/testsuite/gcc.target/powerpc/pr116030.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/gcc/testsuite/gcc.target/powerpc/pr116030.c 
> b/gcc/testsuite/gcc.target/powerpc/pr116030.c
> index da27106a5a7..3ffbacff0de 100644
> --- a/gcc/testsuite/gcc.target/powerpc/pr116030.c
> +++ b/gcc/testsuite/gcc.target/powerpc/pr116030.c
> @@ -5,7 +5,6 @@
>  /* Verify we do not ICE on the tests below.  */
>  
>  /* { dg-final { scan-assembler-not "rldicr" { target { le } } } } */
> -/* { dg-final { scan-assembler-not "stxvd2x" { target { le } } } } */
>  
>  union U128
>  {

Reply via email to