Commit c64ca3e9 by Richard Kenner

i386.md (movhi, movqi): Properly recognized unsigned forms of -1 for

dec[bw] insns.

From-SVN: r6909
parent 682ba3a6
;; GCC machine description for Intel 80386. ;; 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. ;; Mostly by William Schelter.
;; This file is part of GNU CC. ;; This file is part of GNU CC.
...@@ -2103,23 +2103,24 @@ ...@@ -2103,23 +2103,24 @@
&& GET_CODE (operands[2]) == CONST_INT && GET_CODE (operands[2]) == CONST_INT
&& (INTVAL (operands[2]) & 0xff) == 0) && (INTVAL (operands[2]) & 0xff) == 0)
{ {
int byteval = (INTVAL (operands[2]) >> 8) & 0xff;
CC_STATUS_INIT; CC_STATUS_INIT;
operands[2] = GEN_INT ((INTVAL (operands[2]) >> 8) & 0xff); if (byteval == 1)
if (operands[2] == const1_rtx)
return AS1 (inc%B0,%h0); return AS1 (inc%B0,%h0);
else if (byteval == 255)
if (operands[2] == constm1_rtx)
return AS1 (dec%B0,%h0); return AS1 (dec%B0,%h0);
operands[2] = GEN_INT (byteval);
return AS2 (add%B0,%2,%h0); return AS2 (add%B0,%2,%h0);
} }
if (operands[2] == const1_rtx) if (operands[2] == const1_rtx)
return AS1 (inc%W0,%0); 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 AS1 (dec%W0,%0);
return AS2 (add%W0,%2,%0); return AS2 (add%W0,%2,%0);
...@@ -2135,7 +2136,9 @@ ...@@ -2135,7 +2136,9 @@
if (operands[2] == const1_rtx) if (operands[2] == const1_rtx)
return AS1 (inc%B0,%0); 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 AS1 (dec%B0,%0);
return AS2 (add%B0,%2,%0); return AS2 (add%B0,%2,%0);
......
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