This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: _dl_runtime_resolve_avx_slow clobbering xmm8
- From: Ivan Tubert-Brohman <ivan dot tubert-brohman at schrodinger dot com>
- To: Florian Weimer <fw at deneb dot enyo dot de>
- Cc: libc-help at sourceware dot org
- Date: Mon, 28 Aug 2017 14:48:19 -0400
- Subject: Re: _dl_runtime_resolve_avx_slow clobbering xmm8
- Authentication-results: sourceware.org; auth=none
- References: <CACmCNSxi2ijg3ALFmMUS7TY7srU7oXxYK_dxt=t6MV4qLwP53A@mail.gmail.com> <87378fbgxd.fsf@mid.deneb.enyo.de>
Hi Florian
Thank you for your reply! I somehow missed the thread you pointed me
to. We've filed a ticket with Intel.
Best,
Ivan
On Fri, Aug 25, 2017 at 3:12 PM, Florian Weimer <fw@deneb.enyo.de> wrote:
> * Ivan Tubert-Brohman:
>
>> My question here is, who is at fault? Is ifort making unfounded
>> assumptions about the persistence of xmm8, or is
>> _dl_runtime_resolve_avx_slow wrong in not preserving it? I looked at
>> the latter's code and it looks like it tries to preserve xmm0-xmm7,
>> but not xmm8.
>
> The x86-64 psABI specification says that %xmm8 is a temporary
> register, and that it is not used for passing arguments. This does
> not mean that the dynamic linker trampoline *must* clobber it, of
> course, but it strongly suggests that it's a compiler bug.
>
> We already have a bug for this:
>
> <https://sourceware.org/bugzilla/show_bug.cgi?id=21265>
>
> The discussion sort of petered out, though. I suspect all is left to
> do is to close the bug as invalid, but I'm not entirely happy about
> that.