1  /* Verify that overloaded built-ins for vec_msum with __int128
       2     inputs generate the proper code.  */
       3  
       4  /* { dg-do compile } */
       5  /* { dg-require-effective-target powerpc_p9vector_ok } */
       6  /* { dg-require-effective-target int128 } */
       7  /* { dg-options "-mdejagnu-cpu=power9  -O3" } */
       8  
       9  #include <altivec.h>
      10  
      11  vector signed __int128
      12  test_msum_si (vector signed long long vsll_1, vector signed long long vsll_2,
      13  	   vector signed __int128 vsi128)
      14  {
      15    return vec_msum (vsll_1, vsll_2, vsi128);
      16  }
      17  
      18  vector unsigned __int128
      19  test_msum_ui (vector unsigned long long vull_1, vector unsigned long long vull_2,
      20  	   vector unsigned __int128 vui128)
      21  {
      22    return vec_msum (vull_1, vull_2, vui128);
      23  }
      24  
      25  /* { dg_final { scan_assembler_times "vmsumudm" 2 } } */
      26