(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
vec-splat-constant-v4si.c
       1  /* { dg-do compile } */
       2  /* { dg-require-effective-target power10_ok } */
       3  /* { dg-options "-mdejagnu-cpu=power10 -O2" } */
       4  
       5  #include <altivec.h>
       6  
       7  /* Test whether XXSPLTIW is generated for V4SI vector constants.  We make sure
       8     the power9 support (XXSPLTIB/VEXTSB2W) is not done.  */
       9  
      10  vector int
      11  v4si_const_1 (void)
      12  {
      13    return (vector int) { 1, 1, 1, 1 };			/* VSLTPISW.  */
      14  }
      15  
      16  vector int
      17  v4si_const_126 (void)
      18  {
      19    return (vector int) { 126, 126, 126, 126 };		/* XXSPLTIW.  */
      20  }
      21  
      22  vector int
      23  v4si_const_1023 (void)
      24  {
      25    return (vector int) { 1023, 1023, 1023, 1023 };	/* XXSPLTIW.  */
      26  }
      27  
      28  vector int
      29  v4si_splats_1 (void)
      30  {
      31    return vec_splats (1);				/* VSLTPISW.  */
      32  }
      33  
      34  vector int
      35  v4si_splats_126 (void)
      36  {
      37    return vec_splats (126);				/* XXSPLTIW.  */
      38  }
      39  
      40  vector int
      41  v8hi_splats_1023 (void)
      42  {
      43    return vec_splats (1023);				/* XXSPLTIW.  */
      44  }
      45  
      46  /* { dg-final { scan-assembler-times {\mxxspltiw\M}  4 } } */
      47  /* { dg-final { scan-assembler-times {\mvspltisw\M}  2 } } */
      48  /* { dg-final { scan-assembler-not   {\mxxspltib\M}    } } */
      49  /* { dg-final { scan-assembler-not   {\mvextsb2w\M}    } } */
      50  /* { dg-final { scan-assembler-not   {\mlxvx?\M}       } } */
      51  /* { dg-final { scan-assembler-not   {\mplxv\M}        } } */