diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-11-12 14:34:29 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-11-12 14:34:29 -0500 |
commit | 3192773f267f7aa4624c87f8e2ceb25ff71e9d4a (patch) | |
tree | 16ce38ae994197a77bfe9fe307736bb1c03ef998 | |
parent | 71e1e2c8431247a4f7c0961da1fff7e65d0ee14f (diff) | |
download | gcc-3192773f267f7aa4624c87f8e2ceb25ff71e9d4a.zip gcc-3192773f267f7aa4624c87f8e2ceb25ff71e9d4a.tar.gz gcc-3192773f267f7aa4624c87f8e2ceb25ff71e9d4a.tar.bz2 |
(movqi): Emit 'st' for INTVAL & 255 == 255, not INTVAL == -1.
(seq,sne,sgt,sgtu,slt,sltu,sge,sgeu,sle,sleu): Allow "m" as operand 0.
From-SVN: r13138
-rw-r--r-- | gcc/config/m68k/m68k.md | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index cb791f6..db598c5 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -979,7 +979,7 @@ if (operands[1] == const0_rtx) return \"clr%.b %0\"; if (GET_CODE (operands[1]) == CONST_INT - && INTVAL (operands[1]) == -1) + && (INTVAL (operands[1]) & 255) == 255) { CC_STATUS_INIT; return \"st %0\"; @@ -5170,7 +5170,7 @@ } ") (define_insn "seq" - [(set (match_operand:QI 0 "general_operand" "=d") + [(set (match_operand:QI 0 "general_operand" "=dm") (eq:QI (cc0) (const_int 0)))] "" "* @@ -5179,7 +5179,7 @@ ") (define_insn "sne" - [(set (match_operand:QI 0 "general_operand" "=d") + [(set (match_operand:QI 0 "general_operand" "=dm") (ne:QI (cc0) (const_int 0)))] "" "* @@ -5188,7 +5188,7 @@ ") (define_insn "sgt" - [(set (match_operand:QI 0 "general_operand" "=d") + [(set (match_operand:QI 0 "general_operand" "=dm") (gt:QI (cc0) (const_int 0)))] "" "* @@ -5197,42 +5197,42 @@ ") (define_insn "sgtu" - [(set (match_operand:QI 0 "general_operand" "=d") + [(set (match_operand:QI 0 "general_operand" "=dm") (gtu:QI (cc0) (const_int 0)))] "" "* cc_status = cc_prev_status; return \"shi %0\"; ") (define_insn "slt" - [(set (match_operand:QI 0 "general_operand" "=d") + [(set (match_operand:QI 0 "general_operand" "=dm") (lt:QI (cc0) (const_int 0)))] "" "* cc_status = cc_prev_status; OUTPUT_JUMP (\"slt %0\", \"fslt %0\", \"smi %0\"); ") (define_insn "sltu" - [(set (match_operand:QI 0 "general_operand" "=d") + [(set (match_operand:QI 0 "general_operand" "=dm") (ltu:QI (cc0) (const_int 0)))] "" "* cc_status = cc_prev_status; return \"scs %0\"; ") (define_insn "sge" - [(set (match_operand:QI 0 "general_operand" "=d") + [(set (match_operand:QI 0 "general_operand" "=dm") (ge:QI (cc0) (const_int 0)))] "" "* cc_status = cc_prev_status; OUTPUT_JUMP (\"sge %0\", \"fsge %0\", \"spl %0\"); ") (define_insn "sgeu" - [(set (match_operand:QI 0 "general_operand" "=d") + [(set (match_operand:QI 0 "general_operand" "=dm") (geu:QI (cc0) (const_int 0)))] "" "* cc_status = cc_prev_status; return \"scc %0\"; ") (define_insn "sle" - [(set (match_operand:QI 0 "general_operand" "=d") + [(set (match_operand:QI 0 "general_operand" "=dm") (le:QI (cc0) (const_int 0)))] "" "* @@ -5241,7 +5241,7 @@ ") (define_insn "sleu" - [(set (match_operand:QI 0 "general_operand" "=d") + [(set (match_operand:QI 0 "general_operand" "=dm") (leu:QI (cc0) (const_int 0)))] "" "* cc_status = cc_prev_status; |