[BZ,#18740] Fix for SSE vector math tests run on non SSE4.1 machines
Commit Message
Hi,
we can build SSE vector math tests with -msse2 because ifunc in vector
function itself selects SSE2 or SSE4 implementation to test.
2015-07-30 Andrew Senkevich <andrew.senkevich@intel.com>
[BZ #18740]
* sysdeps/x86_64/fpu/Makefile (double-vlen2-arch-ext-cflags,
float-vlen4-arch-ext-cflags): Use -msee2 instead of -msse4.
--
WBR,
Andrew
Comments
On Thu, Jul 30, 2015 at 7:27 AM, Andrew Senkevich
<andrew.n.senkevich@gmail.com> wrote:
> Hi,
>
> we can build SSE vector math tests with -msse2 because ifunc in vector
> function itself selects SSE2 or SSE4 implementation to test.
>
> 2015-07-30 Andrew Senkevich <andrew.senkevich@intel.com>
>
> [BZ #18740]
> * sysdeps/x86_64/fpu/Makefile (double-vlen2-arch-ext-cflags,
> float-vlen4-arch-ext-cflags): Use -msee2 instead of -msse4.
>
> diff --git a/ChangeLog b/ChangeLog
> index bcb14cf..b5c21b5 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,9 @@
> +2015-07-30 Andrew Senkevich <andrew.senkevich@intel.com>
> +
> + [BZ #18740]
> + * sysdeps/x86_64/fpu/Makefile (double-vlen2-arch-ext-cflags,
> + float-vlen4-arch-ext-cflags): Use -msee2 instead of -msse4.
> +
> 2015-07-30 Mike Frysinger <vapier@gentoo.org>
>
> * sysdeps/hppa/nptl/bits/pthreadtypes.h (pthread_mutex_t): Change
> diff --git a/sysdeps/x86_64/fpu/Makefile b/sysdeps/x86_64/fpu/Makefile
> index e270b8a..28802dd 100644
> --- a/sysdeps/x86_64/fpu/Makefile
> +++ b/sysdeps/x86_64/fpu/Makefile
> @@ -33,12 +33,12 @@ ifeq (yes,$(config-cflags-avx512))
> libmvec-tests += double-vlen8 float-vlen16
> endif
>
> -double-vlen2-arch-ext-cflags = -msse4
> +double-vlen2-arch-ext-cflags = -msse2
> double-vlen4-arch-ext-cflags = -mavx
> double-vlen4-arch-ext2-cflags = -mavx2
> double-vlen8-arch-ext-cflags = -mavx512f
>
> -float-vlen4-arch-ext-cflags = -msse4
> +float-vlen4-arch-ext-cflags = -msse2
> float-vlen8-arch-ext-cflags = -mavx
> float-vlen8-arch-ext2-cflags = -mavx2
> float-vlen16-arch-ext-cflags = -mavx512f
>
SSE2 is the default for x86-64. Please just remove the line.
On 07/30/2015 10:42 AM, H.J. Lu wrote:
> On Thu, Jul 30, 2015 at 7:27 AM, Andrew Senkevich
> <andrew.n.senkevich@gmail.com> wrote:
>> Hi,
>>
>> we can build SSE vector math tests with -msse2 because ifunc in vector
>> function itself selects SSE2 or SSE4 implementation to test.
>>
>> 2015-07-30 Andrew Senkevich <andrew.senkevich@intel.com>
>>
>> [BZ #18740]
>> * sysdeps/x86_64/fpu/Makefile (double-vlen2-arch-ext-cflags,
>> float-vlen4-arch-ext-cflags): Use -msee2 instead of -msse4.
>>
>> diff --git a/ChangeLog b/ChangeLog
>> index bcb14cf..b5c21b5 100644
>> --- a/ChangeLog
>> +++ b/ChangeLog
>> @@ -1,3 +1,9 @@
>> +2015-07-30 Andrew Senkevich <andrew.senkevich@intel.com>
>> +
>> + [BZ #18740]
>> + * sysdeps/x86_64/fpu/Makefile (double-vlen2-arch-ext-cflags,
>> + float-vlen4-arch-ext-cflags): Use -msee2 instead of -msse4.
>> +
>> 2015-07-30 Mike Frysinger <vapier@gentoo.org>
>>
>> * sysdeps/hppa/nptl/bits/pthreadtypes.h (pthread_mutex_t): Change
>> diff --git a/sysdeps/x86_64/fpu/Makefile b/sysdeps/x86_64/fpu/Makefile
>> index e270b8a..28802dd 100644
>> --- a/sysdeps/x86_64/fpu/Makefile
>> +++ b/sysdeps/x86_64/fpu/Makefile
>> @@ -33,12 +33,12 @@ ifeq (yes,$(config-cflags-avx512))
>> libmvec-tests += double-vlen8 float-vlen16
>> endif
>>
>> -double-vlen2-arch-ext-cflags = -msse4
>> +double-vlen2-arch-ext-cflags = -msse2
>> double-vlen4-arch-ext-cflags = -mavx
>> double-vlen4-arch-ext2-cflags = -mavx2
>> double-vlen8-arch-ext-cflags = -mavx512f
>>
>> -float-vlen4-arch-ext-cflags = -msse4
>> +float-vlen4-arch-ext-cflags = -msse2
>> float-vlen8-arch-ext-cflags = -mavx
>> float-vlen8-arch-ext2-cflags = -mavx2
>> float-vlen16-arch-ext-cflags = -mavx512f
>>
>
> SSE2 is the default for x86-64. Please just remove the line.
Is it the default for all versions we support building glibc with?
What harm is there in leaving the line there for the sake or robustness?
Cheers,
Carlos.
On Thu, Jul 30, 2015 at 8:47 PM, Carlos O'Donell <carlos@redhat.com> wrote:
> On 07/30/2015 10:42 AM, H.J. Lu wrote:
>> On Thu, Jul 30, 2015 at 7:27 AM, Andrew Senkevich
>> <andrew.n.senkevich@gmail.com> wrote:
>>> Hi,
>>>
>>> we can build SSE vector math tests with -msse2 because ifunc in vector
>>> function itself selects SSE2 or SSE4 implementation to test.
>>>
>>> 2015-07-30 Andrew Senkevich <andrew.senkevich@intel.com>
>>>
>>> [BZ #18740]
>>> * sysdeps/x86_64/fpu/Makefile (double-vlen2-arch-ext-cflags,
>>> float-vlen4-arch-ext-cflags): Use -msee2 instead of -msse4.
>>>
>>> diff --git a/ChangeLog b/ChangeLog
>>> index bcb14cf..b5c21b5 100644
>>> --- a/ChangeLog
>>> +++ b/ChangeLog
>>> @@ -1,3 +1,9 @@
>>> +2015-07-30 Andrew Senkevich <andrew.senkevich@intel.com>
>>> +
>>> + [BZ #18740]
>>> + * sysdeps/x86_64/fpu/Makefile (double-vlen2-arch-ext-cflags,
>>> + float-vlen4-arch-ext-cflags): Use -msee2 instead of -msse4.
>>> +
>>> 2015-07-30 Mike Frysinger <vapier@gentoo.org>
>>>
>>> * sysdeps/hppa/nptl/bits/pthreadtypes.h (pthread_mutex_t): Change
>>> diff --git a/sysdeps/x86_64/fpu/Makefile b/sysdeps/x86_64/fpu/Makefile
>>> index e270b8a..28802dd 100644
>>> --- a/sysdeps/x86_64/fpu/Makefile
>>> +++ b/sysdeps/x86_64/fpu/Makefile
>>> @@ -33,12 +33,12 @@ ifeq (yes,$(config-cflags-avx512))
>>> libmvec-tests += double-vlen8 float-vlen16
>>> endif
>>>
>>> -double-vlen2-arch-ext-cflags = -msse4
>>> +double-vlen2-arch-ext-cflags = -msse2
>>> double-vlen4-arch-ext-cflags = -mavx
>>> double-vlen4-arch-ext2-cflags = -mavx2
>>> double-vlen8-arch-ext-cflags = -mavx512f
>>>
>>> -float-vlen4-arch-ext-cflags = -msse4
>>> +float-vlen4-arch-ext-cflags = -msse2
>>> float-vlen8-arch-ext-cflags = -mavx
>>> float-vlen8-arch-ext2-cflags = -mavx2
>>> float-vlen16-arch-ext-cflags = -mavx512f
>>>
>>
>> SSE2 is the default for x86-64. Please just remove the line.
>
> Is it the default for all versions we support building glibc with?
X86-64 psABI specifies SSE2 as the minimum ISA.
> What harm is there in leaving the line there for the sake or robustness?
-m64 implies -msse2. Adding -msse2 only leads to confusion.
On 07/31/2015 12:52 AM, H.J. Lu wrote:
>> What harm is there in leaving the line there for the sake or robustness?
>
> -m64 implies -msse2. Adding -msse2 only leads to confusion.
>
Perfect. That answers my question.
c.
@@ -1,3 +1,9 @@
+2015-07-30 Andrew Senkevich <andrew.senkevich@intel.com>
+
+ [BZ #18740]
+ * sysdeps/x86_64/fpu/Makefile (double-vlen2-arch-ext-cflags,
+ float-vlen4-arch-ext-cflags): Use -msee2 instead of -msse4.
+
2015-07-30 Mike Frysinger <vapier@gentoo.org>
* sysdeps/hppa/nptl/bits/pthreadtypes.h (pthread_mutex_t): Change
@@ -33,12 +33,12 @@ ifeq (yes,$(config-cflags-avx512))
libmvec-tests += double-vlen8 float-vlen16
endif
-double-vlen2-arch-ext-cflags = -msse4
+double-vlen2-arch-ext-cflags = -msse2
double-vlen4-arch-ext-cflags = -mavx
double-vlen4-arch-ext2-cflags = -mavx2
double-vlen8-arch-ext-cflags = -mavx512f
-float-vlen4-arch-ext-cflags = -msse4
+float-vlen4-arch-ext-cflags = -msse2
float-vlen8-arch-ext-cflags = -mavx
float-vlen8-arch-ext2-cflags = -mavx2
float-vlen16-arch-ext-cflags = -mavx512f