[cfe-dev] Preventing clang from generating SSE2 symbols

Eli Friedman eli.friedman at gmail.com
Wed Mar 21 11:55:15 PDT 2012


On Wed, Mar 21, 2012 at 4:35 AM, İsmail Dönmez <ismail at namtrac.org> wrote:
> Hi;
>
> For 32bit clang builds I need to target i586 as the lowest base, which means
> no SSE2 support. While configuring llvm I pass
>
> --host=i586-linux \
> --target=i586-linux \
>
> And stage2 build always contain SSE2 instructions:
>
> [/havana]> objdump -d
> /havana/build-cache/build-root-openSUSE_12.1-i586/home/abuild/rpmbuild/BUILD/llvm-3.0/stage2/Release/lib/libLLVM*|grep
> movsd.*eax.*xmm0
>     1568:       f2 0f 10 00             movsd  (%eax),%xmm0
>     16f0:       f2 0f 10 00             movsd  (%eax),%xmm0
>     480c:       f2 0f 10 40 04          movsd  0x4(%eax),%xmm0
>     679d:       f2 0f 10 00             movsd  (%eax),%xmm0
>     3f4b:       f2 0f 10 40 04          movsd  0x4(%eax),%xmm0
>     5232:       f2 0f 10 40 04          movsd  0x4(%eax),%xmm0
> [...]
>
>
> Any idea how can I prevent clang from generating SSE2 symbols for i586
> builds?

Put "-march=i586" into your CFLAGS?

-Eli




More information about the cfe-dev mailing list