From 6ac62473ac5ba9253d461fc737417d64dc24823b Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 15 Feb 1997 18:45:23 -0500 Subject: [PATCH] (cmpsi): Added insn with appropriate constraints for TARGET_5200; changed condition of existing insn to !TARGET_5200. From-SVN: r13649 --- gcc/config/m68k/m68k.md | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 83d38793fb6..058f4742144 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -485,12 +485,12 @@ } }") -;; A composite of the cmp, cmpa, & cmpi m68000 op codes. +;; A composite of the cmp, cmpa, cmpi & cmpm m68000 op codes. (define_insn "" [(set (cc0) (compare (match_operand:SI 0 "nonimmediate_operand" "rKs,mr,>") - (match_operand:SI 1 "general_operand" "mr,Ksr,>")))] - "" + (match_operand:SI 1 "general_operand" "mr,rKs,>")))] + "!TARGET_5200" "* { if (GET_CODE (operands[0]) == MEM && GET_CODE (operands[1]) == MEM) @@ -515,6 +515,29 @@ #endif }") +(define_insn "" + [(set (cc0) + (compare (match_operand:SI 0 "nonimmediate_operand" "mrKs,r") + (match_operand:SI 1 "general_operand" "r,mrKs")))] + "TARGET_5200" + "* +{ + if (REG_P (operands[1]) + || (!REG_P (operands[0]) && GET_CODE (operands[0]) != MEM)) + { cc_status.flags |= CC_REVERSED; +#ifdef SGS_CMP_ORDER + return \"cmp%.l %d1,%d0\"; +#else + return \"cmp%.l %d0,%d1\"; +#endif + } +#ifdef SGS_CMP_ORDER + return \"cmp%.l %d0,%d1\"; +#else + return \"cmp%.l %d1,%d0\"; +#endif +}") + (define_insn "cmphi" [(set (cc0) (compare (match_operand:HI 0 "nonimmediate_operand" "rnm,d,n,m,>") -- 2.30.2