* tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
(insert_value_copy_on_edge): Likewise.
* gcc.c-torture/compile/pr70061.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234025
138bc75d-0d04-0410-961f-
82ee72b054a4
+2016-03-07 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/70061
+ * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
+ (insert_value_copy_on_edge): Likewise.
+
2016-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm_neon.h: Show error if using with soft-float ABI.
+2016-03-07 Richard Henderson <rth@redhat.com>
+
+ * gcc.c-torture/compile/pr70061.c: New test.
+
2016-03-07 Richard Biener <rguenther@suse.de>
PR testsuite/70109
--- /dev/null
+typedef int v8si __attribute__ ((vector_size (32)));
+
+int
+foo(v8si c, v8si d)
+{
+l0:
+ if (c[2])
+ d ^= c;
+ return d[3];
+}
#include "tree-ssa-ter.h"
#include "tree-ssa-coalesce.h"
#include "tree-outof-ssa.h"
+#include "dojump.h"
/* FIXME: A lot of code here deals with expanding to RTL. All that code
should be in cfgexpand.c. */
}
else
emit_move_insn (dest, src);
+ do_pending_stack_adjust ();
rtx_insn *seq = get_insns ();
end_sequence ();
if (x != dest_rtx)
emit_move_insn (dest_rtx, x);
+ do_pending_stack_adjust ();
+
seq = get_insns ();
end_sequence ();