<div dir="ltr">Clang is rejecting pentium-m because the compiler is trying to output 64-bit mode code presumably because your host OS is a 64-bit OS. 64-bit code won't run on pentium-m. I apologize that the error message for that is bad.<div><br></div><div>Add -m32 to your command line and that should fix it.<br><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">~Craig</div></div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Nov 22, 2018 at 2:05 PM George via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I asked this in cfe-users in September but<br>
unfortunately it didn't receive much attention and<br>
remains unresolved.<br>
<br>
I am trying to cross compile a program on an i7 CPU<br>
for a target "Intel(R) Celeron(R) M processor<br>
1.50GHz". Here is `cat /proc/cpuinfo` for the target:<br>
<br>
<a href="https://susepaste.org/40af776d" rel="noreferrer" target="_blank">https://susepaste.org/40af776d</a><br>
<br>
In my attempt to find the proper architecture name I<br>
ran on the target:<br>
<br>
gcc -march=native -Q --help=target | grep -- '-march=' | cut -f3<br>
<br>
which gave me "pentium-m". Normally for gcc I would<br>
use:<br>
<br>
CFLAGS="-O3 -pipe -march=pentium-m -mtune=pentium-m"<br>
<br>
However as per the subject of this message it seems<br>
Clang doesn't recognize this target and throws a<br>
series of similar errors:<br>
<br>
error: unknown target CPU 'pentium-m'<br>
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<br>
<br>
Then I found this info:<br>
<br>
<a href="https://stackoverflow.com/a/35061913" rel="noreferrer" target="_blank">https://stackoverflow.com/a/35061913</a><br>
<br>
which suggests running:<br>
<br>
$ llc --version<br>
(to show supported architectures)<br>
<br>
$ llc -march=ARCH -mattr=help<br>
(to list "available CPUs" and "available features")<br>
<br>
So I found for my case:<br>
<br>
$ llc -march=x86 -mattr=help<br>
Available CPUs for this target:<br>
...<br>
pentium-m      - Select the pentium-m processor.<br>
...<br>
<br>
And I modified my script to use:<br>
<br>
CFLAGS='-O3 -march=x86 -mtune=pentium-m'<br>
<br>
Unfortunately clang complains again:<br>
<br>
error: unknown target CPU 'x86'<br>
note: valid target CPU values are: (same old list)<br>
<br>
I hope someone can shed some light on all this. There<br>
seem to be others complaining from the lack of info.<br>
<br>
What target should I use and how can I optimize the<br>
build for it?<br>
<br>
-- <br>
George<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>