Merge V8 5.3.332.45. DO NOT MERGE
Test: Manual
FPIIM-449
Change-Id: Id3254828b068abdea3cb10442e0172a8c9a98e03
(cherry picked from commit 13e2dadd00298019ed862f2b2fc5068bba730bcf)
diff --git a/test/cctest/test-disasm-mips64.cc b/test/cctest/test-disasm-mips64.cc
index d8f5681..dc6f34e 100644
--- a/test/cctest/test-disasm-mips64.cc
+++ b/test/cctest/test-disasm-mips64.cc
@@ -97,7 +97,6 @@
V8_Fatal(__FILE__, __LINE__, "MIPS Disassembler tests failed.\n"); \
}
-
#define COMPARE_PC_REL_COMPACT(asm_, compare_string, offset) \
{ \
int pc_offset = assm.pc_offset(); \
@@ -106,28 +105,28 @@
prev_instr_compact_branch = assm.IsPrevInstrCompactBranch(); \
if (prev_instr_compact_branch) { \
snprintf(str_with_address, sizeof(str_with_address), "%s -> %p", \
- compare_string, progcounter + 8 + (offset * 4)); \
+ compare_string, \
+ static_cast<void *>(progcounter + 8 + (offset * 4))); \
} else { \
snprintf(str_with_address, sizeof(str_with_address), "%s -> %p", \
- compare_string, progcounter + 4 + (offset * 4)); \
+ compare_string, \
+ static_cast<void *>(progcounter + 4 + (offset * 4))); \
} \
assm.asm_; \
if (!DisassembleAndCompare(progcounter, str_with_address)) failure = true; \
}
-
#define COMPARE_PC_REL(asm_, compare_string, offset) \
{ \
int pc_offset = assm.pc_offset(); \
byte *progcounter = &buffer[pc_offset]; \
char str_with_address[100]; \
snprintf(str_with_address, sizeof(str_with_address), "%s -> %p", \
- compare_string, progcounter + (offset * 4)); \
+ compare_string, static_cast<void *>(progcounter + (offset * 4))); \
assm.asm_; \
if (!DisassembleAndCompare(progcounter, str_with_address)) failure = true; \
}
-
#define COMPARE_PC_JUMP(asm_, compare_string, target) \
{ \
int pc_offset = assm.pc_offset(); \
@@ -136,14 +135,13 @@
int instr_index = (target >> 2) & kImm26Mask; \
snprintf( \
str_with_address, sizeof(str_with_address), "%s %p -> %p", \
- compare_string, reinterpret_cast<byte *>(target), \
- reinterpret_cast<byte *>(((uint64_t)(progcounter + 1) & ~0xfffffff) | \
+ compare_string, reinterpret_cast<void *>(target), \
+ reinterpret_cast<void *>(((uint64_t)(progcounter + 1) & ~0xfffffff) | \
(instr_index << 2))); \
assm.asm_; \
if (!DisassembleAndCompare(progcounter, str_with_address)) failure = true; \
}
-
#define GET_PC_REGION(pc_region) \
{ \
int pc_offset = assm.pc_offset(); \
@@ -685,6 +683,26 @@
"70621020 clz v0, v1");
}
+ COMPARE(seb(a0, a1), "7c052420 seb a0, a1");
+ COMPARE(seb(s6, s7), "7c17b420 seb s6, s7");
+ COMPARE(seb(v0, v1), "7c031420 seb v0, v1");
+
+ COMPARE(seh(a0, a1), "7c052620 seh a0, a1");
+ COMPARE(seh(s6, s7), "7c17b620 seh s6, s7");
+ COMPARE(seh(v0, v1), "7c031620 seh v0, v1");
+
+ COMPARE(wsbh(a0, a1), "7c0520a0 wsbh a0, a1");
+ COMPARE(wsbh(s6, s7), "7c17b0a0 wsbh s6, s7");
+ COMPARE(wsbh(v0, v1), "7c0310a0 wsbh v0, v1");
+
+ COMPARE(dsbh(a0, a1), "7c0520a4 dsbh a0, a1");
+ COMPARE(dsbh(s6, s7), "7c17b0a4 dsbh s6, s7");
+ COMPARE(dsbh(v0, v1), "7c0310a4 dsbh v0, v1");
+
+ COMPARE(dshd(a0, a1), "7c052164 dshd a0, a1");
+ COMPARE(dshd(s6, s7), "7c17b164 dshd s6, s7");
+ COMPARE(dshd(v0, v1), "7c031164 dshd v0, v1");
+
COMPARE(ins_(a0, a1, 31, 1),
"7ca4ffc4 ins a0, a1, 31, 1");
COMPARE(ins_(s6, s7, 30, 2),