predicates.md (splat_input_operand): Don't call input_operand for MEMs.

* config/rs6000/predicates.md (splat_input_operand): Don't call
	input_operand for MEMs.  Instead check for volatile and call
	memory_address_addr_space_p with modified mode.

From-SVN: r192591
This commit is contained in:
Alan Modra 2012-10-19 09:10:22 +10:30 committed by Alan Modra
parent 19d7dab37d
commit f056e01be2
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2012-10-19 Alan Modra <amodra@gmail.com>
* config/rs6000/predicates.md (splat_input_operand): Don't call
input_operand for MEMs. Instead check for volatile and call
memory_address_addr_space_p with modified mode.
2012-10-17 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
Backported from mainline

View File

@ -891,12 +891,16 @@
{
if (MEM_P (op))
{
if (! volatile_ok && MEM_VOLATILE_P (op))
return 0;
if (mode == DFmode)
mode = V2DFmode;
else if (mode == DImode)
mode = V2DImode;
else
gcc_unreachable ();
gcc_unreachable ();
return memory_address_addr_space_p (mode, XEXP (op, 0),
MEM_ADDR_SPACE (op));
}
return input_operand (op, mode);
})