+2015-08-12 Yvan Roux <yvan.roux@linaro.org>
+
+ PR target/67127
+ * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
+ to ARM core registers.
+
2015-08-12 Nathan Sidwell <nathan@acm.org>
* tree-vrp.c (simplify_min_or_max_using_ranges): New.
if (!REG_P (operands[0]))
operands[1] = force_reg (DImode, operands[1]);
}
- if (REG_P (operands[0]) && REGNO (operands[0]) < FIRST_VIRTUAL_REGISTER
+ if (REG_P (operands[0]) && REGNO (operands[0]) <= LAST_ARM_REGNUM
&& !HARD_REGNO_MODE_OK (REGNO (operands[0]), DImode))
{
/* Avoid LDRD's into an odd-numbered register pair in ARM state
gen_highpart (SImode, operands[1]));
DONE;
}
- else if (REG_P (operands[1]) && REGNO (operands[1]) < FIRST_VIRTUAL_REGISTER
+ else if (REG_P (operands[1]) && REGNO (operands[1]) <= LAST_ARM_REGNUM
&& !HARD_REGNO_MODE_OK (REGNO (operands[1]), DImode))
{
/* Avoid STRD's from an odd-numbered register pair in ARM state