Index: src/IceInstX8632.cpp |
diff --git a/src/IceInstX8632.cpp b/src/IceInstX8632.cpp |
index 622c9edf1de27856429836c36356311f47f44b6c..776a8708b8a31ccf89ec250629bac6fd42f30f44 100644 |
--- a/src/IceInstX8632.cpp |
+++ b/src/IceInstX8632.cpp |
@@ -34,7 +34,7 @@ const struct InstX8632BrAttributes_ { |
#define X(tag, encode, opp, dump, emit) \ |
{ CondX86::opp, dump, emit } \ |
, |
- ICEINSTX8632BR_TABLE |
+ ICEINSTX8632BR_TABLE |
#undef X |
}; |
@@ -44,7 +44,7 @@ const struct InstX8632CmppsAttributes_ { |
#define X(tag, emit) \ |
{ emit } \ |
, |
- ICEINSTX8632CMPPS_TABLE |
+ ICEINSTX8632CMPPS_TABLE |
#undef X |
}; |
@@ -58,7 +58,7 @@ const struct TypeX8632Attributes_ { |
#define X(tag, elementty, cvt, sdss, pack, width, fld) \ |
{ cvt, sdss, pack, width, fld } \ |
, |
- ICETYPEX8632_TABLE |
+ ICETYPEX8632_TABLE |
#undef X |
}; |
@@ -1256,9 +1256,9 @@ void emitVariableBlendInst(const char *Opcode, const Inst *Inst, |
Inst->getDest()->emit(Func); |
} |
-void |
-emitIASVariableBlendInst(const Inst *Inst, const Cfg *Func, |
- const x86::AssemblerX86::XmmEmitterRegOp &Emitter) { |
+void emitIASVariableBlendInst( |
+ const Inst *Inst, const Cfg *Func, |
+ const x86::AssemblerX86::XmmEmitterRegOp &Emitter) { |
assert(Inst->getSrcSize() == 3); |
assert(llvm::cast<Variable>(Inst->getSrc(2))->getRegNum() == |
RegX8632::Reg_xmm0); |
@@ -1640,11 +1640,7 @@ void InstX8632Cmpxchg::emitIAS(const Cfg *Func) const { |
assert(VarReg->hasReg()); |
const RegX8632::GPRRegister Reg = |
RegX8632::getEncodedGPR(VarReg->getRegNum()); |
- if (Locked) { |
- Asm->LockCmpxchg(Ty, Addr, Reg); |
- } else { |
- Asm->cmpxchg(Ty, Addr, Reg); |
- } |
+ Asm->cmpxchg(Ty, Addr, Reg, Locked); |
} |
void InstX8632Cmpxchg::dump(const Cfg *Func) const { |
@@ -1676,10 +1672,7 @@ void InstX8632Cmpxchg8b::emitIAS(const Cfg *Func) const { |
const auto Mem = llvm::cast<OperandX8632Mem>(getSrc(0)); |
assert(Mem->getSegmentRegister() == OperandX8632Mem::DefaultSegment); |
const x86::Address Addr = Mem->toAsmAddress(Asm); |
- if (Locked) { |
- Asm->lock(); |
- } |
- Asm->cmpxchg8b(Addr); |
+ Asm->cmpxchg8b(Addr, Locked); |
} |
void InstX8632Cmpxchg8b::dump(const Cfg *Func) const { |
@@ -2731,10 +2724,7 @@ void InstX8632Xadd::emitIAS(const Cfg *Func) const { |
assert(VarReg->hasReg()); |
const RegX8632::GPRRegister Reg = |
RegX8632::getEncodedGPR(VarReg->getRegNum()); |
- if (Locked) { |
- Asm->lock(); |
- } |
- Asm->xadd(Ty, Addr, Reg); |
+ Asm->xadd(Ty, Addr, Reg, Locked); |
} |
void InstX8632Xadd::dump(const Cfg *Func) const { |