+2016-11-17 Jeff Law <law@redhat.com>
+
+ PR target/47192
+ * config/m68k/m68k.c (m68k_expand_epilogue): Emit a scheduling
+ barrier prior to deallocating the stack.
+
2016-11-17 Andrew Burgess <andrew.burgess@embecosm.com>
* config/arc/arc.md (cmem bit/sign-extend peephole2): New peephole
stack-based restore. */
emit_move_insn (gen_rtx_REG (Pmode, A1_REG),
GEN_INT (-(current_frame.offset + fsize)));
+ emit_insn (gen_blockage ());
emit_insn (gen_addsi3 (stack_pointer_rtx,
gen_rtx_REG (Pmode, A1_REG),
frame_pointer_rtx));
current_frame.fpu_mask, false, false);
}
+ emit_insn (gen_blockage ());
if (frame_pointer_needed)
emit_insn (gen_unlink (frame_pointer_rtx));
else if (fsize_with_regs)
+2016-11-17 Jeff Law <law@redhat.com>
+
+ PR target/47192
+ * gcc.target/m68k/pr47192.c: New test.
+
2016-11-17 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/branch-cost-1.c (dg-options): Use (HAS_MOVN)
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -mcpu=51qe -fdisable-ipa-pure-const -fdump-rtl-pro_and_epilogue" } */
+/* { dg-final { scan-rtl-dump-times "unspec_volatile" 1 "pro_and_epilogue"} } */
+
+
+char F(short *ty);
+
+short V(char cmd)
+{
+ static short st256;
+ static short stc;
+ short sc;
+ short scd;
+ short d;
+
+ F(&sc);
+
+ if (cmd == 4)
+ {
+ st256 = 0;
+ d = 0;
+ }
+ else
+ {
+ scd = sc - stc;
+ if (scd < -128)
+ {
+ scd += 256;
+ }
+ d = st256 >> 8;
+ st256 -= d << 8;
+ }
+ stc = sc;
+ return d;
+}
+