diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0c1508a613c714f1b477a4bc9df6d68dee990077..43e0364b4e707f46adb1b3215d761bda1f56185d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,7 +1,12 @@
+2011-07-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_expand_move): Do not explicitly check
+	the mode of symbolic_opreand RTXes.
+
 2011-07-27  Uros Bizjak  <ubizjak@gmail.com>
 
 	* config/i386/predicates.md (x86_64_movabs_operand): Reject
-	pic32_bit_operand operands.
+	pic32_bit_operand RTXes.
 	* config/i386/i386.c (ix86_expand_move): Check x86_64_movabs_operand
 	in DImode.
 
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 1728219a2fca6b9785660f42a1a2ac53789b164e..8723dc57d488ae8c244da93e43408eba63ae878f 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -15032,7 +15032,6 @@ ix86_expand_move (enum machine_mode mode, rtx operands[])
     }
 
   if ((flag_pic || MACHOPIC_INDIRECT) 
-      && (mode == SImode || mode == DImode)
       && symbolic_operand (op1, mode))
     {
       if (TARGET_MACHO && !TARGET_64BIT)