Commit 5a8c2b57 by Alan Modra Committed by Alan Modra

re PR middle-end/57134 (ICE with -mstrict-align and inline assembly on ppc64)

	PR middle-end/57134
	PR middle-end/57586
	* stmt.c (expand_asm_operands): Call expand_expr with
	EXPAND_MEMORY for output operands that disallow regs.  Don't
	use EXPAND_WRITE on inout operands.

From-SVN: r202866
parent f40333af
2013-09-24 Alan Modra <amodra@gmail.com>
PR middle-end/57134
PR middle-end/57586
* stmt.c (expand_asm_operands): Call expand_expr with
EXPAND_MEMORY for output operands that disallow regs. Don't
use EXPAND_WRITE on inout operands.
2013-09-24 Richard Biener <rguenther@suse.de> 2013-09-24 Richard Biener <rguenther@suse.de>
PR middle-end/58513 PR middle-end/58513
......
...@@ -806,7 +806,10 @@ expand_asm_operands (tree string, tree outputs, tree inputs, ...@@ -806,7 +806,10 @@ expand_asm_operands (tree string, tree outputs, tree inputs,
|| ! allows_reg || ! allows_reg
|| is_inout) || is_inout)
{ {
op = expand_expr (val, NULL_RTX, VOIDmode, EXPAND_WRITE); op = expand_expr (val, NULL_RTX, VOIDmode,
!allows_reg ? EXPAND_MEMORY
: !is_inout ? EXPAND_WRITE
: EXPAND_NORMAL);
if (MEM_P (op)) if (MEM_P (op))
op = validize_mem (op); op = validize_mem (op);
......
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