Commit 0ca89db7 by Ulrich Weigand Committed by Ulrich Weigand

s390.c (s390_secondary_output_reload_class): Adapt check for non-offsettable…

s390.c (s390_secondary_output_reload_class): Adapt check for non-offsettable memory references to cope with outstanding...

	* config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
	for non-offsettable memory references to cope with outstanding reload
	replacements, take 2.

From-SVN: r96480
parent 09c239f6
2005-03-15 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
for non-offsettable memory references to cope with outstanding reload
replacements, take 2.
2005-03-15 Uros Bizjak <uros@kss-loka.si>
PR target/18668
......
......@@ -2553,16 +2553,15 @@ enum reg_class
s390_secondary_output_reload_class (enum reg_class class,
enum machine_mode mode, rtx out)
{
struct s390_address addr;
if ((TARGET_64BIT ? mode == TImode
: (mode == DImode || mode == DFmode))
&& reg_classes_intersect_p (GENERAL_REGS, class)
&& GET_CODE (out) == MEM
&& s390_decompose_address (XEXP (out, 0), &addr)
&& addr.base && addr.indx
&& addr.disp && GET_CODE (addr.disp) == CONST_INT
&& !DISP_IN_RANGE (INTVAL (addr.disp) + GET_MODE_SIZE (mode) - 1))
&& GET_CODE (XEXP (out, 0)) == PLUS
&& GET_CODE (XEXP (XEXP (out, 0), 0)) == PLUS
&& GET_CODE (XEXP (XEXP (out, 0), 1)) == CONST_INT
&& !DISP_IN_RANGE (INTVAL (XEXP (XEXP (out, 0), 1))
+ GET_MODE_SIZE (mode) - 1))
return ADDR_REGS;
if (reg_classes_intersect_p (CC_REGS, class))
......
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