Preventing clang from generating SSE2 symbols

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?

Regards,
ismail

Put "-march=i586" into your CFLAGS?

-Eli

Hi;