This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] X86-64: Add _dl_runtime_resolve_avx[512]_opt [BZ #20508]
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: Richard Henderson <rth at twiddle dot net>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 4 Oct 2016 08:34:27 -0700
- Subject: Re: [PATCH] X86-64: Add _dl_runtime_resolve_avx[512]_opt [BZ #20508]
- Authentication-results: sourceware.org; auth=none
- References: <CAMe9rOojpuFz1jTbMpNcqZK1KVDqaWozNuEuS3E67dvD3Rh=hw@mail.gmail.com> <c6e21847-bc95-3c75-ed54-798c62194072@redhat.com> <CAMe9rOp=bvrk0MBF8SrP4JqLHembRdeyfGNqNkcVWvoEs3R=tA@mail.gmail.com> <CAMe9rOo7MmGNPKct=AzzbtR564yH1P96tUcLD7pFv7GtxF3-Ng@mail.gmail.com> <48eeea78-99e8-f255-bd26-b6d28929b4f0@twiddle.net> <CAMe9rOqXhVLVbT90JBfkJnCLzZBrkUHtkO4Ddfk9HPH7jiyEzw@mail.gmail.com> <CAMe9rOoDp7XYwLdDetFNghAdDo_zj-4342LKV4i0zCH36aBWtw@mail.gmail.com> <CAMe9rOo+_TQABBp0eC4nQcJ5ENLrZAOSvtAjo17E6H0ezDpWvg@mail.gmail.com> <CAMe9rOqoATTPzXqjtqenV0h+hMtMYcr+W-ZL3Bi4jFJWYBCUpg@mail.gmail.com> <76f9e5c1-d1de-04d1-49f5-30673bf3060b@redhat.com> <CAMe9rOq8yu+b0-N6UR3vb843NApZ+ZjBwAw5GsERHpvuCrVjrw@mail.gmail.com> <14cc7a47-1a39-6285-d4b5-dab2769c092b@redhat.com>
On Tue, Oct 4, 2016 at 8:24 AM, Florian Weimer <fweimer@redhat.com> wrote:
> On 10/04/2016 04:47 PM, H.J. Lu wrote:
>>
>> On Tue, Oct 4, 2016 at 3:52 AM, Florian Weimer <fweimer@redhat.com> wrote:
>>>
>>> On 09/27/2016 07:35 PM, H.J. Lu wrote:
>>>
>>>>> Any comments? I will check it in next week if there is no objection.
>>>>
>>>>
>>>>
>>>> I'd like to backport it to 2.23 and 2.24 branches. Any objections?
>>>
>>>
>>>
>>> Just this change, or the requirement for an AVX512F-capable assembler as
>>> well?
>>>
>>
>> Good question. This is also needed:
>>
>> commit f43cb35c9b3c35addc6dc0f1427caf51786ca1d2
>> Author: H.J. Lu <hjl.tools@gmail.com>
>> Date: Fri Jul 1 05:54:43 2016 -0700
>>
>> Require binutils 2.24 to build x86-64 glibc [BZ #20139]
>>
>> If assembler doesn't support AVX512DQ, _dl_runtime_resolve_avx is used
>> to save the first 8 vector registers, which only saves the lower 256
>> bits of vector register, for lazy binding. When it is called on
>> AVX512
>> platform, the upper 256 bits of ZMM registers are clobbered.
>> Parameters
>> passed in ZMM registers will be wrong when the function is called the
>> first time. This patch requires binutils 2.24, whose assembler can
>> store
>> and load ZMM registers, to build x86-64 glibc. Since mathvec library
>> needs assembler support for AVX512DQ, we disable mathvec if assembler
>> doesn't support AVX512DQ.
>
>
> That's not really backportable, I'm afraid. Our users don't expect we break
> builds in this way.
>
Who are those users?
--
H.J.