Commit 3e2a46fe by David Alan Gilbert Committed by Richard Sandiford

re PR target/48126 (arm_output_sync_loop: misplaced memory barrier)

gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	PR target/48126
	* config/arm/arm.c (arm_output_sync_loop): Move label before barrier.

From-SVN: r179980
parent 80651d8e
2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
PR target/48126
* config/arm/arm.c (arm_output_sync_loop): Move label before barrier.
2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
* config/arm/arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.
2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
......@@ -24217,8 +24217,11 @@ arm_output_sync_loop (emit_f emit,
}
}
arm_process_output_memory_barrier (emit, NULL);
/* Note: label is before barrier so that in cmp failure case we still get
a barrier to stop subsequent loads floating upwards past the ldrex
PR target/48126. */
arm_output_asm_insn (emit, 1, operands, "%sLSYB%%=:", LOCAL_LABEL_PREFIX);
arm_process_output_memory_barrier (emit, NULL);
}
static rtx
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment