While paving the way to turn on unified syntax in ARM state I came
across this use of TARGET_UNIFIED_ASM that really doesn't make sense.
The idea that pop has different encoding sizes is a property of the
Thumb instruction set rather than a property of which form of unified
syntax was used. I still have quite a large patch set for the unified
asm switch but it seems useful to get this one out of the way to catch
any other issues.
Tested with an appropriate set of multilibs on arm-none-eabi / applied.
Bootstrapped on armhf.
Applied to trunk.
regards
Ramana
2015-06-26 Ramana Radhakrishnan <ramana.radhakrish...@arm.com>
* config/arm/arm.c (arm_output_multireg_pop): Fix use of
TARGET_UNIFIED_ASM.
commit c085a69d4c1b9f9e43ef9655d1e88e7286ca3c2f
Author: Ramana Radhakrishnan <ramana.radhakrish...@arm.com>
Date: Thu Jun 25 09:43:11 2015 +0100
Use TARGET_THUMB2 instead of TARGET_UNIFIED_ASM.
handle Thumb
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 09191e5..84e9e2f 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -17591,7 +17591,7 @@ arm_output_multireg_pop (rtx *operands, bool return_pc,
rtx cond, bool reverse,
}
conditional = reverse ? "%?%D0" : "%?%d0";
- if ((regno_base == SP_REGNUM) && TARGET_UNIFIED_ASM)
+ if ((regno_base == SP_REGNUM) && TARGET_THUMB)
{
/* Output pop (not stmfd) because it has a shorter encoding. */
gcc_assert (update);