48528842bd
PR target/89093 * config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Diagnose if used with general-regs-only. (arm_conditional_register_usage): Don't add non-general regs if general-regs-only. (arm_valid_target_attribute_rec): Handle general-regs-only. * config/arm/arm.h (TARGET_HARD_FLOAT): Return false if general-regs-only. (TARGET_HARD_FLOAT_SUB): Define. (TARGET_SOFT_FLOAT): Define as negation of TARGET_HARD_FLOAT_SUB. (TARGET_REALLY_IWMMXT): Add && !TARGET_GENERAL_REGS_ONLY. (TARGET_REALLY_IWMMXT2): Likewise. * config/arm/arm.opt: Add -mgeneral-regs-only. * doc/extend.texi: Document ARM general-regs-only target. * doc/invoke.texi: Document ARM -mgeneral-regs-only. libgcc/ * config/arm/pr-support.c: Add #pragma GCC target("general-regs-only"). * config/arm/unwind-arm.c: Likewise. * unwind-c.c (PERSONALITY_FUNCTION): Add general-regs-only target attribute for ARM. libobjc/ * exception.c (PERSONALITY_FUNCTION): Add general-regs-only target attribute for ARM. libphobos/ * libdruntime/gcc/deh.d: Import gcc.attribute. (personality_fn_attributes): New enum. (scanLSDA, CONTINUE_UNWINDING, gdc_personality, __gdc_personality): Add @personality_fn_attributes. libstdc++-v3/ * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Add general-regs-only target attribute for ARM. Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de> Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r270504 |
||
---|---|---|
.. | ||
bpabi-lib.h | ||
bpabi-v6m.S | ||
bpabi.c | ||
bpabi.S | ||
cmse_nonsecure_call.S | ||
cmse.c | ||
crtfastmath.c | ||
crti.S | ||
crtn.S | ||
fp16.c | ||
freebsd-atomic.c | ||
ieee754-df.S | ||
ieee754-sf.S | ||
lib1funcs.S | ||
libgcc-bpabi.ver | ||
libunwind.S | ||
linux-atomic-64bit.c | ||
linux-atomic.c | ||
pr-support.c | ||
sfp-machine.h | ||
symbian-lib.h | ||
t-arm | ||
t-bpabi | ||
t-elf | ||
t-freebsd | ||
t-linux | ||
t-linux-eabi | ||
t-netbsd | ||
t-softfp | ||
t-strongarm-elf | ||
t-symbian | ||
t-vxworks7 | ||
t-wince-pe | ||
unaligned-funcs.c | ||
unwind-arm-vxworks.c | ||
unwind-arm.c | ||
unwind-arm.h |