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?
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"...)
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?
Generally I would say this all looks sensible :) Cheers, Alan