From: Ramana Radhakrishnan Date: Mon, 24 Aug 2009 10:00:09 +0000 (+0000) Subject: Unified syntax fixes. X-Git-Tag: releases/gcc-4.5.0~3874 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c7e9ab97becb9c49546870db43ffa3b1b99d2bff;p=thirdparty%2Fgcc.git Unified syntax fixes. 2009-08-24 Ramana Radhakrishnan * config/arm/arm.c (output_return_instruction): Handle for unified syntax. From-SVN: r151053 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc6fa1ece8f4..a69996d1ca36 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-08-24 Ramana Radhakrishnan + + * config/arm/arm.c (output_return_instruction): Handle for + unified syntax. + 2009-08-24 Ramana Radhakrishnan * config/arm/arm.c (arm_select_cc_mode): Handle subreg. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 0d53896aee08..1ac6510312cc 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -12889,18 +12889,28 @@ output_return_instruction (rtx operand, int really_return, int reverse) gcc_assert (stack_adjust == 0 || stack_adjust == 4); if (stack_adjust && arm_arch5 && TARGET_ARM) - sprintf (instr, "ldm%sib\t%%|sp, {", conditional); + if (TARGET_UNIFIED_ASM) + sprintf (instr, "ldmib%s\t%%|sp, {", conditional); + else + sprintf (instr, "ldm%sib\t%%|sp, {", conditional); else { /* If we can't use ldmib (SA110 bug), then try to pop r3 instead. */ if (stack_adjust) live_regs_mask |= 1 << 3; - sprintf (instr, "ldm%sfd\t%%|sp, {", conditional); + + if (TARGET_UNIFIED_ASM) + sprintf (instr, "ldmfd%s\t%%|sp, {", conditional); + else + sprintf (instr, "ldm%sfd\t%%|sp, {", conditional); } } else - sprintf (instr, "ldm%sfd\t%%|sp!, {", conditional); + if (TARGET_UNIFIED_ASM) + sprintf (instr, "pop%s\t{", conditional); + else + sprintf (instr, "ldm%sfd\t%%|sp!, {", conditional); p = instr + strlen (instr);