| Index: src/compiler/x87/code-generator-x87.cc
|
| diff --git a/src/compiler/x87/code-generator-x87.cc b/src/compiler/x87/code-generator-x87.cc
|
| index 1d22ae9b6be41b86d5e5fe65b76aac727490fdb3..82e575e4843ae9807dbadc6802bd9f65d0091cdf 100644
|
| --- a/src/compiler/x87/code-generator-x87.cc
|
| +++ b/src/compiler/x87/code-generator-x87.cc
|
| @@ -1698,6 +1698,24 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
|
| }
|
| break;
|
| }
|
| + case kX87Xchgb: {
|
| + size_t index = 0;
|
| + Operand operand = i.MemoryOperand(&index);
|
| + __ xchg_b(i.InputRegister(index), operand);
|
| + break;
|
| + }
|
| + case kX87Xchgw: {
|
| + size_t index = 0;
|
| + Operand operand = i.MemoryOperand(&index);
|
| + __ xchg_w(i.InputRegister(index), operand);
|
| + break;
|
| + }
|
| + case kX87Xchgl: {
|
| + size_t index = 0;
|
| + Operand operand = i.MemoryOperand(&index);
|
| + __ xchg(i.InputRegister(index), operand);
|
| + break;
|
| + }
|
| case kX87PushFloat32:
|
| __ lea(esp, Operand(esp, -kFloatSize));
|
| if (instr->InputAt(0)->IsDoubleStackSlot()) {
|
| @@ -1771,6 +1789,9 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
|
| case kAtomicLoadInt16:
|
| case kAtomicLoadUint16:
|
| case kAtomicLoadWord32:
|
| + case kAtomicStoreWord8:
|
| + case kAtomicStoreWord16:
|
| + case kAtomicStoreWord32:
|
| UNREACHABLE(); // Won't be generated by instruction selector.
|
| break;
|
| }
|
|
|