aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-11-12 14:34:29 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1996-11-12 14:34:29 -0500
commit3192773f267f7aa4624c87f8e2ceb25ff71e9d4a (patch)
tree16ce38ae994197a77bfe9fe307736bb1c03ef998 /gcc
parent71e1e2c8431247a4f7c0961da1fff7e65d0ee14f (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m68k/m68k.md22
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;