summaryrefslogtreecommitdiff
path: root/deps/v8/src/mips/constants-mips.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/mips/constants-mips.h')
-rw-r--r--deps/v8/src/mips/constants-mips.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/deps/v8/src/mips/constants-mips.h b/deps/v8/src/mips/constants-mips.h
index 49142515c7..8301c5e5de 100644
--- a/deps/v8/src/mips/constants-mips.h
+++ b/deps/v8/src/mips/constants-mips.h
@@ -108,6 +108,19 @@ const uint32_t kHoleNanLower32Offset = 4;
(CpuFeatures::IsSupported(static_cast<CpuFeature>(check)))
#endif
+#if defined(V8_TARGET_LITTLE_ENDIAN)
+const uint32_t kMipsLwrOffset = 0;
+const uint32_t kMipsLwlOffset = 3;
+const uint32_t kMipsSwrOffset = 0;
+const uint32_t kMipsSwlOffset = 3;
+#elif defined(V8_TARGET_BIG_ENDIAN)
+const uint32_t kMipsLwrOffset = 3;
+const uint32_t kMipsLwlOffset = 0;
+const uint32_t kMipsSwrOffset = 3;
+const uint32_t kMipsSwlOffset = 0;
+#else
+#error Unknown endianness
+#endif
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
@@ -409,6 +422,7 @@ enum SecondaryField : uint32_t {
MOVZ = ((1U << 3) + 2),
MOVN = ((1U << 3) + 3),
BREAK = ((1U << 3) + 5),
+ SYNC = ((1U << 3) + 7),
MFHI = ((2U << 3) + 0),
CLZ_R6 = ((2U << 3) + 0),
@@ -620,7 +634,6 @@ enum SecondaryField : uint32_t {
NULLSF = 0U
};
-
// ----- Emulated conditions.
// On MIPS we use this enum to abstract from conditional branch instructions.
// The 'U' prefix is used to specify unsigned comparisons.
@@ -928,8 +941,7 @@ class Instruction {
FunctionFieldToBitNumber(TEQ) | FunctionFieldToBitNumber(TNE) |
FunctionFieldToBitNumber(MOVZ) | FunctionFieldToBitNumber(MOVN) |
FunctionFieldToBitNumber(MOVCI) | FunctionFieldToBitNumber(SELEQZ_S) |
- FunctionFieldToBitNumber(SELNEZ_S);
-
+ FunctionFieldToBitNumber(SELNEZ_S) | FunctionFieldToBitNumber(SYNC);
// Get the encoding type of the instruction.
inline Type InstructionType(TypeChecks checks = NORMAL) const;
@@ -1174,11 +1186,10 @@ Instruction::Type Instruction::InstructionType(TypeChecks checks) const {
int sa = SaFieldRaw() >> kSaShift;
switch (sa) {
case BITSWAP:
- return kRegisterType;
case WSBH:
case SEB:
case SEH:
- return kUnsupported;
+ return kRegisterType;
}
sa >>= kBp2Bits;
switch (sa) {