I am trying to cross compile a program on an i7 CPU
for a target "Intel(R) Celeron(R) M processor
1.50GHz". Here is `cat /proc/cpuinfo` for the target:
In my attempt to find the proper architecture name I
gcc -march=native -Q --help=target | grep -- '-march=' | cut -f3
which gave me "pentium-m". Normally for gcc I would
CFLAGS="-O3 -pipe -march=pentium-m -mtune=pentium-m"
However as per the subject of this message it seems
Clang doesn't recognize this target and throws a
series of similar errors:
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
Still from that it is not clear which valid one I
should use. I could not find the answer by searching
the web either.
What target should I use and how can I optimize the
build for it?
P. S. I am not a developer. Using llvm and clang build
by myself from source code:
clang version 8.0.0 (trunk 342820)
Thread model: posix
Found candidate GCC installation: /usr/lib64/gcc/x86_64-suse-linux/7
Selected GCC installation: /usr/lib64/gcc/x86_64-suse-linux/7
Candidate multilib: .;@m64
Selected multilib: .;@m64