Commit ff71e554 by Uros Bizjak Committed by Uros Bizjak

i386.c (ix86_decompose_address): Handle subregs of AND zero extended address correctly.

	* config/i386/i386.c (ix86_decompose_address): Handle subregs of
	AND zero extended address correctly.

From-SVN: r185343
parent 62a1c041
2012-03-13 Uros Bizjak <ubizjak@gmail.com> 2012-03-13 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (ix86_decompose_address): Handle subregs of
AND zero extended address correctly.
2012-03-13 Uros Bizjak <ubizjak@gmail.com>
* config/i386/predicates.md (tls_symbolic_operand): Declare as * config/i386/predicates.md (tls_symbolic_operand): Declare as
special predicate. special predicate.
(tls_modbase_operand): Ditto. (tls_modbase_operand): Ditto.
......
...@@ -11435,10 +11435,14 @@ ix86_decompose_address (rtx addr, struct ix86_address *out) ...@@ -11435,10 +11435,14 @@ ix86_decompose_address (rtx addr, struct ix86_address *out)
{ {
addr = XEXP (addr, 0); addr = XEXP (addr, 0);
/* Strip subreg. */ /* Adjust SUBREGs. */
if (GET_CODE (addr) == SUBREG if (GET_MODE (addr) == DImode)
&& GET_MODE (SUBREG_REG (addr)) == SImode) addr = gen_rtx_SUBREG (SImode, addr, 0);
else if (GET_CODE (addr) == SUBREG
&& GET_MODE (SUBREG_REG (addr)) == SImode)
addr = SUBREG_REG (addr); addr = SUBREG_REG (addr);
else
return 0;
} }
} }
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