Commit 673a5740 by Nick Clifton Committed by Nick Clifton

rx.md (movmemsi): Do not use this pattern when volatile pointers are involved.

	* config/rx/rx.md (movmemsi): Do not use this pattern when
	volatile pointers are involved.

From-SVN: r172368
parent 4ea1a162
2011-04-13 Nick Clifton <nickc@redhat.com>
* config/rx/rx.md (movmemsi): Do not use this pattern when
volatile pointers are involved.
2011-04-13 Uros Bizjak <ubizjak@gmail.com> 2011-04-13 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sse.md (pinsrbits): Remove. * config/i386/sse.md (pinsrbits): Remove.
......
...@@ -2030,6 +2030,14 @@ ...@@ -2030,6 +2030,14 @@
rtx addr2 = gen_rtx_REG (SImode, 2); rtx addr2 = gen_rtx_REG (SImode, 2);
rtx len = gen_rtx_REG (SImode, 3); rtx len = gen_rtx_REG (SImode, 3);
/* Do not use when the source or destination are volatile - the SMOVF
instruction will read and write in word sized blocks, which may be
outside of the valid address range. */
if (MEM_P (operands[0]) && MEM_VOLATILE_P (operands[0]))
FAIL;
if (MEM_P (operands[1]) && MEM_VOLATILE_P (operands[1]))
FAIL;
if (REG_P (operands[0]) && (REGNO (operands[0]) == 2 if (REG_P (operands[0]) && (REGNO (operands[0]) == 2
|| REGNO (operands[0]) == 3)) || REGNO (operands[0]) == 3))
FAIL; FAIL;
......
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