* config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")
("atomic_compare_and_swap<mode>"): Gate expand_mem_thread_fence calls on result of call to need_atomic_barrier_p. From-SVN: r189500
This commit is contained in:
parent
031831d69b
commit
fdb6272c11
|
@ -1,3 +1,9 @@
|
|||
2012-07-16 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")
|
||||
("atomic_compare_and_swap<mode>"): Gate expand_mem_thread_fence
|
||||
calls on result of call to need_atomic_barrier_p.
|
||||
|
||||
2012-07-15 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
* config/mips/mips.md (move_type): Replace mfhilo and mthilo
|
||||
|
|
|
@ -93,11 +93,15 @@
|
|||
if (<MODE>mode != QImode && TARGET_TRAP_UNALIGNED_ATOMIC)
|
||||
cris_emit_trap_for_misalignment (operands[1]);
|
||||
|
||||
expand_mem_thread_fence (mmodel);
|
||||
if (need_atomic_barrier_p (mmodel, true))
|
||||
expand_mem_thread_fence (mmodel);
|
||||
|
||||
emit_insn (gen_cris_atomic_fetch_<atomic_op_name><mode>_1 (operands[0],
|
||||
operands[1],
|
||||
operands[2]));
|
||||
expand_mem_thread_fence (mmodel);
|
||||
if (need_atomic_barrier_p (mmodel, false))
|
||||
expand_mem_thread_fence (mmodel);
|
||||
|
||||
DONE;
|
||||
})
|
||||
|
||||
|
@ -196,13 +200,17 @@
|
|||
if (<MODE>mode != QImode && TARGET_TRAP_UNALIGNED_ATOMIC)
|
||||
cris_emit_trap_for_misalignment (operands[2]);
|
||||
|
||||
expand_mem_thread_fence (mmodel);
|
||||
if (need_atomic_barrier_p (mmodel, true))
|
||||
expand_mem_thread_fence (mmodel);
|
||||
|
||||
emit_insn (gen_cris_atomic_compare_and_swap<mode>_1 (operands[0],
|
||||
operands[1],
|
||||
operands[2],
|
||||
operands[3],
|
||||
operands[4]));
|
||||
expand_mem_thread_fence (mmodel);
|
||||
if (need_atomic_barrier_p (mmodel, false))
|
||||
expand_mem_thread_fence (mmodel);
|
||||
|
||||
DONE;
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in New Issue