Я пытаюсь выполнить кросс-компиляцию программы на процессоре i7 для целевого «процессора Intel (R) Celeron (R) M 1,50 ГГц»). Здесь является cat /proc/cpuinfo
для цели.
В моей попытке найти правильное имя архитектуры я запустил:
gcc -march=native -Q --help=target | grep -- '-march=' | cut -f3
, что дало мне pentium-m
.Обычно для gcc
я бы использовал:
CFLAGS="-O2 -pipe -march=pentium-m -mtune=pentium-m"
Однако в соответствии с темой этого сообщения кажется, что Clang не распознает эту цель и выдает серию похожих ошибок:
error: unknown target CPU 'pentium-m'
note: valid target CPU values are: nocona, core2, penryn, bonnell, atom, silvermont, goldmont-plus, tremont, nehalem, corei7, westmere, sandybridge, corei7-avx, iavx-i, haswell, core-avx2, broadwell, skylake, skylake-avx512, skx, cannonlake, iicelake-server, knl, knm, k8, athlon64, athlon-fx, opteron, k8-sse3, athlon64-sse, amdfam10, barcelona, btver1, btver2, bdver1, bdver2, bdver3, bdver4, znver1, x8
Тем не менее из этого не ясно, какие из известных мне следует использовать.Поэтому мой вопрос:
Какую цель я должен использовать и как мне оптимизировать сборку для нее?
PS Я не разработчик.Я также не смог найти ответ, выполнив поиск в Интернете, и в списке рассылки LLVM нет ответа.