diff --git a/gas/ChangeLog b/gas/ChangeLog
index 2e5aa4fdcfe..9cf4ab4ffad 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,13 @@
 2015-08-11  Nick Clifton  <nickc@redhat.com>
 
+	PR gas/18765
+	* config/tc-arm.c (move_or_literal_pool): Use U suffix to remove
+	compile time warnings about constant expressions being shifted
+	into bit 31.
+	(do_iwmmxt_wldstd): Likewise.
+	(do_iwmmxt_wrwrwr_or_imm5): Likewise.
+	(md_assemble): Likewise.
+
 	PR gas/18574
 	* config/tc-msp430.c (msp430_operands): Rewrite if statements to
 	remove redundant checks.
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 899bfa20ae8..b7edb5e06f5 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -8000,9 +8000,9 @@ move_or_literal_pool (int i, enum lit_type t, bfd_boolean mode_3)
 
 		  /* Fill other bits in vmov encoding for both thumb and arm.  */
 		  if (thumb_mode)
-		    inst.instruction |= (0x7 << 29) | (0xF << 24);
+		    inst.instruction |= (0x7U << 29) | (0xF << 24);
 		  else
-		    inst.instruction |= (0xF << 28) | (0x1 << 25);
+		    inst.instruction |= (0xFU << 28) | (0x1 << 25);
 		  neon_write_immbits (immbits);
 		  return TRUE;
 		}
@@ -9974,7 +9974,7 @@ do_iwmmxt_wldstd (void)
       && inst.operands[1].immisreg)
     {
       inst.instruction &= ~0x1a000ff;
-      inst.instruction |= (0xf << 28);
+      inst.instruction |= (0xfU << 28);
       if (inst.operands[1].preind)
 	inst.instruction |= PRE_INDEX;
       if (!inst.operands[1].negative)
@@ -10053,7 +10053,7 @@ do_iwmmxt_wrwrwr_or_imm5 (void)
       }
     /* Map 32 -> 0, etc.  */
     inst.operands[2].imm &= 0x1f;
-    inst.instruction |= (0xf << 28) | ((inst.operands[2].imm & 0x10) << 4) | (inst.operands[2].imm & 0xf);
+    inst.instruction |= (0xfU << 28) | ((inst.operands[2].imm & 0x10) << 4) | (inst.operands[2].imm & 0xf);
   }
 }
 
@@ -17975,7 +17975,7 @@ md_assemble (char *str)
 
       inst.instruction = opcode->avalue;
       if (opcode->tag == OT_unconditionalF)
-	inst.instruction |= 0xF << 28;
+	inst.instruction |= 0xFU << 28;
       else
 	inst.instruction |= inst.cond << 28;
       inst.size = INSN_SIZE;