On 14/11/2019 17:42, Richard Henderson wrote:
What I committed today does in fact ICE for thumb1, as you suspected.
I'm currently testing the following vs
arm-sim/
arm-sim/-mthumb
arm-sim/-mcpu=cortex-a15/-mthumb.
which, with the default cpu for arm-elf-eabi, should test all of arm, thumb1,
thumb2.
I'm not thrilled about the ifdef in aarch-common.c, but I don't see a different
way to catch this case for arm and still compile for aarch64.
Ideas?
Particularly ones that work with __attribute__((target("thumb")))? Which, now
that I've thought about it I really should be testing...
r~
+#ifdef TARGET_THUMB1
+ if (TARGET_THUMB1)
Could you use one of the standard HAVE_<insn> patterns?
+
+ if (!TARGET_THUMB1)
+ builtin_define ("__GCC_ASM_FLAG_OUTPUTS__");
I think you should use def_or_undef_macro() here, so that if the user
switches to thumb using the target attribute extensions the macro will
become undefined for the duration of that switch.
R.