(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
fold-vec-extract-float.p9.c
       1  /* Verify that overloaded built-ins for vec_extract() with float
       2     inputs produce the right code.  */
       3  
       4  /* { dg-do compile { target lp64 } } */
       5  /* { dg-require-effective-target powerpc_p9vector_ok } */
       6  /* { dg-options "-mdejagnu-cpu=power9 -O2 " } */
       7  
       8  /* { dg-final { scan-assembler-times {\mxscvspdp\M} 2 } } */
       9  /* { dg-final { scan-assembler-times {\mrldicl\M} 1 { target le } } } */
      10  /* { dg-final { scan-assembler-times {\msubfic\M} 1 { target le } } } */
      11  /* { dg-final { scan-assembler-times {\msldi\M} 1 } } */
      12  /* { dg-final { scan-assembler-times {\mmtvsrdd\M} 1 } } */
      13  /* { dg-final { scan-assembler-times {\mvslo\M} 1 } } */
      14  
      15  #include <altivec.h>
      16  
      17  float
      18  testf_var (vector float vf2, signed int si)
      19  {
      20    return vec_extract (vf2, si);
      21  }
      22  
      23  float
      24  testf_cst (vector float vf2)
      25  {
      26    return vec_extract (vf2, 12);
      27  }
      28