84 lines
3.0 KiB
C
84 lines
3.0 KiB
C
/* { dg-do compile } */
|
|
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
|
|
|
|
void
|
|
use_cpu_is_builtins (unsigned int *p)
|
|
{
|
|
/* If GCC was configured to use an old GLIBC (before 2.23), the
|
|
__builtin_cpu_is and __builtin_cpu_supports built-in functions return 0,
|
|
and the compiler issues a warning that you need a newer glibc to use them.
|
|
Use #ifdef to avoid the warning. */
|
|
#ifdef __BUILTIN_CPU_SUPPORTS__
|
|
p[0] = __builtin_cpu_is ("power9");
|
|
p[1] = __builtin_cpu_is ("power8");
|
|
p[2] = __builtin_cpu_is ("power7");
|
|
p[3] = __builtin_cpu_is ("power6x");
|
|
p[4] = __builtin_cpu_is ("power6");
|
|
p[5] = __builtin_cpu_is ("power5+");
|
|
p[6] = __builtin_cpu_is ("power5");
|
|
p[7] = __builtin_cpu_is ("ppc970");
|
|
p[8] = __builtin_cpu_is ("power4");
|
|
p[9] = __builtin_cpu_is ("ppca2");
|
|
p[10] = __builtin_cpu_is ("ppc476");
|
|
p[11] = __builtin_cpu_is ("ppc464");
|
|
p[12] = __builtin_cpu_is ("ppc440");
|
|
p[13] = __builtin_cpu_is ("ppc405");
|
|
p[14] = __builtin_cpu_is ("ppc-cell-be");
|
|
p[15] = __builtin_cpu_is ("power10");
|
|
#else
|
|
p[0] = 0;
|
|
#endif
|
|
}
|
|
|
|
void
|
|
use_cpu_supports_builtins (unsigned int *p)
|
|
{
|
|
#ifdef __BUILTIN_CPU_SUPPORTS__
|
|
p[0] = __builtin_cpu_supports ("4xxmac");
|
|
p[1] = __builtin_cpu_supports ("altivec");
|
|
p[2] = __builtin_cpu_supports ("arch_2_05");
|
|
p[3] = __builtin_cpu_supports ("arch_2_06");
|
|
p[4] = __builtin_cpu_supports ("arch_2_07");
|
|
p[5] = __builtin_cpu_supports ("arch_3_00");
|
|
p[6] = __builtin_cpu_supports ("archpmu");
|
|
p[7] = __builtin_cpu_supports ("booke");
|
|
p[8] = __builtin_cpu_supports ("cellbe");
|
|
p[9] = __builtin_cpu_supports ("dfp");
|
|
p[10] = __builtin_cpu_supports ("dscr");
|
|
p[11] = __builtin_cpu_supports ("ebb");
|
|
p[12] = __builtin_cpu_supports ("efpdouble");
|
|
p[13] = __builtin_cpu_supports ("efpsingle");
|
|
p[14] = __builtin_cpu_supports ("fpu");
|
|
p[15] = __builtin_cpu_supports ("htm");
|
|
p[16] = __builtin_cpu_supports ("htm-nosc");
|
|
p[17] = __builtin_cpu_supports ("ic_snoop");
|
|
p[18] = __builtin_cpu_supports ("ieee128");
|
|
p[19] = __builtin_cpu_supports ("isel");
|
|
p[20] = __builtin_cpu_supports ("mmu");
|
|
p[21] = __builtin_cpu_supports ("notb");
|
|
p[22] = __builtin_cpu_supports ("pa6t");
|
|
p[23] = __builtin_cpu_supports ("power4");
|
|
p[24] = __builtin_cpu_supports ("power5");
|
|
p[25] = __builtin_cpu_supports ("power5+");
|
|
p[26] = __builtin_cpu_supports ("power6x");
|
|
p[27] = __builtin_cpu_supports ("ppc32");
|
|
p[28] = __builtin_cpu_supports ("ppc601");
|
|
p[29] = __builtin_cpu_supports ("ppc64");
|
|
p[30] = __builtin_cpu_supports ("ppcle");
|
|
p[31] = __builtin_cpu_supports ("smt");
|
|
p[32] = __builtin_cpu_supports ("spe");
|
|
p[33] = __builtin_cpu_supports ("tar");
|
|
p[34] = __builtin_cpu_supports ("true_le");
|
|
p[35] = __builtin_cpu_supports ("ucache");
|
|
p[36] = __builtin_cpu_supports ("vcrypto");
|
|
p[37] = __builtin_cpu_supports ("vsx");
|
|
p[38] = __builtin_cpu_supports ("darn");
|
|
p[39] = __builtin_cpu_supports ("scv");
|
|
p[40] = __builtin_cpu_supports ("htm-no-suspend");
|
|
p[41] = __builtin_cpu_supports ("arch_3_1");
|
|
p[42] = __builtin_cpu_supports ("mma");
|
|
#else
|
|
p[0] = 0;
|
|
#endif
|
|
}
|