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

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

> Begin forwarded message:
> 
> From: Aaron Sawdey <acsaw...@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: seg...@kernel.crashing.org, wschm...@linux.ibm.com, 
> will_schm...@vnet.ibm.com, Aaron Sawdey <acsaw...@linux.vnet.ibm.com>
> 
> From: Aaron Sawdey <acsaw...@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
> 

Reply via email to