This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH x86_64][BZ #20139] Don't allow configure with not supporting AVX512 assembler w/o --disable-avx512.
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: Andrew Senkevich <andrew dot n dot senkevich at gmail dot com>, libc-alpha <libc-alpha at sourceware dot org>
- Date: Mon, 27 Jun 2016 11:39:07 -0700
- Subject: Re: [PATCH x86_64][BZ #20139] Don't allow configure with not supporting AVX512 assembler w/o --disable-avx512.
- Authentication-results: sourceware.org; auth=none
- References: <CAMXFM3tJkhW78PPe4=FUhbm=8HoOY4iouSqXxLObA0GEMTxoZA at mail dot gmail dot com> <5ecbe6ab-79a9-7bf4-909b-3b61d0877559 at redhat dot com> <CAMXFM3tp-hDH5zNOO=eZAELbmuQbaWCrEo1JWM-ETCwTNb5RVA at mail dot gmail dot com> <b03e2738-6c7c-4036-a3f4-e8c55039c4cf at redhat dot com> <CAMe9rOpkjJeCVZtvkLh8ZcsSWv3TdrLeZLx1FCrV6GHu4MYGbg at mail dot gmail dot com> <f238cd84-fd1f-bd95-5327-d154f73333ba at redhat dot com>
On Mon, Jun 27, 2016 at 11:33 AM, Florian Weimer <fweimer@redhat.com> wrote:
> On 06/27/2016 08:29 PM, H.J. Lu wrote:
>
>> If ld.so doesn't the first 8 save/store ZMM registers, you
>> may not pass parameters in ZMM registers with AVX512
>> kernel on AVX512 machine. We wan to make sure that
>> ld.so in x86-64 glibc saves/stores ZMM registers unless
>> glibc is configured to disable AVX512 support.
>
>
> I still do not understand what is going on.
>
> What can clobber the ZMM registers if glibc was compiled without AVX-512
> capabilities?
When AVX512 isn't supported, _dl_runtime_resolve_avx will be to 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.
--
H.J.