* [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).