From a49b692a27b8e388bbbf7ea6e0f883505b9b65ff Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 12 Jan 2011 09:59:31 -0800 Subject: mn10300: Auto-clobber the flags in asms. From-SVN: r168725 --- gcc/ChangeLog | 3 +++ gcc/config/mn10300/mn10300.c | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 70c69e3..c6ec1d5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2011-01-12 Richard Henderson + * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New. + (TARGET_MD_ASM_CLOBBERS): New. + * config/mn10300/mn10300.c (mn10300_delegitimize_address): New. (TARGET_DELEGITIMIZE_ADDRESS): New. diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c index 1cea6c2..f9be6ea 100644 --- a/gcc/config/mn10300/mn10300.c +++ b/gcc/config/mn10300/mn10300.c @@ -2716,6 +2716,20 @@ mn10300_conditional_register_usage (void) fixed_regs[PIC_OFFSET_TABLE_REGNUM] = call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; } + +/* Worker function for TARGET_MD_ASM_CLOBBERS. + We do this in the mn10300 backend to maintain source compatibility + with the old cc0-based compiler. */ + +static tree +mn10300_md_asm_clobbers (tree outputs ATTRIBUTE_UNUSED, + tree inputs ATTRIBUTE_UNUSED, + tree clobbers) +{ + clobbers = tree_cons (NULL_TREE, build_string (5, "EPSW"), + clobbers); + return clobbers; +} /* Initialize the GCC target structure. */ @@ -2809,4 +2823,7 @@ mn10300_conditional_register_usage (void) #undef TARGET_CONDITIONAL_REGISTER_USAGE #define TARGET_CONDITIONAL_REGISTER_USAGE mn10300_conditional_register_usage +#undef TARGET_MD_ASM_CLOBBERS +#define TARGET_MD_ASM_CLOBBERS mn10300_md_asm_clobbers + struct gcc_target targetm = TARGET_INITIALIZER; -- cgit v1.1