diff options
Diffstat (limited to 'deps/v8/test/cctest/test-macro-assembler-loong64.cc')
-rw-r--r-- | deps/v8/test/cctest/test-macro-assembler-loong64.cc | 64 |
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) { |