| @@ -233,8 +233,27 @@ static int __builtin_cpu_supports(char* arg) | |||||
| } | } | ||||
| return 0; | return 0; | ||||
| } | } | ||||
| static int __builtin_cpu_is(char *arg) | |||||
| { | |||||
| static int ipinfo = -1; | |||||
| if (ipinfo < 0) { | |||||
| ipinfo = cpuid(); | |||||
| } | |||||
| if (ipinfo == CPU_POWER10) { | |||||
| if (!strcmp(arg, "power10")) return 1; | |||||
| } else if (ipinfo == CPU_POWER9) { | |||||
| if (!strcmp(arg, "power9")) return 1; | |||||
| } else if (ipinfo == CPU_POWER8) { | |||||
| if (!strcmp(arg, "power8")) return 1; | |||||
| } else if (ipinfo == CPU_POWER6) { | |||||
| if (!strcmp(arg, "power6")) return 1; | |||||
| } else { | |||||
| return 0; | |||||
| } | |||||
| } | |||||
| #endif | #endif | ||||
| #endif | |||||
| #endif /* _AIX */ | |||||
| static gotoblas_t *get_coretype(void) { | static gotoblas_t *get_coretype(void) { | ||||