Changed files:
gcc-pr24653.patch -> 1.1
gcc-pr24669.patch -> 1.1
--- /dev/null
+--- gcc/gcc/tree-ssa-ccp.c (revision 106422)
++++ gcc/gcc/tree-ssa-ccp.c (working copy)
+@@ -853,6 +853,10 @@ ccp_fold (tree stmt)
+ op0 = get_value (op0, true)->value;
+ }
+
++ if ((code == NOP_EXPR || code == CONVERT_EXPR)
++ && tree_ssa_useless_type_conversion_1 (TREE_TYPE (rhs),
++ TREE_TYPE (op0)))
++ return op0;
+ return fold_unary (code, TREE_TYPE (rhs), op0);
+ }
+
+
--- /dev/null
+--- gcc/gcc/config/i386/i386.c (revision 106482)
++++ gcc/gcc/config/i386/i386.c (working copy)
+@@ -5396,8 +5396,12 @@
+ if (parts.index && GET_CODE (parts.index) == SUBREG)
+ parts.index = SUBREG_REG (parts.index);
+
++ /* Penalize displacements a bit. */
++ if (parts.disp && parts.disp != const0_rtx)
++ cost++;
++
+ /* More complex memory references are better. */
+- if (parts.disp && parts.disp != const0_rtx)
++ if (parts.scale)
+ cost--;
+ if (parts.seg != SEG_DEFAULT)
+ cost--;