This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [ping][PATCH, AVX512, x86_64] AVX-512 support in glibc for x86_64
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: "Zamyatin, Igor" <igor dot zamyatin at intel dot com>
- Cc: "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>, "Joseph Myers (joseph at codesourcery dot com)" <joseph at codesourcery dot com>
- Date: Thu, 20 Feb 2014 10:25:17 -0800
- Subject: Re: [ping][PATCH, AVX512, x86_64] AVX-512 support in glibc for x86_64
- Authentication-results: sourceware.org; auth=none
- References: <0EFAB2BDD0F67E4FB6CCC8B9F87D756942904274 at IRSMSX101 dot ger dot corp dot intel dot com>
On Wed, Feb 12, 2014 at 4:14 AM, Zamyatin, Igor <igor.zamyatin@intel.com> wrote:
> Ping!
>
>> -----Original Message-----
>> From: Zamyatin, Igor
>> Sent: Wednesday, February 05, 2014 1:50 PM
>> To: Zamyatin, Igor; Joseph Myers
>> Cc: libc-alpha@sourceware.org; hjl.tools@gmail.com
>> Subject: RE: [PATCH, AVX512, x86_64] AVX-512 support in glibc for x86_64
>>
>> Ping.
>>
>> Is it ok for trunk whenever it's allowed to commit?
>>
>> Thanks,
>> Igor
>>
>> > -----Original Message-----
>> > From: libc-alpha-owner@sourceware.org [mailto:libc-alpha-
>> > owner@sourceware.org] On Behalf Of Zamyatin, Igor
>> > Sent: Tuesday, January 28, 2014 4:57 PM
>> > To: Joseph Myers
>> > Cc: libc-alpha@sourceware.org; hjl.tools@gmail.com
>> > Subject: RE: [PATCH, AVX512, x86_64] AVX-512 support in glibc for
>> > x86_64
>> >
>> > >
>> > > On Fri, 24 Jan 2014, Zamyatin, Igor wrote:
>> > >
>> > > > Attached patch adds AVX512 (new Intel ISA extension, see e.g.
>> > > > http://software.intel.com/en-us/intel-isa-
>> > > extensions?page=1&wapkw=soft
>> > > > ware%20development%20manual%20avx512#pid-16007-1495
>> > > > ) support in Glibc for x86_64.
>> > >
>> > > Do you plan to add support for i386 as well, or is there a reason no
>> > > such support is needed (that these registers are call-clobbered and
>> > > not used for argument passing / return, so libc needs no special
>> > > knowledge
>> > of them?)?
>> > > (Cf. bug 15402 suggesting running the AVX audit tests on i386, which
>> > > would make sense if they are valid for x86 even if no associated
>> > > changes to the dynamic linker are needed.)
>> > >
>> > > > * sysdeps/x86_64/tst-audit9.c: New file.
>> > > > * sysdeps/x86_64/tst-auditmod9a.c: New file.
>> > > > * sysdeps/x86_64/tst-auditmod9b.c: New file.
>> > >
>> > > Any new test should have a copyright / license notice immediately
>> > > following the first line saying what the function of the file is.
>> >
>> > Updated patch attached.
>> >
>> > Thanks,
>> > Igor
>> >
A couple comments:
1. i386 audit doesn't support xmm nor ymm registers. Adding
xmm/ymm/zmm register support to i386 audit is orthogonal to
x86-64 audit. It should be evaluated separately from adding
zmm register support to x86-64 audit.
2. Adding zmm register support to x86-64 ld.so has no performance
impact on non-threaded applications, except that when LD_AUDIT
is used.
3. Adding zmm register support to _dl_x86_64_save_sse and
_dl_x86_64_restore_sse will have some overhead. They are
called only when RTLD_PREPARE_FOREIGN_CALL
is used. Among all glibc build/tests, it happens with
/export/build/gnu/glibc/build-x86_64-linux/dlfcn/glrefmain:
/export/build/gnu/glibc/build-x86_64-linux/elf/constload1:
/export/build/gnu/glibc/build-x86_64-linux/elf/reldep:
/export/build/gnu/glibc/build-x86_64-linux/elf/lateglobal:
/export/build/gnu/glibc/build-x86_64-linux/elf/dblload:
/export/build/gnu/glibc/build-x86_64-linux/elf/reldep5:
/export/build/gnu/glibc/build-x86_64-linux/elf/reldep7:
/export/build/gnu/glibc/build-x86_64-linux/elf/dblunload:
/export/build/gnu/glibc/build-x86_64-linux/elf/tst-deep1:
/export/build/gnu/glibc/build-x86_64-linux/elf/unload4:
/export/build/gnu/glibc/build-x86_64-linux/elf/reldep6:
Do they address all concerns people have?
Thanks.
--
H.J.