(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
mips/
msa-dotp.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-mno-mips16 -mfp64 -mhard-float -mmsa" } */
       3  
       4  typedef int v4i32 __attribute__ ((vector_size(16)));
       5  typedef long long v2i64 __attribute__ ((vector_size(16)));
       6  
       7  /* Test MSA dot product family for CSE optimization.  */
       8  
       9  static v4i32 g = {0, 92, 93, 94};
      10  static v4i32 h = {12, 24, 36, 48};
      11  static v2i64 l = {84, 98};
      12  
      13  void
      14  dotp_d_msa (v2i64 *c)
      15  {
      16    l = __builtin_msa_dotp_s_d (g, h);
      17  }
      18  /* { dg-final { scan-assembler "dotp_s.d" } }  */
      19  
      20  void
      21  dpadd_d_msa (v2i64 *c)
      22  {
      23    *c = __builtin_msa_dpadd_s_d (l, g, h);
      24  }
      25  /* { dg-final { scan-assembler "dpadd_s.d" } }  */
      26  
      27  void
      28  dpsub_d_msa (v2i64 *c)
      29  {
      30    *c = __builtin_msa_dpsub_s_d (l, g, h);
      31  }
      32  /* { dg-final { scan-assembler "dpsub_s.d" } }  */