;; GCC machine description for Intel 80386.
-;; Copyright (C) 1988 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994 Free Software Foundation, Inc.
;; Mostly by William Schelter.
;; This file is part of GNU CC.
&& GET_CODE (operands[2]) == CONST_INT
&& (INTVAL (operands[2]) & 0xff) == 0)
{
+ int byteval = (INTVAL (operands[2]) >> 8) & 0xff;
CC_STATUS_INIT;
- operands[2] = GEN_INT ((INTVAL (operands[2]) >> 8) & 0xff);
-
- if (operands[2] == const1_rtx)
+ if (byteval == 1)
return AS1 (inc%B0,%h0);
-
- if (operands[2] == constm1_rtx)
+ else if (byteval == 255)
return AS1 (dec%B0,%h0);
+ operands[2] = GEN_INT (byteval);
return AS2 (add%B0,%2,%h0);
}
if (operands[2] == const1_rtx)
return AS1 (inc%W0,%0);
- if (operands[2] == constm1_rtx)
+ if (operands[2] == constm1_rtx
+ || (GET_CODE (operands[2]) == CONST_INT
+ && INTVAL (operands[2]) == 65535))
return AS1 (dec%W0,%0);
return AS2 (add%W0,%2,%0);
if (operands[2] == const1_rtx)
return AS1 (inc%B0,%0);
- if (operands[2] == constm1_rtx)
+ if (operands[2] == constm1_rtx
+ || (GET_CODE (operands[2]) == CONST_INT
+ && INTVAL (operands[2]) == 255))
return AS1 (dec%B0,%0);
return AS2 (add%B0,%2,%0);