(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
cpu-builtin-1.c
       1  /* { dg-do compile } */
       2  /* { dg-skip-if "" { powerpc*-*-darwin* } } */
       3  
       4  void
       5  use_cpu_is_builtins (unsigned int *p)
       6  {
       7    /* If GCC was configured to use an old GLIBC (before 2.23), the
       8       __builtin_cpu_is and __builtin_cpu_supports built-in functions return 0,
       9       and the compiler issues a warning that you need a newer glibc to use them.
      10       Use #ifdef to avoid the warning.  */
      11  #ifdef __BUILTIN_CPU_SUPPORTS__
      12    p[0] = __builtin_cpu_is ("power9");
      13    p[1] = __builtin_cpu_is ("power8");
      14    p[2] = __builtin_cpu_is ("power7");
      15    p[3] = __builtin_cpu_is ("power6x");
      16    p[4] = __builtin_cpu_is ("power6");
      17    p[5] = __builtin_cpu_is ("power5+");
      18    p[6] = __builtin_cpu_is ("power5");
      19    p[7] = __builtin_cpu_is ("ppc970");
      20    p[8] = __builtin_cpu_is ("power4");
      21    p[9] = __builtin_cpu_is ("ppca2");
      22    p[10] = __builtin_cpu_is ("ppc476");
      23    p[11] = __builtin_cpu_is ("ppc464");
      24    p[12] = __builtin_cpu_is ("ppc440");
      25    p[13] = __builtin_cpu_is ("ppc405");
      26    p[14] = __builtin_cpu_is ("ppc-cell-be");
      27    p[15] = __builtin_cpu_is ("power10");
      28  #else
      29    p[0] = 0;
      30  #endif
      31  }
      32  
      33  void
      34  use_cpu_supports_builtins (unsigned int *p)
      35  {
      36  #ifdef __BUILTIN_CPU_SUPPORTS__
      37    p[0] = __builtin_cpu_supports ("4xxmac");
      38    p[1] = __builtin_cpu_supports ("altivec");
      39    p[2] = __builtin_cpu_supports ("arch_2_05");
      40    p[3] = __builtin_cpu_supports ("arch_2_06");
      41    p[4] = __builtin_cpu_supports ("arch_2_07");
      42    p[5] = __builtin_cpu_supports ("arch_3_00");
      43    p[6] = __builtin_cpu_supports ("archpmu");
      44    p[7] = __builtin_cpu_supports ("booke");
      45    p[8] = __builtin_cpu_supports ("cellbe");
      46    p[9] = __builtin_cpu_supports ("dfp");
      47    p[10] = __builtin_cpu_supports ("dscr");
      48    p[11] = __builtin_cpu_supports ("ebb");
      49    p[12] = __builtin_cpu_supports ("efpdouble");
      50    p[13] = __builtin_cpu_supports ("efpsingle");
      51    p[14] = __builtin_cpu_supports ("fpu");
      52    p[15] = __builtin_cpu_supports ("htm");
      53    p[16] = __builtin_cpu_supports ("htm-nosc");
      54    p[17] = __builtin_cpu_supports ("ic_snoop");
      55    p[18] = __builtin_cpu_supports ("ieee128");
      56    p[19] = __builtin_cpu_supports ("isel");
      57    p[20] = __builtin_cpu_supports ("mmu");
      58    p[21] = __builtin_cpu_supports ("notb");
      59    p[22] = __builtin_cpu_supports ("pa6t");
      60    p[23] = __builtin_cpu_supports ("power4");
      61    p[24] = __builtin_cpu_supports ("power5");
      62    p[25] = __builtin_cpu_supports ("power5+");
      63    p[26] = __builtin_cpu_supports ("power6x");
      64    p[27] = __builtin_cpu_supports ("ppc32");
      65    p[28] = __builtin_cpu_supports ("ppc601");
      66    p[29] = __builtin_cpu_supports ("ppc64");
      67    p[30] = __builtin_cpu_supports ("ppcle");
      68    p[31] = __builtin_cpu_supports ("smt");
      69    p[32] = __builtin_cpu_supports ("spe");
      70    p[33] = __builtin_cpu_supports ("tar");
      71    p[34] = __builtin_cpu_supports ("true_le");
      72    p[35] = __builtin_cpu_supports ("ucache");
      73    p[36] = __builtin_cpu_supports ("vcrypto");
      74    p[37] = __builtin_cpu_supports ("vsx");
      75    p[38] = __builtin_cpu_supports ("darn");
      76    p[39] = __builtin_cpu_supports ("scv");
      77    p[40] = __builtin_cpu_supports ("htm-no-suspend");
      78    p[41] = __builtin_cpu_supports ("arch_3_1");
      79    p[42] = __builtin_cpu_supports ("mma");
      80  #else
      81    p[0] = 0;
      82  #endif
      83  }