This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.

Attachment: final-avx-v4.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]