aarch64: Call all string function implementations in tests
Commit Message
The string function implementations implemented so far do not use any
instructions that may deviate from standard aarch64, so it is possible
for all routines to run on all armv8 hardware. Select all
implementations in the benchmarks and tests.
* sysdeps/aarch64/multiarch/ifunc-impl-list.c
(__libc_ifunc_impl_list): Unconditionally select thunderx
routine for testing.
---
sysdeps/aarch64/multiarch/ifunc-impl-list.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
Comments
On Friday 23 June 2017 12:16 AM, Siddhesh Poyarekar wrote:
> The string function implementations implemented so far do not use any
> instructions that may deviate from standard aarch64, so it is possible
> for all routines to run on all armv8 hardware. Select all
> implementations in the benchmarks and tests.
>
> * sysdeps/aarch64/multiarch/ifunc-impl-list.c
> (__libc_ifunc_impl_list): Unconditionally select thunderx
> routine for testing.
> ---
> sysdeps/aarch64/multiarch/ifunc-impl-list.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/sysdeps/aarch64/multiarch/ifunc-impl-list.c b/sysdeps/aarch64/multiarch/ifunc-impl-list.c
> index c4f23df..32056bc 100644
> --- a/sysdeps/aarch64/multiarch/ifunc-impl-list.c
> +++ b/sysdeps/aarch64/multiarch/ifunc-impl-list.c
> @@ -39,12 +39,10 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
>
> /* Support sysdeps/aarch64/multiarch/memcpy.c and memmove.c. */
> IFUNC_IMPL (i, name, memcpy,
> - IFUNC_IMPL_ADD (array, i, memcpy, IS_THUNDERX (midr),
> - __memcpy_thunderx)
> + IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_thunderx)
> IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_generic))
> IFUNC_IMPL (i, name, memmove,
> - IFUNC_IMPL_ADD (array, i, memmove, IS_THUNDERX (midr),
> - __memmove_thunderx)
> + IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_thunderx)
> IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_generic))
>
> return i;
>
Hi,
I'll commit this since I noticed that Richard Henderson made the same
suggestion earlier[1].
Siddhesh
[1] https://sourceware.org/ml/libc-alpha/2017-06/msg00978.html
On Thursday 29 June 2017 03:17 PM, Siddhesh Poyarekar wrote:
> On Friday 23 June 2017 12:16 AM, Siddhesh Poyarekar wrote:
>> The string function implementations implemented so far do not use any
>> instructions that may deviate from standard aarch64, so it is possible
>> for all routines to run on all armv8 hardware. Select all
>> implementations in the benchmarks and tests.
>>
>> * sysdeps/aarch64/multiarch/ifunc-impl-list.c
>> (__libc_ifunc_impl_list): Unconditionally select thunderx
>> routine for testing.
>> ---
>> sysdeps/aarch64/multiarch/ifunc-impl-list.c | 6 ++----
>> 1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/sysdeps/aarch64/multiarch/ifunc-impl-list.c b/sysdeps/aarch64/multiarch/ifunc-impl-list.c
>> index c4f23df..32056bc 100644
>> --- a/sysdeps/aarch64/multiarch/ifunc-impl-list.c
>> +++ b/sysdeps/aarch64/multiarch/ifunc-impl-list.c
>> @@ -39,12 +39,10 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
>>
>> /* Support sysdeps/aarch64/multiarch/memcpy.c and memmove.c. */
>> IFUNC_IMPL (i, name, memcpy,
>> - IFUNC_IMPL_ADD (array, i, memcpy, IS_THUNDERX (midr),
>> - __memcpy_thunderx)
>> + IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_thunderx)
>> IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_generic))
>> IFUNC_IMPL (i, name, memmove,
>> - IFUNC_IMPL_ADD (array, i, memmove, IS_THUNDERX (midr),
>> - __memmove_thunderx)
>> + IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_thunderx)
>> IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_generic))
>>
>> return i;
>>
>
On 30/06/17 16:21, Siddhesh Poyarekar wrote:
> Hi,
>
> I'll commit this since I noticed that Richard Henderson made the same
> suggestion earlier[1].
>
> Siddhesh
>
> [1] https://sourceware.org/ml/libc-alpha/2017-06/msg00978.html
>
ok.
> On Thursday 29 June 2017 03:17 PM, Siddhesh Poyarekar wrote:
>> On Friday 23 June 2017 12:16 AM, Siddhesh Poyarekar wrote:
>>> The string function implementations implemented so far do not use any
>>> instructions that may deviate from standard aarch64, so it is possible
>>> for all routines to run on all armv8 hardware. Select all
>>> implementations in the benchmarks and tests.
>>>
>>> * sysdeps/aarch64/multiarch/ifunc-impl-list.c
>>> (__libc_ifunc_impl_list): Unconditionally select thunderx
>>> routine for testing.
>>> ---
>>> sysdeps/aarch64/multiarch/ifunc-impl-list.c | 6 ++----
>>> 1 file changed, 2 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/sysdeps/aarch64/multiarch/ifunc-impl-list.c b/sysdeps/aarch64/multiarch/ifunc-impl-list.c
>>> index c4f23df..32056bc 100644
>>> --- a/sysdeps/aarch64/multiarch/ifunc-impl-list.c
>>> +++ b/sysdeps/aarch64/multiarch/ifunc-impl-list.c
>>> @@ -39,12 +39,10 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
>>>
>>> /* Support sysdeps/aarch64/multiarch/memcpy.c and memmove.c. */
>>> IFUNC_IMPL (i, name, memcpy,
>>> - IFUNC_IMPL_ADD (array, i, memcpy, IS_THUNDERX (midr),
>>> - __memcpy_thunderx)
>>> + IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_thunderx)
>>> IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_generic))
>>> IFUNC_IMPL (i, name, memmove,
>>> - IFUNC_IMPL_ADD (array, i, memmove, IS_THUNDERX (midr),
>>> - __memmove_thunderx)
>>> + IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_thunderx)
>>> IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_generic))
>>>
>>> return i;
>>>
>>
>
@@ -39,12 +39,10 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
/* Support sysdeps/aarch64/multiarch/memcpy.c and memmove.c. */
IFUNC_IMPL (i, name, memcpy,
- IFUNC_IMPL_ADD (array, i, memcpy, IS_THUNDERX (midr),
- __memcpy_thunderx)
+ IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_thunderx)
IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_generic))
IFUNC_IMPL (i, name, memmove,
- IFUNC_IMPL_ADD (array, i, memmove, IS_THUNDERX (midr),
- __memmove_thunderx)
+ IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_thunderx)
IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_generic))
return i;