+2015-09-14 John David Anglin <danglin@gcc.gnu.org>
+
+ PR middle-end/67401
+ * optabs.c (expand_atomic_compare_and_swap): Move result of emitting
+ sync_compare_and_swap_optab libcall to target_oval.
+
2015-09-14 Marek Polacek <polacek@redhat.com>
* rtlanal.c (split_double): Cast to unsigned when shifting a negative
if (libfunc != NULL)
{
rtx addr = convert_memory_address (ptr_mode, XEXP (mem, 0));
- target_oval = emit_library_call_value (libfunc, NULL_RTX, LCT_NORMAL,
- mode, 3, addr, ptr_mode,
- expected, mode, desired, mode);
+ rtx target = emit_library_call_value (libfunc, NULL_RTX, LCT_NORMAL,
+ mode, 3, addr, ptr_mode,
+ expected, mode, desired, mode);
+ emit_move_insn (target_oval, target);
/* Compute the boolean return value only if requested. */
if (ptarget_bool)