[PATCH v4] BZ #14059 - Fix AVX and FMA4 detection.

Carlos O'Donell carlos@systemhalted.org
Thu May 17 03:31:00 GMT 2012


On Wed, May 16, 2012 at 11:28 PM, Carlos O'Donell
<carlos@systemhalted.org> wrote:
> [resent with libc-alpha in the CC this time]
>
> Allan,
>
> This is the final patch. Could you give this a whirl?
>
> Andreas,
>
> Please review.
>
> Passes for me on x86_64 with and without AVX with no regressions.
>
> v1
> - Fixed AVX detection.
> v2
> - Cleaned up AVX detection.
> - Fixed FMA4 detection incorrectly.
> v3
> - Added test-multiarch regression test.
> v4
> - Fixed FMA4 detection correctly.
> - test-multiarch now uses test-skeleton.c
>
> OK to commit?
>
> 2012-05-16  Andreas Jaeger  <aj@suse.de>
>            Carlos O'Donell  <carlos_odonell@mentor.com>
>
>        [BZ #14059]
>        * sysdeps/x86_64/multiarch/init-arch.h
>        (bit_YMM_Usable): Rename to...
>        (bit_AVX_Usable): ... this.
>        (bit_FMA4_Usable): New macro.
>        (bit_XMM_state): New macro.
>        (bit_YMM_state): New macro.
>        [__ASSEMBLER__] (index_YMM_Usable): Rename to...
>        [__ASSEMBLER__] (index_AVX_Usable): ... this.
>        [__ASSEMBLER__] (index_FMA4_Usable): New macro.
>        (CPUID_OSXSAVE): New macro.
>        (CPUID_AVX): New macro.
>        (CPUID_FMA4): New macro.
>        (index_YMM_Usable): Rename to...
>        (index_AVX_Usable): ... this.
>        (HAS_AVX): Use HAS_ARCH_FEATURE.
>        (HAS_FMA4): Likewise.
>        (HAS_YMM_USABLE): Remove.
>        * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
>        Enable AVX or FMA4 IFF YMM and XMM states are usable and the features
>        are present.
>        * sysdeps/x86_64/multiarch/strcmp.S: Use bit_AVX_Usable.
>        * sysdeps/i386/i686/multiarch/Makefile: Add test-multiarch to tests.
>        * sysdeps/x86_64/multiarch/Makefile: Likewise.
>        * sysdeps/i386/i686/multiarch/test-multiarch.c: New file.
>        * sysdeps/x86_64/multiarch/test-multiarch.c: New file.

Patch attached to avoid mailer mangling on forwarding.

Cheers,
Carlos.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: final-avx-v4.diff
Type: application/octet-stream
Size: 12493 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20120517/7ef2632c/attachment.obj>


More information about the Libc-alpha mailing list