Commit 198bc787 by Joseph Myers Committed by Joseph Myers

spe.md (frob_di_df_2): Handle non-offsettable memory operand.

	* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
	memory operand.

From-SVN: r118889
parent 9f1dce56
2006-11-16 Joseph Myers <joseph@codesourcery.com>
* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
memory operand.
2006-11-16 Richard Earnshaw <rearnsha@arm.com> 2006-11-16 Richard Earnshaw <rearnsha@arm.com>
* arm.md (abssi2): Allow Thumb as well. Use an SImode scratch for * arm.md (abssi2): Allow Thumb as well. Use an SImode scratch for
......
...@@ -2223,6 +2223,11 @@ ...@@ -2223,6 +2223,11 @@
case 0: case 0:
return \"evmergehi %0,%1,%1\;mr %L0,%1\"; return \"evmergehi %0,%1,%1\;mr %L0,%1\";
case 1: case 1:
/* If the address is not offsettable we need to load the whole
doubleword into a 64-bit register and then copy the high word
to form the correct output layout. */
if (!offsettable_nonstrict_memref_p (operands[1]))
return \"evldd%X1 %L0,%y1\;evmergehi %0,%L0,%L0\";
/* If the low-address word is used in the address, we must load /* If the low-address word is used in the address, we must load
it last. Otherwise, load it first. Note that we cannot have it last. Otherwise, load it first. Note that we cannot have
auto-increment in that case since the address register is auto-increment in that case since the address register is
......
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