On 12 October 2015 at 11:58, Alan Lawrence <alan.lawre...@arm.com> wrote: > On 07/10/15 00:59, charles.bay...@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