Commit f8940d4a by James Greenhalgh Committed by James Greenhalgh

[Patch] The comparison in a compare exchange should not take place in VOIDmode

gcc/

	* builtins.c (expand_builtin_atomic_compare_exchange): Call
	emit_cmp_and_jump_insns with the mode of target.

From-SVN: r224148
parent edf1fd6d
2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
* builtins.c (expand_builtin_atomic_compare_exchange): Call
emit_cmp_and_jump_insns with the mode of target.
2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
* config/i386/sse.md (sse3_mwait): Swap the operand constriants.
......
......@@ -5471,7 +5471,8 @@ expand_builtin_atomic_compare_exchange (machine_mode mode, tree exp,
the normal case where EXPECT is totally private, i.e. a register. At
which point the store can be unconditional. */
label = gen_label_rtx ();
emit_cmp_and_jump_insns (target, const0_rtx, NE, NULL, VOIDmode, 1, label);
emit_cmp_and_jump_insns (target, const0_rtx, NE, NULL,
GET_MODE (target), 1, label);
emit_move_insn (expect, oldval);
emit_label (label);
......
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