diff --git a/gcc/ira-int.h b/gcc/ira-int.h
index e282415f98cde350bc3cb2e660047ddf7edc833b..c5b273a5a7024d655f6815e1c0bc408054979aca 100644
--- a/gcc/ira-int.h
+++ b/gcc/ira-int.h
@@ -318,7 +318,7 @@ struct ira_allocno
      number (0, ...) - 2.  Value -1 is used for allocnos spilled by the
      reload (at this point pseudo-register has only one allocno) which
      did not get stack slot yet.  */
-  int hard_regno : 16;
+  signed int hard_regno : 16;
   /* Allocnos with the same regno are linked by the following member.
      Allocnos corresponding to inner loops are first in the list (it
      corresponds to depth-first traverse of the loops).  */
