Should we compile x86-64 ld.so with -mno-sse -mno-sse?
H.J. Lu
hjl.tools@gmail.com
Thu Nov 1 23:20:00 GMT 2012
On Thu, Nov 1, 2012 at 4:23 AM, Ondrej Bilka <neleai@seznam.cz> wrote:
> On Wed, Oct 31, 2012 at 04:18:10PM -0700, H.J. Lu wrote:
>> On Wed, Oct 31, 2012 at 3:59 PM, Richard Henderson <rth@twiddle.net> wrote:
>> > On 2012-11-01 03:10, Carlos O'Donell wrote:
>> >> What use case is there for not wanting to touch SEE in ld.so?
>> >
>> > I can only imagine HJL is worried about AVX performance if the
>> > dynamic linker uses SSE insns.
>> >
>>
>> That is not the main reason. We make sure that ld.so string/memory
>> functions never touch SSE/AVX registers. It is not for performance,
>> but for correctness. Otherwise callee will get random values in
>> vector registers,
>
> Or we can save and restore used xmm registers or I am missing something?
But it will introduce extra over head for every symbol lookup
and it wouldn't be forward compatible with AVX since we would
only save/restore 128bit SSE registers, not 256bit AVX registers.
--
H.J.
More information about the Libc-alpha
mailing list