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:
parent
62a1c0416f
commit
ff71e554be
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user