aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68k
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2017-09-18 19:06:00 +0000
committerAndreas Schwab <schwab@gcc.gnu.org>2017-09-18 19:06:00 +0000
commit05d41b0cb1947efb306b645095724624c21fcdc1 (patch)
treee9850bedf2931b2190167d781189838eedc2395a /gcc/config/m68k
parentf5987ce627c64d86b8f4ebd9972f0769e7f77ba8 (diff)
re PR target/81613 (FAIL: gfortran.dg/intrinsic_modulo_1.f90 -O3 -g execution test)
PR target/81613 * config/m68k/m68k.md (moveq feeding equality comparison): Check that the registers are different. From-SVN: r252949
Diffstat (limited to 'gcc/config/m68k')
-rw-r--r--gcc/config/m68k/m68k.md3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index 7933f8eb253..827dc809342 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -7728,7 +7728,8 @@
"peep2_reg_dead_p (2, operands[0])
&& peep2_reg_dead_p (2, operands[2])
&& (operands[3] == pc_rtx || operands[4] == pc_rtx)
- && DATA_REG_P (operands[2])"
+ && DATA_REG_P (operands[2])
+ && !rtx_equal_p (operands[0], operands[2])"
[(set (match_dup 2) (plus:SI (match_dup 2) (match_dup 6)))
(set (cc0) (compare (match_dup 2) (const_int 0)))
(set (pc) (if_then_else (match_op_dup 5 [(cc0) (const_int 0)])