mirror of git://gcc.gnu.org/git/gcc.git
m68k.c (notice_update_cc): Handle register conflict with PRE_DEC.
* config/m68k/m68k.c (notice_update_cc): Handle register conflict with PRE_DEC. From-SVN: r203922
This commit is contained in:
parent
be194e0e30
commit
1adb2fb9ce
|
|
@ -1,3 +1,8 @@
|
||||||
|
2013-10-22 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
* config/m68k/m68k.c (notice_update_cc): Handle register conflict
|
||||||
|
with PRE_DEC.
|
||||||
|
|
||||||
2013-10-22 Paolo Carlini <paolo.carlini@oracle.com>
|
2013-10-22 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
* doc/contrib.texi ([Fran@,{c}ois Dumont], [Tim Shen],
|
* doc/contrib.texi ([Fran@,{c}ois Dumont], [Tim Shen],
|
||||||
|
|
|
||||||
|
|
@ -4209,6 +4209,13 @@ notice_update_cc (rtx exp, rtx insn)
|
||||||
&& cc_status.value2
|
&& cc_status.value2
|
||||||
&& reg_overlap_mentioned_p (cc_status.value1, cc_status.value2))
|
&& reg_overlap_mentioned_p (cc_status.value1, cc_status.value2))
|
||||||
cc_status.value2 = 0;
|
cc_status.value2 = 0;
|
||||||
|
/* Check for PRE_DEC in dest modifying a register used in src. */
|
||||||
|
if (cc_status.value1 && GET_CODE (cc_status.value1) == MEM
|
||||||
|
&& GET_CODE (XEXP (cc_status.value1, 0)) == PRE_DEC
|
||||||
|
&& cc_status.value2
|
||||||
|
&& reg_overlap_mentioned_p (XEXP (XEXP (cc_status.value1, 0), 0),
|
||||||
|
cc_status.value2))
|
||||||
|
cc_status.value2 = 0;
|
||||||
if (((cc_status.value1 && FP_REG_P (cc_status.value1))
|
if (((cc_status.value1 && FP_REG_P (cc_status.value1))
|
||||||
|| (cc_status.value2 && FP_REG_P (cc_status.value2))))
|
|| (cc_status.value2 && FP_REG_P (cc_status.value2))))
|
||||||
cc_status.flags = CC_IN_68881;
|
cc_status.flags = CC_IN_68881;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue