summaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/test-macro-assembler-loong64.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/cctest/test-macro-assembler-loong64.cc')
-rw-r--r--deps/v8/test/cctest/test-macro-assembler-loong64.cc64
1 files changed, 35 insertions, 29 deletions
diff --git a/deps/v8/test/cctest/test-macro-assembler-loong64.cc b/deps/v8/test/cctest/test-macro-assembler-loong64.cc
index 83b61966d0..3939279993 100644
--- a/deps/v8/test/cctest/test-macro-assembler-loong64.cc
+++ b/deps/v8/test/cctest/test-macro-assembler-loong64.cc
@@ -106,7 +106,7 @@ TEST(BYTESWAP) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F3>::FromCode(*code);
+ auto f = GeneratedCode<F3>::FromCode(isolate, *code);
for (size_t i = 0; i < arraysize(test_values); i++) {
int32_t in_s4 = static_cast<int32_t>(test_values[i]);
@@ -151,7 +151,7 @@ TEST(LoadConstants) {
// Load constant.
__ li(a5, Operand(refConstants[i]));
__ St_d(a5, MemOperand(a4, zero_reg));
- __ Add_d(a4, a4, Operand(kPointerSize));
+ __ Add_d(a4, a4, Operand(kSystemPointerSize));
}
__ jirl(zero_reg, ra, 0);
@@ -161,7 +161,7 @@ TEST(LoadConstants) {
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<FV>::FromCode(*code);
+ auto f = GeneratedCode<FV>::FromCode(isolate, *code);
(void)f.Call(reinterpret_cast<int64_t>(result), 0, 0, 0, 0);
// Check results.
for (int i = 0; i < 64; i++) {
@@ -220,7 +220,7 @@ TEST(jump_tables4) {
#ifdef OBJECT_PRINT
code->Print(std::cout);
#endif
- auto f = GeneratedCode<F1>::FromCode(*code);
+ auto f = GeneratedCode<F1>::FromCode(isolate, *code);
for (int i = 0; i < kNumCases; ++i) {
int64_t res = reinterpret_cast<int64_t>(f.Call(i, 0, 0, 0, 0));
::printf("f(%d) = %" PRId64 "\n", i, res);
@@ -304,7 +304,7 @@ TEST(jump_tables6) {
#ifdef OBJECT_PRINT
code->Print(std::cout);
#endif
- auto f = GeneratedCode<F1>::FromCode(*code);
+ auto f = GeneratedCode<F1>::FromCode(isolate, *code);
for (int i = 0; i < kSwitchTableCases; ++i) {
int64_t res = reinterpret_cast<int64_t>(f.Call(i, 0, 0, 0, 0));
::printf("f(%d) = %" PRId64 "\n", i, res);
@@ -327,7 +327,7 @@ static uint64_t run_alsl_w(uint32_t rj, uint32_t rk, int8_t sa) {
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F1>::FromCode(*code);
+ auto f = GeneratedCode<F1>::FromCode(isolate, *code);
uint64_t res = reinterpret_cast<uint64_t>(f.Call(rj, rk, 0, 0, 0));
@@ -405,7 +405,7 @@ static uint64_t run_alsl_d(uint64_t rj, uint64_t rk, int8_t sa) {
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<FV>::FromCode(*code);
+ auto f = GeneratedCode<FV>::FromCode(isolate, *code);
uint64_t res = reinterpret_cast<uint64_t>(f.Call(rj, rk, 0, 0, 0));
@@ -553,10 +553,10 @@ RET_TYPE run_CVT(IN_TYPE x, Func GenerateConvertInstructionFunc) {
CodeDesc desc;
assm.GetCode(isolate, &desc);
- Handle<Code> code = Factory::CodeBuilder(isolate, desc,
- CodeKind::FOR_TESTING).Build();
+ Handle<Code> code =
+ Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F_CVT>::FromCode(*code);
+ auto f = GeneratedCode<F_CVT>::FromCode(isolate, *code);
return reinterpret_cast<RET_TYPE>(f.Call(x, 0, 0, 0, 0));
}
@@ -745,7 +745,7 @@ TEST(OverflowInstructions) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F3>::FromCode(*code);
+ auto f = GeneratedCode<F3>::FromCode(isolate, *code);
t.lhs = ii;
t.rhs = jj;
f.Call(&t, 0, 0, 0, 0);
@@ -840,6 +840,9 @@ TEST(min_max_nan) {
Label back_mind_nan, back_maxd_nan, back_mins_nan, back_maxs_nan;
__ Push(s6);
+#ifdef V8_COMPRESS_POINTERS
+ __ Push(s8);
+#endif
__ InitializeRootRegister();
__ Fld_d(f8, MemOperand(a0, offsetof(TestFloat, a)));
__ Fld_d(f9, MemOperand(a0, offsetof(TestFloat, b)));
@@ -857,6 +860,9 @@ TEST(min_max_nan) {
__ Fst_d(f13, MemOperand(a0, offsetof(TestFloat, d)));
__ Fst_s(f14, MemOperand(a0, offsetof(TestFloat, g)));
__ Fst_s(f15, MemOperand(a0, offsetof(TestFloat, h)));
+#ifdef V8_COMPRESS_POINTERS
+ __ Pop(s8);
+#endif
__ Pop(s6);
__ jirl(zero_reg, ra, 0);
@@ -869,7 +875,7 @@ TEST(min_max_nan) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F3>::FromCode(*code);
+ auto f = GeneratedCode<F3>::FromCode(isolate, *code);
for (int i = 0; i < kTableLength; i++) {
test.a = inputsa[i];
test.b = inputsb[i];
@@ -903,7 +909,7 @@ bool run_Unaligned(char* memory_buffer, int32_t in_offset, int32_t out_offset,
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F_CVT>::FromCode(*code);
+ auto f = GeneratedCode<F_CVT>::FromCode(isolate, *code);
MemCopy(memory_buffer + in_offset, &value, sizeof(IN_TYPE));
f.Call(memory_buffer, 0, 0, 0, 0);
@@ -1392,7 +1398,7 @@ bool run_Sltu(uint64_t rj, uint64_t rk, Func GenerateSltuInstructionFunc) {
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F_CVT>::FromCode(*code);
+ auto f = GeneratedCode<F_CVT>::FromCode(isolate, *code);
int64_t res = reinterpret_cast<int64_t>(f.Call(rj, rk, 0, 0, 0));
return res == 1;
}
@@ -1489,7 +1495,7 @@ static GeneratedCode<F4> GenerateMacroFloat32MinMax(MacroAssembler* masm) {
StdoutStream os;
code->Print(os);
#endif
- return GeneratedCode<F4>::FromCode(*code);
+ return GeneratedCode<F4>::FromCode(masm->isolate(), *code);
}
TEST(macro_float_minmax_f32) {
@@ -1636,7 +1642,7 @@ static GeneratedCode<F4> GenerateMacroFloat64MinMax(MacroAssembler* masm) {
StdoutStream os;
code->Print(os);
#endif
- return GeneratedCode<F4>::FromCode(*code);
+ return GeneratedCode<F4>::FromCode(masm->isolate(), *code);
}
TEST(macro_float_minmax_f64) {
@@ -1733,7 +1739,7 @@ uint64_t run_Sub_w(uint64_t imm, int32_t num_instr) {
#ifdef OBJECT_PRINT
code->Print(std::cout);
#endif
- auto f = GeneratedCode<F2>::FromCode(*code);
+ auto f = GeneratedCode<F2>::FromCode(isolate, *code);
uint64_t res = reinterpret_cast<uint64_t>(f.Call(0, 0, 0, 0, 0));
@@ -1817,7 +1823,7 @@ uint64_t run_Sub_d(uint64_t imm, int32_t num_instr) {
#ifdef OBJECT_PRINT
code->Print(std::cout);
#endif
- auto f = GeneratedCode<F2>::FromCode(*code);
+ auto f = GeneratedCode<F2>::FromCode(isolate, *code);
uint64_t res = reinterpret_cast<uint64_t>(f.Call(0, 0, 0, 0, 0));
@@ -1930,7 +1936,7 @@ TEST(Move) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F3>::FromCode(*code);
+ auto f = GeneratedCode<F3>::FromCode(isolate, *code);
f.Call(&t, 0, 0, 0, 0);
CHECK_EQ(t.a, t.result_a);
CHECK_EQ(t.b, t.result_b);
@@ -2003,7 +2009,7 @@ TEST(Movz_Movn) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F3>::FromCode(*code);
+ auto f = GeneratedCode<F3>::FromCode(isolate, *code);
for (int i = 0; i < kTableLength; i++) {
test.a = inputs_D[i];
test.c = inputs_W[i];
@@ -2120,7 +2126,7 @@ TEST(macro_instructions1) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F2>::FromCode(*code);
+ auto f = GeneratedCode<F2>::FromCode(isolate, *code);
int64_t res = reinterpret_cast<int64_t>(f.Call(0, 0, 0, 0, 0));
CHECK_EQ(0x31415926L, res);
@@ -2212,7 +2218,7 @@ TEST(macro_instructions2) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F2>::FromCode(*code);
+ auto f = GeneratedCode<F2>::FromCode(isolate, *code);
int64_t res = reinterpret_cast<int64_t>(f.Call(0, 0, 0, 0, 0));
CHECK_EQ(0x31415926L, res);
@@ -2378,7 +2384,7 @@ TEST(macro_instructions3) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F2>::FromCode(*code);
+ auto f = GeneratedCode<F2>::FromCode(isolate, *code);
int64_t res = reinterpret_cast<int64_t>(f.Call(0, 0, 0, 0, 0));
CHECK_EQ(0x31415926L, res);
@@ -2470,7 +2476,7 @@ TEST(Rotr_w) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F3>::FromCode(*code);
+ auto f = GeneratedCode<F3>::FromCode(isolate, *code);
t.input = 0x12345678;
f.Call(&t, 0, 0, 0, 0);
@@ -2581,7 +2587,7 @@ TEST(Rotr_d) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F3>::FromCode(*code);
+ auto f = GeneratedCode<F3>::FromCode(isolate, *code);
t.input = 0x0123456789ABCDEF;
f.Call(&t, 0, 0, 0, 0);
@@ -2726,7 +2732,7 @@ TEST(macro_instructions4) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F3>::FromCode(*code);
+ auto f = GeneratedCode<F3>::FromCode(isolate, *code);
for (int i = 0; i < kTableLength; i++) {
t.a = inputs_d[i];
t.b = inputs_s[i];
@@ -2760,7 +2766,7 @@ uint64_t run_ExtractBits(uint64_t source, int pos, int size, bool sign_extend) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<FV>::FromCode(*code);
+ auto f = GeneratedCode<FV>::FromCode(isolate, *code);
uint64_t res = reinterpret_cast<uint64_t>(f.Call(source, pos, 0, 0, 0));
return res;
}
@@ -2811,7 +2817,7 @@ uint64_t run_InsertBits(uint64_t dest, uint64_t source, int pos, int size) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<FV>::FromCode(*code);
+ auto f = GeneratedCode<FV>::FromCode(isolate, *code);
uint64_t res = reinterpret_cast<uint64_t>(f.Call(dest, source, pos, 0, 0));
return res;
}
@@ -2879,7 +2885,7 @@ TEST(Popcnt) {
masm->GetCode(isolate, &desc);
Handle<Code> code =
Factory::CodeBuilder(isolate, desc, CodeKind::FOR_TESTING).Build();
- auto f = GeneratedCode<F3>::FromCode(*code);
+ auto f = GeneratedCode<F3>::FromCode(isolate, *code);
size_t nr_test_cases = sizeof(tc) / sizeof(TestCase);
for (size_t i = 0; i < nr_test_cases; ++i) {