| Index: src/ia32/disasm-ia32.cc
 | 
| diff --git a/src/ia32/disasm-ia32.cc b/src/ia32/disasm-ia32.cc
 | 
| index 789e7ba9fe3bc739a47a774271521c8986cbc452..9140d5782158485429354b66aae5272ac6c396e9 100644
 | 
| --- a/src/ia32/disasm-ia32.cc
 | 
| +++ b/src/ia32/disasm-ia32.cc
 | 
| @@ -1028,6 +1028,16 @@ int DisassemblerIA32::AVXInstruction(byte* data) {
 | 
|                         NameOfXMMRegister(vvvv));
 | 
|          current += PrintRightXMMOperand(current);
 | 
|          break;
 | 
| +      case 0xC2: {
 | 
| +        const char* const pseudo_op[] = {"eq",  "lt",  "le",  "unord",
 | 
| +                                         "neq", "nlt", "nle", "ord"};
 | 
| +        AppendToBuffer("vcmpps %s,%s,", NameOfXMMRegister(regop),
 | 
| +                       NameOfXMMRegister(vvvv));
 | 
| +        current += PrintRightXMMOperand(current);
 | 
| +        AppendToBuffer(", (%s)", pseudo_op[*current]);
 | 
| +        current++;
 | 
| +        break;
 | 
| +      }
 | 
|        default:
 | 
|          UnimplementedInstruction();
 | 
|      }
 | 
| @@ -1569,6 +1579,16 @@ int DisassemblerIA32::InstructionDecode(v8::internal::Vector<char> out_buffer,
 | 
|                             NameOfCPURegister(regop),
 | 
|                             NameOfXMMRegister(rm));
 | 
|              data++;
 | 
| +          } else if (f0byte == 0xC2) {
 | 
| +            data += 2;
 | 
| +            int mod, regop, rm;
 | 
| +            get_modrm(*data, &mod, ®op, &rm);
 | 
| +            const char* const pseudo_op[] = {"eq",  "lt",  "le",  "unord",
 | 
| +                                             "neq", "nlt", "nle", "ord"};
 | 
| +            AppendToBuffer("cmpps %s, ", NameOfXMMRegister(regop));
 | 
| +            data += PrintRightXMMOperand(data);
 | 
| +            AppendToBuffer(", (%s)", pseudo_op[*data]);
 | 
| +            data++;
 | 
|            } else if (f0byte== 0xC6) {
 | 
|              // shufps xmm, xmm/m128, imm8
 | 
|              data += 2;
 | 
| 
 |