mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-09 19:11:14 +08:00
sync.md (atomic_compare_and_swap<dwi>_doubleword): Improve insn output code.
* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword): Improve insn output code. From-SVN: r190861
This commit is contained in:
parent
eaf23fc3d5
commit
b418bc475d
@ -421,14 +421,13 @@
|
||||
"TARGET_CMPXCHG<doublemodesuffix>B"
|
||||
{
|
||||
bool swap = REGNO (operands[5]) != BX_REG;
|
||||
const char *xchg = "xchg{<imodesuffix>}\t%%<regprefix>bx, %5";
|
||||
|
||||
if (swap)
|
||||
output_asm_insn ("xchg{<imodesuffix>}\t%%<regprefix>bx, %5", operands);
|
||||
|
||||
output_asm_insn (xchg, operands);
|
||||
output_asm_insn ("lock{%;} %K7cmpxchg<doublemodesuffix>b\t%2", operands);
|
||||
|
||||
if (swap)
|
||||
output_asm_insn ("xchg{<imodesuffix>}\t%%<regprefix>bx, %5", operands);
|
||||
output_asm_insn (xchg, operands);
|
||||
|
||||
return "";
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user