https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801 --- gcc/sched-deps.c 2014/04/11 12:49:40 209304 +++ gcc/sched-deps.c 2014/07/17 07:48:49 212739 @@ -2750,7 +2750,8 @@ Consider for instance a volatile asm that changes the fpu rounding mode. An insn should not be moved across this even if it only uses pseudo-regs because it might give an incorrectly rounded result. */ - if (code != ASM_OPERANDS || MEM_VOLATILE_P (x)) + if ((code != ASM_OPERANDS || MEM_VOLATILE_P (x)) + && !DEBUG_INSN_P (insn)) reg_pending_barrier = TRUE_BARRIER; /* For all ASM_OPERANDS, we must traverse the vector of input operands.