gcc/
2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/47725
* combine.c (cant_combine_insn_p): Check zero/sign extended
hard registers.
gcc/testsuite/
2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/47725
* gcc.dg/torture/pr47725.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170179
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47725
+ * combine.c (cant_combine_insn_p): Check zero/sign extended
+ hard registers.
+
2011-02-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47743
return 0;
src = SET_SRC (set);
dest = SET_DEST (set);
+ if (GET_CODE (src) == ZERO_EXTEND
+ || GET_CODE (src) == SIGN_EXTEND)
+ src = XEXP (src, 0);
+ if (GET_CODE (dest) == ZERO_EXTEND
+ || GET_CODE (dest) == SIGN_EXTEND)
+ dest = XEXP (dest, 0);
if (GET_CODE (src) == SUBREG)
src = SUBREG_REG (src);
if (GET_CODE (dest) == SUBREG)
+2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47725
+ * gcc.dg/torture/pr47725.c: New.
+
2011-02-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47743
--- /dev/null
+/* { dg-do compile } */
+
+struct _Unwind_Context
+{
+ void *reg[17];
+ void *ra;
+};
+extern void bar (struct _Unwind_Context *);
+void
+__frame_state_for (void *pc_target)
+{
+ struct _Unwind_Context context;
+ __builtin_memset (&context, 0, sizeof (struct _Unwind_Context));
+ context.ra = pc_target;
+ bar (&context);
+}