| Index: src/ppc/disasm-ppc.cc
|
| diff --git a/src/ppc/disasm-ppc.cc b/src/ppc/disasm-ppc.cc
|
| index cc487ac86d8e5a7154f397e146c00e53917a5a35..eb2064faf2f6bc6bfbcd48ae50a00b47291dd61f 100644
|
| --- a/src/ppc/disasm-ppc.cc
|
| +++ b/src/ppc/disasm-ppc.cc
|
| @@ -78,6 +78,7 @@ class Decoder {
|
|
|
| void DecodeExt1(Instruction* instr);
|
| void DecodeExt2(Instruction* instr);
|
| + void DecodeExt3(Instruction* instr);
|
| void DecodeExt4(Instruction* instr);
|
| void DecodeExt5(Instruction* instr);
|
|
|
| @@ -876,6 +877,19 @@ void Decoder::DecodeExt2(Instruction* instr) {
|
| }
|
|
|
|
|
| +void Decoder::DecodeExt3(Instruction* instr) {
|
| + switch (instr->Bits(10, 1) << 1) {
|
| + case FCFID: {
|
| + Format(instr, "fcfids'. 'Dt, 'Db");
|
| + break;
|
| + }
|
| + default: {
|
| + Unknown(instr); // not used by V8
|
| + }
|
| + }
|
| +}
|
| +
|
| +
|
| void Decoder::DecodeExt4(Instruction* instr) {
|
| switch (instr->Bits(5, 1) << 1) {
|
| case FDIV: {
|
| @@ -1293,7 +1307,10 @@ int Decoder::InstructionDecode(byte* instr_ptr) {
|
| Format(instr, "stfdu 'Dt, 'int16('ra)");
|
| break;
|
| }
|
| - case EXT3:
|
| + case EXT3: {
|
| + DecodeExt3(instr);
|
| + break;
|
| + }
|
| case EXT4: {
|
| DecodeExt4(instr);
|
| break;
|
|
|