Commit c0ba5a8b by Yvan Roux Committed by Yvan Roux

re PR target/67127 ([ARM] Avoiding odd-number ldrd/strd in movdi introduced a…

re PR target/67127 ([ARM] Avoiding odd-number ldrd/strd in movdi introduced a regression on armeb-linux-gnueabihf)

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.

From-SVN: r226811
parent da7db2ce
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.
......
......@@ -5519,7 +5519,7 @@
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
......@@ -5538,7 +5538,7 @@
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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment