| Index: src/mips64/constants-mips64.h
|
| diff --git a/src/mips64/constants-mips64.h b/src/mips64/constants-mips64.h
|
| index 1de058bc37b18644fce5390a275a215c3f9b7d6a..d2e0756e95c6cf861928c9c8f2548b290a921258 100644
|
| --- a/src/mips64/constants-mips64.h
|
| +++ b/src/mips64/constants-mips64.h
|
| @@ -394,6 +394,8 @@ enum SecondaryField {
|
| CLZ_R6 = ((2 << 3) + 0),
|
| CLO_R6 = ((2 << 3) + 1),
|
| MFLO = ((2 << 3) + 2),
|
| + DCLZ_R6 = ((2 << 3) + 2),
|
| + DCLO_R6 = ((2 << 3) + 3),
|
| DSLLV = ((2 << 3) + 4),
|
| DSRLV = ((2 << 3) + 6),
|
| DSRAV = ((2 << 3) + 7),
|
| @@ -462,6 +464,8 @@ enum SecondaryField {
|
| MUL = ((0 << 3) + 2),
|
| CLZ = ((4 << 3) + 0),
|
| CLO = ((4 << 3) + 1),
|
| + DCLZ = ((4 << 3) + 4),
|
| + DCLO = ((4 << 3) + 5),
|
|
|
| // SPECIAL3 Encoding of Function Field.
|
| EXT = ((0 << 3) + 0),
|
| @@ -927,6 +931,7 @@ class Instruction {
|
|
|
| #define FunctionFieldToBitNumber(function) (1ULL << function)
|
|
|
| + // On r6, DCLZ_R6 aliases to existing MFLO.
|
| static const uint64_t kFunctionFieldRegisterTypeMask =
|
| FunctionFieldToBitNumber(JR) | FunctionFieldToBitNumber(JALR) |
|
| FunctionFieldToBitNumber(BREAK) | FunctionFieldToBitNumber(SLL) |
|
| @@ -1171,6 +1176,7 @@ Instruction::Type Instruction::InstructionType(TypeChecks checks) const {
|
| switch (FunctionFieldRaw()) {
|
| case MUL:
|
| case CLZ:
|
| + case DCLZ:
|
| return kRegisterType;
|
| default:
|
| return kUnsupported;
|
|
|