aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Sawdey <acsawdey@linux.vnet.ibm.com>2021-05-24 14:51:05 -0500
committerAaron Sawdey <acsawdey@linux.vnet.ibm.com>2021-06-09 10:20:27 -0500
commit40ff0cc27d489a7ac02cdfab74f4cc5b5cb42cb2 (patch)
treeaf36bceb66625533322090873b14b28f2fd32d6a
parent374f93da97fb0378453d503f3cfea4d7a923a89c (diff)
downloadgcc-40ff0cc27d489a7ac02cdfab74f4cc5b5cb42cb2.zip
gcc-40ff0cc27d489a7ac02cdfab74f4cc5b5cb42cb2.tar.gz
gcc-40ff0cc27d489a7ac02cdfab74f4cc5b5cb42cb2.tar.bz2
Fix p10 fusion test cases for -m32
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. 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.
-rw-r--r--gcc/testsuite/gcc.target/powerpc/fusion-p10-2logical.c394
-rw-r--r--gcc/testsuite/gcc.target/powerpc/fusion-p10-addadd.c19
-rw-r--r--gcc/testsuite/gcc.target/powerpc/fusion-p10-ldcmpi.c34
-rw-r--r--gcc/testsuite/gcc.target/powerpc/fusion-p10-logadd.c133
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 } } } */