From 4c4bebb834ec19d68ef7248510cfe2548d864454 Mon Sep 17 00:00:00 2001 From: Aaron Sawdey Date: Fri, 18 Jun 2021 12:47:03 -0500 Subject: [PATCH] Fix p10 fusion regtests Backported from trunk. Update the count of matches for the fusion combine patterns after the recent changes to them. At Segher's request, used \m and \M in the match patterns. Also I have grouped together all alternatives of each fusion insn, which should hopefully make this test a little less fragile. gcc/testsuite/ChangeLog * gcc.target/powerpc/fusion-p10-2logical.c: Update pattern match counts. * gcc.target/powerpc/fusion-p10-addadd.c: Update pattern match counts. * gcc.target/powerpc/fusion-p10-ldcmpi.c: Update pattern match counts. * gcc.target/powerpc/fusion-p10-logadd.c: Update pattern match counts. (cherry picked from commit a798b3f15c47be55f535b754932a820b858870a8) --- .../gcc.target/powerpc/fusion-p10-2logical.c | 285 +++++++++--------- .../gcc.target/powerpc/fusion-p10-addadd.c | 10 +- .../gcc.target/powerpc/fusion-p10-ldcmpi.c | 34 ++- .../gcc.target/powerpc/fusion-p10-logadd.c | 86 +++--- 4 files changed, 215 insertions(+), 200 deletions(-) diff --git a/gcc/testsuite/gcc.target/powerpc/fusion-p10-2logical.c b/gcc/testsuite/gcc.target/powerpc/fusion-p10-2logical.c index 9a2053735058..009a5f228d4c 100644 --- a/gcc/testsuite/gcc.target/powerpc/fusion-p10-2logical.c +++ b/gcc/testsuite/gcc.target/powerpc/fusion-p10-2logical.c @@ -64,142 +64,151 @@ 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,^.*\*,,' -e 's,/[0-9],/,' |sort -k 7,7 |uniq -c|awk '{l=30-length($2); printf("/%s* { %s { scan-assembler-times {\\m%s\\M}%-*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 {\mfuse_and_and\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_andc_and\M/} 96 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_andc_or\M/} 64 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_andc_orc\M/} 64 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_andc_xor\M/} 64 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_eqv\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_or\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_orc\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_xor\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_eqv_and\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_eqv_andc\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_eqv_or\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_and\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_andc\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_or\M/} 96 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_orc\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_and\M/} 96 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_andc\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_or\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_orc\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_and\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_andc\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_orc_and\M/} 64 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_orc_andc\M/} 64 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_orc_or\M/} 96 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_orc_xor\M/} 64 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_eqv\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_or\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_xor\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vandc_vand\M/} 24 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vandc_vor\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vandc_vorc\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vandc_vxor\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vand_vand\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vand_veqv\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vand_vor\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vand_vorc\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vand_vxor\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_veqv_vand\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_veqv_vandc\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_veqv_vor\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnand_vand\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnand_vandc\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnand_vor\M/} 24 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnand_vorc\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnor_vand\M/} 24 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnor_vandc\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnor_vor\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnor_vorc\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vorc_vand\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vorc_vandc\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vorc_vor\M/} 24 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vorc_vxor\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vor_vand\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vor_vandc\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vor_veqv\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vor_vor\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vor_vxor\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vand\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vandc\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_veqv\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vnand\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vor\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vorc\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vxor\M/} 8 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_and\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_andc\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_eqv\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_nand\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_or\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_orc\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_xor\M/} 32 { target lp64 } } } */ + +/* { dg-final { scan-assembler-times {\mfuse_and_and\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_andc_and\M/} 120 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_andc_or\M/} 80 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_andc_orc\M/} 80 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_andc_xor\M/} 80 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_eqv\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_or\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_orc\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_xor\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_eqv_and\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_eqv_andc\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_eqv_or\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_and\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_andc\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_or\M/} 120 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_orc\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_and\M/} 120 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_andc\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_or\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_orc\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_and\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_andc\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_orc_and\M/} 80 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_orc_andc\M/} 80 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_orc_or\M/} 120 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_orc_xor\M/} 80 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_eqv\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_or\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_xor\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vandc_vand\M/} 24 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vandc_vor\M/} 16 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vandc_vorc\M/} 16 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vandc_vxor\M/} 16 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vand_vand\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vand_veqv\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vand_vor\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vand_vorc\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vand_vxor\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_veqv_vand\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_veqv_vandc\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_veqv_vor\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnand_vand\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnand_vandc\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnand_vor\M/} 24 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnand_vorc\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnor_vand\M/} 24 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnor_vandc\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnor_vor\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vnor_vorc\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vorc_vand\M/} 16 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vorc_vandc\M/} 16 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vorc_vor\M/} 24 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vorc_vxor\M/} 16 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vor_vand\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vor_vandc\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vor_veqv\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vor_vor\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vor_vxor\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vand\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vandc\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_veqv\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vnand\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vor\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vorc\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vxor_vxor\M/} 8 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_and\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_andc\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_eqv\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_nand\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_or\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_orc\M/} 40 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_xor_xor\M/} 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 494ccdb5cdf0..68886b92ea29 100644 --- a/gcc/testsuite/gcc.target/powerpc/fusion-p10-addadd.c +++ b/gcc/testsuite/gcc.target/powerpc/fusion-p10-addadd.c @@ -32,9 +32,7 @@ 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 {\mfuse_add_add\M/} 3 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vaddudm_vaddudm\M/} 3 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_add_add\M/} 3 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_vaddudm_vaddudm\M/} 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 99f9e92eeaf2..ea1d5d01950d 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 b7022b2b61d7..b2fefe95169a 100644 --- a/gcc/testsuite/gcc.target/powerpc/fusion-p10-logadd.c +++ b/gcc/testsuite/gcc.target/powerpc/fusion-p10-logadd.c @@ -49,49 +49,45 @@ TEST(uint32_t); 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 {\mfuse_add_and\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_add_nand\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_add_nor\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_add_or\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_add\M/} 28 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_rsubf\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_subf\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_add\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_rsubf\M/} 4 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_subf\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_add\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_rsubf\M/} 4 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_subf\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_add\M/} 28 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_rsubf\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_subf\M/} 16 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_subf_and\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_subf_nand\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_subf_nor\M/} 32 { target lp64 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_subf_or\M/} 32 { target lp64 } } } */ + +/* { dg-final { scan-assembler-times {\mfuse_add_and\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_add_nand\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_add_nor\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_add_or\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_add\M/} 22 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_rsubf\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_and_subf\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_add\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_rsubf\M/} 2 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nand_subf\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_add\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_rsubf\M/} 2 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_nor_subf\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_add\M/} 22 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_rsubf\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_or_subf\M/} 12 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_subf_and\M/} 24 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_subf_nand\M/} 24 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_subf_nor\M/} 24 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times {\mfuse_subf_or\M/} 24 { target ilp32 } } } */ -- 2.47.2