public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH,rs6000] Fix p10 fusion test cases for -m32
       [not found] <1621968336-99949-1-git-send-email-acsawdey@linux.ibm.com>
@ 2021-05-26 21:53 ` Aaron Sawdey
  2021-06-09 14:38   ` Segher Boessenkool
  0 siblings, 1 reply; 2+ messages in thread
From: Aaron Sawdey @ 2021-05-26 21:53 UTC (permalink / raw)
  To: gcc-patches; +Cc: Segher Boessenkool

For some reason this never showed up on gcc-patches, trying again.

Aaron Sawdey, Ph.D. sawdey@linux.ibm.com
IBM Linux on POWER Toolchain
 

> Begin forwarded message:
> 
> From: Aaron Sawdey <acsawdey@linux.ibm.com>
> Subject: [PATCH,rs6000] Fix p10 fusion test cases for -m32
> Date: May 25, 2021 at 1:45:36 PM CDT
> To: gcc-patches@gcc.gnu.org
> Cc: segher@kernel.crashing.org, wschmidt@linux.ibm.com, will_schmidt@vnet.ibm.com, Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
> 
> From: Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
> 
> The counts of fusion insns are slightly different for 32-bit compiles
> so we need different scan-assembler-times counts for 32 and 64 bit
> in the test cases for p10 fusion.
> 
> Is this test case cleanup ok for trunk (and eventually 11.2 when
> the other fusion patches go there)?
> 
> Thanks!
>   Aaron
> 
> gcc/testsuite/ChangeLog
> 
> 	* gcc.target/powerpc/fusion-p10-2logical.c: Update fused insn
> 	counts to test 32 and 64 bit separately.
> 	* gcc.target/powerpc/fusion-p10-addadd.c: Update fused insn
> 	counts to test 32 and 64 bit separately.
> 	* gcc.target/powerpc/fusion-p10-ldcmpi.c: Update fused insn
> 	counts to test 32 and 64 bit separately.
> 	* gcc.target/powerpc/fusion-p10-logadd.c: Update fused insn
> 	counts to test 32 and 64 bit separately.
> ---
> .../gcc.target/powerpc/fusion-p10-2logical.c       | 394 ++++++++++++++-------
> .../gcc.target/powerpc/fusion-p10-addadd.c         |  19 +-
> .../gcc.target/powerpc/fusion-p10-ldcmpi.c         |  34 +-
> .../gcc.target/powerpc/fusion-p10-logadd.c         | 133 ++++---
> 4 files changed, 382 insertions(+), 198 deletions(-)
> 
> diff --git a/gcc/testsuite/gcc.target/powerpc/fusion-p10-2logical.c b/gcc/testsuite/gcc.target/powerpc/fusion-p10-2logical.c
> index 9a20537..de22176 100644
> --- a/gcc/testsuite/gcc.target/powerpc/fusion-p10-2logical.c
> +++ b/gcc/testsuite/gcc.target/powerpc/fusion-p10-2logical.c
> @@ -64,142 +64,262 @@ TEST(vboolchar_t);
> TEST(vuint_t);
> 
> /* Recreate with:
> -   grep ' \*fuse_' fusion-p10-2logical.s|sed -e 's,^.*\*,,' |sort -k 7,7 |uniq -c|awk '{l=30-length($2); printf("/%s* { %s { scan-assembler-times \"%s\"%-*s        %4d } } *%s/\n","","dg-final",$2,l,"",$1,"");}'
> +   grep ' \*fuse_' fusion-p10-2logical.s|sed -e 's,^.*\*,,' |sort -k 7,7 |uniq -c|awk '{l=30-length($2); printf("/%s* { %s { scan-assembler-times \"%s\"%-*s        %4d { target lp64 } } } *%s/\n","","dg-final",$2,l,"",$1,"");}'
>  */
> 
> -/* { dg-final { scan-assembler-times "fuse_and_and/1"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_and/2"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_and/0"                         16 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_and/1"                         26 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_and/2"                         48 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_and/3"                          6 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_or/0"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_or/1"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_or/2"                          32 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_orc/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_orc/1"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_orc/2"                         48 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_xor/0"                         16 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_xor/1"                         16 } } */
> -/* { dg-final { scan-assembler-times "fuse_andc_xor/2"                         32 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_eqv/0"                           8 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_eqv/2"                          24 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_or/0"                           16 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_or/2"                           16 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_orc/0"                           8 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_orc/2"                          24 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_xor/0"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_xor/2"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_eqv_and/0"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_eqv_and/2"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_eqv_andc/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_eqv_andc/2"                         24 } } */
> -/* { dg-final { scan-assembler-times "fuse_eqv_or/0"                            8 } } */
> -/* { dg-final { scan-assembler-times "fuse_eqv_or/2"                           24 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_and/0"                         16 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_and/2"                         16 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_andc/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_andc/2"                        24 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_or/0"                          14 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_or/1"                           2 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_or/2"                          72 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_or/3"                           8 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_orc/2"                         24 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_orc/3"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_and/0"                          28 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_and/1"                           4 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_and/2"                          48 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_and/3"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_andc/2"                         24 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_andc/3"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_or/0"                            8 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_or/2"                           24 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_orc/0"                           8 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_orc/2"                          24 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_and/0"                           16 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_and/2"                           16 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_andc/0"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_andc/2"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_and/0"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_and/1"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_and/2"                          32 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_andc/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_andc/1"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_andc/2"                         48 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_or/0"                            8 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_or/1"                           10 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_or/2"                           72 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_or/3"                            6 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_xor/0"                           8 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_xor/1"                           8 } } */
> -/* { dg-final { scan-assembler-times "fuse_orc_xor/2"                          48 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_eqv/0"                            8 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_eqv/2"                           24 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_or/1"                            16 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_or/2"                            16 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_xor/0"                           16 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_xor/2"                           16 } } */
> -/* { dg-final { scan-assembler-times "fuse_vandc_vand/0"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vandc_vand/1"                       10 } } */
> -/* { dg-final { scan-assembler-times "fuse_vandc_vand/3"                        6 } } */
> -/* { dg-final { scan-assembler-times "fuse_vandc_vor/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vandc_vor/1"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vandc_vorc/0"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vandc_vorc/1"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vandc_vxor/0"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vandc_vxor/1"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vand_vand/1"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vand_veqv/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vand_vor/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vand_vorc/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vand_vxor/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_veqv_vand/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_veqv_vandc/0"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_veqv_vor/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnand_vand/0"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnand_vandc/0"                       8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnand_vor/0"                        14 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnand_vor/1"                         2 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnand_vor/3"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnand_vorc/3"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnor_vand/0"                        14 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnor_vand/1"                         2 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnor_vand/3"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnor_vandc/3"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnor_vor/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vnor_vorc/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vorc_vand/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vorc_vand/1"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vorc_vandc/0"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vorc_vandc/1"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vorc_vor/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vorc_vor/1"                         10 } } */
> -/* { dg-final { scan-assembler-times "fuse_vorc_vor/3"                          6 } } */
> -/* { dg-final { scan-assembler-times "fuse_vorc_vxor/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vorc_vxor/1"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vor_vand/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vor_vandc/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vor_veqv/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vor_vor/1"                           8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vor_vxor/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vxor_vand/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vxor_vandc/0"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vxor_veqv/3"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vxor_vnand/0"                        8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vxor_vor/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vxor_vorc/0"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_vxor_vxor/1"                         8 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_and/0"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_and/2"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_andc/0"                         16 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_andc/2"                         16 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_eqv/2"                          24 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_eqv/3"                           8 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_nand/0"                          8 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_nand/2"                         24 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_or/0"                           16 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_or/2"                           16 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_orc/0"                           8 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_orc/2"                          24 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_xor/1"                          16 } } */
> -/* { dg-final { scan-assembler-times "fuse_xor_xor/2"                          16 } } */
> +/* { dg-final { scan-assembler-times "fuse_and_and/1"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_and/2"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_and/0"                         16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_and/1"                         26 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_and/2"                         48 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_and/3"                          6 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_or/0"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_or/1"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_or/2"                          32 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_orc/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_orc/1"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_orc/2"                         48 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_xor/0"                         16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_xor/1"                         16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_xor/2"                         32 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_eqv/0"                           8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_eqv/2"                          24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_or/0"                           16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_or/2"                           16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_orc/0"                           8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_orc/2"                          24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_xor/0"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_xor/2"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_eqv_and/0"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_eqv_and/2"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_eqv_andc/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_eqv_andc/2"                         24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_eqv_or/0"                            8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_eqv_or/2"                           24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_and/0"                         16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_and/2"                         16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_andc/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_andc/2"                        24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_or/0"                          14 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_or/1"                           2 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_or/2"                          72 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_or/3"                           8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_orc/2"                         24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_orc/3"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_and/0"                          28 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_and/1"                           4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_and/2"                          48 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_and/3"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_andc/2"                         24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_andc/3"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_or/0"                            8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_or/2"                           24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_orc/0"                           8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_orc/2"                          24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_and/0"                           16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_and/2"                           16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_andc/0"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_andc/2"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_and/0"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_and/1"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_and/2"                          32 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_andc/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_andc/1"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_andc/2"                         48 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_or/0"                            8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_or/1"                           10 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_or/2"                           72 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_or/3"                            6 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_xor/0"                           8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_xor/1"                           8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_xor/2"                          48 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_eqv/0"                            8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_eqv/2"                           24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_or/1"                            16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_or/2"                            16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_xor/0"                           16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_xor/2"                           16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vand/0"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vand/1"                       10 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vand/3"                        6 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vor/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vor/1"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vorc/0"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vorc/1"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vxor/0"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vxor/1"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vand_vand/1"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vand_veqv/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vand_vor/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vand_vorc/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vand_vxor/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_veqv_vand/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_veqv_vandc/0"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_veqv_vor/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vand/0"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vandc/0"                       8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vor/0"                        14 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vor/1"                         2 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vor/3"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vorc/3"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vand/0"                        14 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vand/1"                         2 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vand/3"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vandc/3"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vor/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vorc/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vand/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vand/1"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vandc/0"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vandc/1"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vor/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vor/1"                         10 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vor/3"                          6 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vxor/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vxor/1"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vor_vand/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vor_vandc/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vor_veqv/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vor_vor/1"                           8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vor_vxor/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vand/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vandc/0"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_veqv/3"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vnand/0"                        8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vor/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vorc/0"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vxor/1"                         8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_and/0"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_and/2"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_andc/0"                         16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_andc/2"                         16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_eqv/2"                          24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_eqv/3"                           8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_nand/0"                          8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_nand/2"                         24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_or/0"                           16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_or/2"                           16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_orc/0"                           8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_orc/2"                          24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_xor/1"                          16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_xor/2"                          16 { target lp64 } } } */
> +
> +/* { dg-final { scan-assembler-times "fuse_and_and/1"                          40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_and/0"                         40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_and/1"                         56 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_and/3"                         24 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_or/0"                          40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_or/1"                          40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_orc/0"                         32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_orc/1"                         32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_orc/2"                         16 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_xor/0"                         40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_andc_xor/1"                         40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_eqv/0"                          32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_eqv/2"                           8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_or/0"                           40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_orc/0"                          32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_orc/2"                           8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_xor/0"                          40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_eqv_and/0"                          40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_eqv_andc/0"                         32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_eqv_andc/2"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_eqv_or/0"                           32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_eqv_or/2"                            8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_and/0"                         40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_andc/0"                        32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_andc/2"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_or/0"                          56 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_or/1"                           8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_or/2"                          24 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_or/3"                          32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_orc/2"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_orc/3"                         32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_and/0"                          70 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_and/1"                          10 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_and/3"                          40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_andc/2"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_andc/3"                         32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_or/0"                           32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_or/2"                            8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_orc/0"                          32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_orc/2"                           8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_and/0"                           40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_andc/0"                          40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_and/0"                          40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_and/1"                          40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_andc/0"                         32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_andc/1"                         32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_andc/2"                         16 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_or/0"                           32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_or/1"                           40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_or/2"                           24 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_or/3"                           24 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_xor/0"                          32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_xor/1"                          32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_orc_xor/2"                          16 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_eqv/0"                           32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_eqv/2"                            8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_or/1"                            40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_xor/0"                           40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vand/0"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vand/1"                       10 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vand/3"                        6 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vor/0"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vor/1"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vorc/0"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vorc/1"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vxor/0"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vandc_vxor/1"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vand_vand/1"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vand_veqv/0"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vand_vor/0"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vand_vorc/0"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vand_vxor/0"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_veqv_vand/0"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_veqv_vandc/0"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_veqv_vor/0"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vand/0"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vandc/0"                       8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vor/0"                        14 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vor/1"                         2 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vor/3"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnand_vorc/3"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vand/0"                        14 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vand/1"                         2 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vand/3"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vandc/3"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vor/0"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vnor_vorc/0"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vand/0"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vand/1"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vandc/0"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vandc/1"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vor/0"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vor/1"                         10 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vor/3"                          6 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vxor/0"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vorc_vxor/1"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vor_vand/0"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vor_vandc/0"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vor_veqv/0"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vor_vor/1"                           8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vor_vxor/0"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vand/0"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vandc/0"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_veqv/3"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vnand/0"                        8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vor/0"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vorc/0"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vxor_vxor/1"                         8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_and/0"                          40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_andc/0"                         40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_eqv/2"                           8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_eqv/3"                          32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_nand/0"                         32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_nand/2"                          8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_or/0"                           40 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_orc/0"                          32 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_orc/2"                           8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_xor_xor/1"                          40 { target ilp32 } } } */
> +
> diff --git a/gcc/testsuite/gcc.target/powerpc/fusion-p10-addadd.c b/gcc/testsuite/gcc.target/powerpc/fusion-p10-addadd.c
> index 494ccdb..f70b56a 100644
> --- a/gcc/testsuite/gcc.target/powerpc/fusion-p10-addadd.c
> +++ b/gcc/testsuite/gcc.target/powerpc/fusion-p10-addadd.c
> @@ -32,9 +32,16 @@ vlong vaddadd2(vlong s, vlong a, vlong b, vlong c)
>   return a+b+c;
> }
> 
> -/* { dg-final { scan-assembler-times "fuse_add_add/0"                1 } } */
> -/* { dg-final { scan-assembler-times "fuse_add_add/1"                1 } } */
> -/* { dg-final { scan-assembler-times "fuse_add_add/2"                1 } } */
> -/* { dg-final { scan-assembler-times "fuse_vaddudm_vaddudm/0"        1 } } */
> -/* { dg-final { scan-assembler-times "fuse_vaddudm_vaddudm/1"        1 } } */
> -/* { dg-final { scan-assembler-times "fuse_vaddudm_vaddudm/2"        1 } } */
> +/* { dg-final { scan-assembler-times "fuse_add_add/0"                1 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_add/1"                1 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_add/2"                1 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vaddudm_vaddudm/0"        1 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vaddudm_vaddudm/1"        1 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vaddudm_vaddudm/2"        1 { target lp64 } } } */
> +
> +/* { dg-final { scan-assembler-times "fuse_add_add/0"                1 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_add/1"                1 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_add/2"                1 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vaddudm_vaddudm/0"        0 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vaddudm_vaddudm/1"        0 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_vaddudm_vaddudm/2"        0 { target ilp32 } } } */
> diff --git a/gcc/testsuite/gcc.target/powerpc/fusion-p10-ldcmpi.c b/gcc/testsuite/gcc.target/powerpc/fusion-p10-ldcmpi.c
> index 99f9e92..ea1d5d0 100644
> --- a/gcc/testsuite/gcc.target/powerpc/fusion-p10-ldcmpi.c
> +++ b/gcc/testsuite/gcc.target/powerpc/fusion-p10-ldcmpi.c
> @@ -53,14 +53,26 @@ TEST(int16_t)
> TEST(uint8_t)
> TEST(int8_t)
> 
> -/* { dg-final { scan-assembler-times "lbz_cmpldi_cr0_QI_clobber_CCUNS_zero"   2 } } */
> -/* { dg-final { scan-assembler-times "ld_cmpdi_cr0_DI_DI_CC_none"             4 } } */
> -/* { dg-final { scan-assembler-times "ld_cmpdi_cr0_DI_clobber_CC_none"        4 } } */
> -/* { dg-final { scan-assembler-times "ld_cmpldi_cr0_DI_DI_CCUNS_none"         1 } } */
> -/* { dg-final { scan-assembler-times "ld_cmpldi_cr0_DI_clobber_CCUNS_none"    1 } } */
> -/* { dg-final { scan-assembler-times "lha_cmpdi_cr0_HI_clobber_CC_sign"       8 } } */
> -/* { dg-final { scan-assembler-times "lhz_cmpldi_cr0_HI_clobber_CCUNS_zero"   2 } } */
> -/* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_EXTSI_CC_sign"         3 } } */
> -/* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_clobber_CC_none"       4 } } */
> -/* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_EXTSI_CCUNS_zero"     2 } } */
> -/* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_clobber_CCUNS_none"   2 } } */
> +/* { dg-final { scan-assembler-times "lbz_cmpldi_cr0_QI_clobber_CCUNS_zero"   2 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "ld_cmpdi_cr0_DI_DI_CC_none"             4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "ld_cmpdi_cr0_DI_clobber_CC_none"        4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "ld_cmpldi_cr0_DI_DI_CCUNS_none"         1 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "ld_cmpldi_cr0_DI_clobber_CCUNS_none"    1 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "lha_cmpdi_cr0_HI_clobber_CC_sign"       8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "lhz_cmpldi_cr0_HI_clobber_CCUNS_zero"   2 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_EXTSI_CC_sign"         3 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_clobber_CC_none"       4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_EXTSI_CCUNS_zero"     2 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_clobber_CCUNS_none"   2 { target lp64 } } } */
> +
> +/* { dg-final { scan-assembler-times "lbz_cmpldi_cr0_QI_clobber_CCUNS_zero"   2 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "ld_cmpdi_cr0_DI_DI_CC_none"             0 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "ld_cmpdi_cr0_DI_clobber_CC_none"        0 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "ld_cmpldi_cr0_DI_DI_CCUNS_none"         0 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "ld_cmpldi_cr0_DI_clobber_CCUNS_none"    0 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "lha_cmpdi_cr0_HI_clobber_CC_sign"       8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "lhz_cmpldi_cr0_HI_clobber_CCUNS_zero"   2 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_EXTSI_CC_sign"         0 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "lwa_cmpdi_cr0_SI_clobber_CC_none"       9 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_EXTSI_CCUNS_zero"     0 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "lwz_cmpldi_cr0_SI_clobber_CCUNS_none"   6 { target ilp32 } } } */
> diff --git a/gcc/testsuite/gcc.target/powerpc/fusion-p10-logadd.c b/gcc/testsuite/gcc.target/powerpc/fusion-p10-logadd.c
> index b7022b2..21d7f40 100644
> --- a/gcc/testsuite/gcc.target/powerpc/fusion-p10-logadd.c
> +++ b/gcc/testsuite/gcc.target/powerpc/fusion-p10-logadd.c
> @@ -50,48 +50,93 @@ TEST(int32_t);
> TEST(uint64_t);
> TEST(int64_t);
> 
> -/* { dg-final { scan-assembler-times "fuse_nand_rsubf/0"   2 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_rsubf/2"   2 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_rsubf/0"    2 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_rsubf/2"    2 } } */
> -/* { dg-final { scan-assembler-times "fuse_add_nand/0"     4 } } */
> -/* { dg-final { scan-assembler-times "fuse_add_nor/0"      4 } } */
> -/* { dg-final { scan-assembler-times "fuse_add_or/0"       4 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_rsubf/0"    4 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_subf/0"     4 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_add/0"     4 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_subf/0"    4 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_add/0"      4 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_subf/0"     4 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_rsubf/0"     4 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_subf/0"      4 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_nand/0"    4 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_nand/1"    4 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_nor/0"     4 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_nor/1"     4 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_or/0"      4 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_or/1"      4 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_add/0"      6 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_add/0"       6 } } */
> -/* { dg-final { scan-assembler-times "fuse_add_and/0"      8 } } */
> -/* { dg-final { scan-assembler-times "fuse_add_and/2"      8 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_and/0"     8 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_and/1"     8 } } */
> -/* { dg-final { scan-assembler-times "fuse_add_nand/2"    12 } } */
> -/* { dg-final { scan-assembler-times "fuse_add_nor/2"     12 } } */
> -/* { dg-final { scan-assembler-times "fuse_add_or/2"      12 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_rsubf/2"   12 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_subf/2"    12 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_add/2"    12 } } */
> -/* { dg-final { scan-assembler-times "fuse_nand_subf/2"   12 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_add/2"     12 } } */
> -/* { dg-final { scan-assembler-times "fuse_nor_subf/2"    12 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_rsubf/2"    12 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_subf/2"     12 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_and/2"    16 } } */
> -/* { dg-final { scan-assembler-times "fuse_and_add/2"     22 } } */
> -/* { dg-final { scan-assembler-times "fuse_or_add/2"      22 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_nand/2"   24 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_nor/2"    24 } } */
> -/* { dg-final { scan-assembler-times "fuse_subf_or/2"     24 } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_rsubf/0"   2 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_rsubf/2"   2 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_rsubf/0"    2 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_rsubf/2"    2 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_nand/0"     4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_nor/0"      4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_or/0"       4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_rsubf/0"    4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_subf/0"     4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_add/0"     4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_subf/0"    4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_add/0"      4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_subf/0"     4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_rsubf/0"     4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_subf/0"      4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nand/0"    4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nand/1"    4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nor/0"     4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nor/1"     4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_or/0"      4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_or/1"      4 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_add/0"      6 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_add/0"       6 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_and/0"      8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_and/2"      8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_and/0"     8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_and/1"     8 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_nand/2"    12 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_nor/2"     12 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_or/2"      12 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_rsubf/2"   12 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_subf/2"    12 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_add/2"    12 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_subf/2"   12 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_add/2"     12 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_subf/2"    12 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_rsubf/2"    12 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_subf/2"     12 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_and/2"    16 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_add/2"     22 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_add/2"      22 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nand/2"   24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nor/2"    24 { target lp64 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_or/2"     24 { target lp64 } } } */
> +
> +/* { dg-final { scan-assembler-times "fuse_nand_rsubf/0"   2 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_rsubf/2"   0 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_rsubf/0"    2 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_rsubf/2"    0 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_nand/0"     4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_nor/0"      4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_or/0"       4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_rsubf/0"    4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_subf/0"     4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_add/0"     4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_subf/0"    4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_add/0"      4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_subf/0"     4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_rsubf/0"     4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_subf/0"      4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nand/0"    4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nand/1"    4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nor/0"     4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nor/1"     4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_or/0"      4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_or/1"      4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_add/0"      6 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_add/0"       6 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_and/0"      8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_and/2"      4 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_and/0"     8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_and/1"     8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_nand/2"     8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_nor/2"      8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_add_or/2"       8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_rsubf/2"    8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_subf/2"     8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_add/2"     8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nand_subf/2"    8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_add/2"      8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_nor_subf/2"     8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_rsubf/2"     8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_subf/2"      8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_and/2"     8 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_and_add/2"     16 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_or_add/2"      16 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nand/2"   16 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_nor/2"    16 { target ilp32 } } } */
> +/* { dg-final { scan-assembler-times "fuse_subf_or/2"     16 { target ilp32 } } } */
> 
> -- 
> 1.8.3.1
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH,rs6000] Fix p10 fusion test cases for -m32
  2021-05-26 21:53 ` [PATCH,rs6000] Fix p10 fusion test cases for -m32 Aaron Sawdey
@ 2021-06-09 14:38   ` Segher Boessenkool
  0 siblings, 0 replies; 2+ messages in thread
From: Segher Boessenkool @ 2021-06-09 14:38 UTC (permalink / raw)
  To: Aaron Sawdey; +Cc: gcc-patches

On Wed, May 26, 2021 at 04:53:24PM -0500, Aaron Sawdey wrote:
> > The counts of fusion insns are slightly different for 32-bit compiles
> > so we need different scan-assembler-times counts for 32 and 64 bit
> > in the test cases for p10 fusion.

Have you checked all of these actually make sense?  It seems too be
two themes: long long being two regs / two insns on 32-bit, and the
you get cmpld etc. only on 64-bit?

Okay for trunk if this is actually the expected output.  Thanks!


Segher

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-06-09 14:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1621968336-99949-1-git-send-email-acsawdey@linux.ibm.com>
2021-05-26 21:53 ` [PATCH,rs6000] Fix p10 fusion test cases for -m32 Aaron Sawdey
2021-06-09 14:38   ` Segher Boessenkool

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).