OSDN Git Service

PR target/25718
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Jan 2006 18:13:16 +0000 (18:13 +0000)
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Jan 2006 18:13:16 +0000 (18:13 +0000)
* config/cris/cris.md ("uminsi3"): Don't use 8- or 16-bit sizes
for a negative bound.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109548 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/cris/cris.md

index 5665897..a657319 100644 (file)
 {
   if (GET_CODE (operands[2]) == CONST_INT)
     {
-      if (INTVAL (operands[2]) < 256)
-       return "bound.b %2,%0";
+      /* Constant operands are zero-extended, so only 32-bit operands
+        may be negative.  */
+      if (INTVAL (operands[2]) >= 0)
+       {
+         if (INTVAL (operands[2]) < 256)
+           return "bound.b %2,%0";
 
-      if (INTVAL (operands[2]) < 65536)
-       return "bound.w %2,%0";
+         if (INTVAL (operands[2]) < 65536)
+           return "bound.w %2,%0";
+       }
     }
   else if (which_alternative == 3)
     return "bound.d %2,%1,%0";