diff options
Diffstat (limited to 'gcc/config/i386/sync.md')
-rw-r--r-- | gcc/config/i386/sync.md | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/config/i386/sync.md b/gcc/config/i386/sync.md index 50bedcf0dff..44cb5d4c070 100644 --- a/gcc/config/i386/sync.md +++ b/gcc/config/i386/sync.md @@ -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 ""; }) |