Можно ли обмануть _builtin_cpu_ в проверке массива?

Я хотел написать программу, отображающую все параметры процессора на текущем процессоре.
Индивидуальные звонки, как эта работа:

if (__builtin_cpu_is("intel"))

Вместо этого я бы предпочел объявить массив:

const char* cpuType[] = {
"intel", "atom", "core2", "corei7", "nehalem",
"westmere", "sandybridge", "amd", "amdfam10h", "barcelona",
"shanghai", "istanbul", "btver1", "amdfam15h",
"bdver1", "bdver2", "bdver3", "bdver4", "btver2"}

и в цикле проверьте тоже самое:

for (int i = 0; i < sizeof(cputype)/sizeof(char*); i++)
if (__builtin_cpu_is(cpuType[i])

gcc отказывается, говоря, что это должна быть постоянная строка.

Есть ли способ заставить эту работу, кроме написания кода снова и снова?

1

Решение

Задача ещё не решена.

Другие решения