Commit fd6b2a6d by Richard Stallman

(cmpsi): Use `cmpq' for small immediate values.

(addsi3): Use `loada' for `reg1 = reg2  + immed'.

From-SVN: r4182
parent a3404926
...@@ -83,13 +83,26 @@ ...@@ -83,13 +83,26 @@
"" ""
"* "*
{ {
int val;
if (which_alternative == 0) if (which_alternative == 0)
return \"cmpw %1,%0\"; return \"cmpw %1,%0\";
if (which_alternative == 1) if (which_alternative == 1)
return \"cmpi %1,%0\"; {
val = INTVAL (operands[1]);
if (0 <= val && val < 16)
return \"cmpq %1,%0\";
return \"cmpi %1,%0\";
}
cc_status.flags |= CC_REVERSED; /* immediate must be first */ cc_status.flags |= CC_REVERSED; /* immediate must be first */
val = INTVAL (operands[0]);
if (0 <= val && val < 16)
return \"cmpq %0,%1\";
return \"cmpi %0,%1\"; return \"cmpi %0,%1\";
}") }")
...@@ -688,12 +701,16 @@ ...@@ -688,12 +701,16 @@
(define_insn "addsi3" (define_insn "addsi3"
[(set (match_operand:SI 0 "int_reg_operand" "=r,r,r") [(set (match_operand:SI 0 "int_reg_operand" "=r,r,r")
(plus:SI (match_operand:SI 1 "int_reg_operand" "%0,r,r") (plus:SI (match_operand:SI 1 "int_reg_operand" "%0,r,r")
(match_operand:SI 2 "nonmemory_operand" "rn,0,r")))] (match_operand:SI 2 "nonmemory_operand" "rn,0,rn")))]
"" ""
"* "*
{ {
if (which_alternative == 2) /* 3 address version */ if (which_alternative == 2) /* 3 address version */
return \"loada [%2](%1),%0\"; {
if (GET_CODE (operands[2]) == CONST_INT)
return \"loada %a2(%1),%0\";
return \"loada [%2](%1),%0\";
}
/* 2 address version */ /* 2 address version */
if (GET_CODE (operands[2]) == CONST_INT) if (GET_CODE (operands[2]) == CONST_INT)
{ {
...@@ -1377,14 +1394,3 @@ ...@@ -1377,14 +1394,3 @@
;; These patters are jump_insns that do not allow output reloads and clipper ;; These patters are jump_insns that do not allow output reloads and clipper
;; can only decrement and test registers. ;; can only decrement and test registers.
;; ;;
;;- Local variables:
;;- mode:c
;;- comment-start: ";;- "
;;- eval: (set-syntax-table (copy-sequence (syntax-table)))
;;- eval: (modify-syntax-entry ?[ "(]")
;;- eval: (modify-syntax-entry ?] ")[")
;;- eval: (modify-syntax-entry ?{ "(}")
;;- eval: (modify-syntax-entry ?} "){")
;;- End:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment