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

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

From-SVN: r4182
This commit is contained in:
Richard Stallman 1993-04-18 04:42:33 +00:00
parent a3404926b0
commit fd6b2a6d3e

View File

@ -83,13 +83,26 @@
""
"*
{
int val;
if (which_alternative == 0)
return \"cmpw %1,%0\";
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 */
val = INTVAL (operands[0]);
if (0 <= val && val < 16)
return \"cmpq %0,%1\";
return \"cmpi %0,%1\";
}")
@ -688,12 +701,16 @@
(define_insn "addsi3"
[(set (match_operand:SI 0 "int_reg_operand" "=r,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 */
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 */
if (GET_CODE (operands[2]) == CONST_INT)
{
@ -1377,14 +1394,3 @@
;; These patters are jump_insns that do not allow output reloads and clipper
;; 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: