Should we compile x86-64 ld.so with -mno-sse -mno-sse?

Andreas Jaeger aj@suse.com
Fri Nov 2 08:35:00 GMT 2012


On 11/02/2012 12:20 AM, H.J. Lu wrote:
> 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.

HJ, will you work on a patch?

thanks,
Andreas
-- 
  Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
   SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
    GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
     GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126



More information about the Libc-alpha mailing list