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
This commit is contained in:
Uros Bizjak 2012-03-13 17:21:23 +01:00 committed by Uros Bizjak
parent 62a1c0416f
commit ff71e554be
2 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,8 @@
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

View File

@ -11435,10 +11435,14 @@ ix86_decompose_address (rtx addr, struct ix86_address *out)
{
addr = XEXP (addr, 0);
/* Strip subreg. */
if (GET_CODE (addr) == SUBREG
&& GET_MODE (SUBREG_REG (addr)) == SImode)
/* Adjust SUBREGs. */
if (GET_MODE (addr) == DImode)
addr = gen_rtx_SUBREG (SImode, addr, 0);
else if (GET_CODE (addr) == SUBREG
&& GET_MODE (SUBREG_REG (addr)) == SImode)
addr = SUBREG_REG (addr);
else
return 0;
}
}