This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 1/3] [ARM] PR63870 Add qualifiers for NEON builtins
- From: Charles Baylis <charles dot baylis at linaro dot org>
- To: Alan Lawrence <alan dot lawrence at arm dot com>
- Cc: Kyrylo Tkachov <Kyrylo dot Tkachov at arm dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 14 Oct 2015 23:02:15 +0100
- Subject: Re: [PATCH 1/3] [ARM] PR63870 Add qualifiers for NEON builtins
- Authentication-results: sourceware.org; auth=none
- References: <1444175989-24944-1-git-send-email-charles dot baylis at linaro dot org> <1444175989-24944-2-git-send-email-charles dot baylis at linaro dot org> <561B9242 dot 1060506 at arm dot com>
On 12 October 2015 at 11:58, Alan Lawrence <alan.lawrence@arm.com> wrote:
> On 07/10/15 00:59, charles.baylis@linaro.org wrote:
>>
>> diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c
>
> ...
>>
>> case NEON_ARG_MEMORY:
>> /* Check if expand failed. */
>> if (op[argc] == const0_rtx)
>> {
>> - va_end (ap);
>> return 0;
>> }
>
>
> ...and drop the braces?
Will do.
>> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
>> index 02f5dc3..448cde3 100644
>> --- a/gcc/config/arm/arm.c
>> +++ b/gcc/config/arm/arm.c
>> @@ -30117,4 +30117,5 @@ arm_sched_fusion_priority (rtx_insn *insn, int
>> max_pri,
>> *pri = tmp;
>> return;
>> }
>> +
>> #include "gt-arm.h"
>
>
> This looks unrelated (and is the only change to arm.c) - perhaps commit
> separately? (Note I am not a maintainer! But this looks "obvious"...)
It doesn't seem very useful. I'll drop it.
>> diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
>> index 87c9f90..27ac4dc 100644
>> --- a/gcc/config/arm/arm.h
>> +++ b/gcc/config/arm/arm.h
>> @@ -288,6 +288,9 @@ extern void
>> (*arm_lang_output_object_attributes_hook)(void);
>> #define TARGET_BPABI false
>> #endif
>>
>> +#define ENDIAN_LANE_N(mode, n) \
>> + (BYTES_BIG_ENDIAN ? GET_MODE_NUNITS (mode) - 1 - n : n)
>> +
>
>
> Given we are making changes here to how this all works on bigendian, have
> you tested armeb at all?
I tested on big endian, and it passes, except for a testsuite issue
with the *_f16 tests, which fail because they are built without the
fp16 options on big endian. This is because
check_effective_target_arm_neon_fp16_ok_nocache gets an ICE when it
attempts to compile the test program. I think those fp16 intrinsics
are in your area, do you want to take a look? :)
Thanks for the review
Charles