diff --git a/gas/ChangeLog b/gas/ChangeLog
index dc6d4de8d27..1c36544a212 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+Mon Oct 14 13:59:12 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* config/tc-mips.c (load_register): Add cast to offsetT when using
+	a constant with &~.
+
 Mon Oct 14 11:24:28 1996  Richard Henderson  <rth@tamu.edu>
 
 	* config/obj-elf.c (elf_frob_file): Move ECOFF debug processing to ...
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 0cce278e2e0..7c7182e3870 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -1999,7 +1999,7 @@ load_register (counter, reg, ep, dbl)
 		    || sizeof (ep->X_add_number) > 4
 		    || (ep->X_add_number & 0x80000000) == 0))
 	       || ((mips_isa < 3 || !dbl)
-		   && (ep->X_add_number &~ 0xffffffff) == 0))
+		   && (ep->X_add_number &~ (offsetT) 0xffffffff) == 0))
 	{
 	  /* 32 bit values require an lui.  */
 	  macro_build ((char *) NULL, counter, ep, "lui", "t,u", reg,