This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Should we compile x86-64 ld.so with -mno-sse -mno-sse?
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Ondrej Bilka <neleai at seznam dot cz>
- Cc: Richard Henderson <rth at twiddle dot net>, "Carlos O'Donell" <carlos at systemhalted dot org>, Andreas Jaeger <aj at suse dot com>, libc-alpha at sourceware dot org
- Date: Thu, 1 Nov 2012 16:20:00 -0700
- Subject: Re: Should we compile x86-64 ld.so with -mno-sse -mno-sse?
- References: <20121031132245.GA2117@gmail.com><2353366.qlHrN9GaAk@byrd><CAE2sS1gsk4rLVj9duAy7Ws_3a9ywnY7NdaYb8iGxGayXaju5Lw@mail.gmail.com><5091AD68.4020806@twiddle.net><CAMe9rOprLQuxXFMEgABYNRO=WKwb6MymPPVa5OpmdWm7wrMT8A@mail.gmail.com><20121101112319.GA28424@popelka.ms.mff.cuni.cz>
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.