Lines Matching refs:masm
93 #define __ masm.
106 MacroAssembler masm(BUF_SIZE, isa); \
107 TestMacroAssembler test(&masm);
109 #define START() masm.GetBuffer()->Reset();
121 MacroAssembler masm(BUF_SIZE, isa); \
122 TestMacroAssembler test(&masm); \
126 harness_scratch.Open(&masm); \
128 masm.GetBuffer()->Reset(); \
146 core.Dump(&masm); \
167 int pcs_offset = masm.IsUsingT32() ? 1 : 0; \
168 masm.GetBuffer()->SetExecutable(); \
169 ExecuteMemory(masm.GetBuffer()->GetStartAddress<byte*>(), \
170 masm.GetSizeOfCodeGenerated(), \
172 masm.GetBuffer()->SetWritable(); \
217 if (masm.IsUsingT32()) { \
218 dis.DisassembleT32Buffer(masm.GetBuffer()->GetStartAddress<uint16_t*>(), \
219 masm.GetCursorOffset()); \
221 dis.DisassembleA32Buffer(masm.GetBuffer()->GetStartAddress<uint32_t*>(), \
222 masm.GetCursorOffset()); \
668 if (masm.IsUsingA32()) { in TEST()
674 ExactAssemblyScope scope(&masm, in TEST()
689 if (masm.IsUsingT32()) { in TEST()
700 if (masm.IsUsingT32()) { in TEST()
712 if (masm.IsUsingT32()) { in TEST()
740 ExactAssemblyScope scope(&masm, in TEST()
1126 int32_t space = test.GetPoolCheckpoint() - masm.GetCursorOffset(); in TEST_T32()
1128 ExactAssemblyScope scope(&masm, space, ExactAssemblyScope::kExactSize); in TEST_T32()
1137 VIXL_CHECK(test.GetPoolCheckpoint() == masm.GetCursorOffset()); in TEST_T32()
1148 VIXL_CHECK(masm.GetSizeOfCodeGeneratedSince(&check) == in TEST_T32()
1173 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
1176 const int ldrd_range = masm.IsUsingA32() ? 255 : 1020; in TEST()
1215 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
1225 const int ldrd_range = masm.IsUsingA32() ? 255 : 1020; in TEST()
1236 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
1259 const int ldrd_range = masm.IsUsingA32() ? 255 : 1020; in EmitReusedLoadLiteralStressTest()
1261 const int nop_size = masm.IsUsingA32() ? 4 : 2; in EmitReusedLoadLiteralStressTest()
1268 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in EmitReusedLoadLiteralStressTest()
1291 ExactAssemblyScope scope(&masm, in EmitReusedLoadLiteralStressTest()
1342 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
1384 int32_t space = test.GetPoolCheckpoint() - masm.GetCursorOffset(); in TEST_T32()
1386 ExactAssemblyScope scope(&masm, space, ExactAssemblyScope::kExactSize); in TEST_T32()
1395 VIXL_CHECK(test.GetPoolCheckpoint() == masm.GetCursorOffset()); in TEST_T32()
1407 VIXL_CHECK(masm.GetSizeOfCodeGeneratedSince(&check) == in TEST_T32()
1426 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
1453 #define __ masm->
1457 void EmitLdrdLiteralTest(MacroAssembler* masm, TestMacroAssembler* test) { in EmitLdrdLiteralTest() argument
1458 const int ldrd_range = masm->IsUsingA32() ? 255 : 1020; in EmitLdrdLiteralTest()
1466 AlignDown(masm->GetBuffer()->GetCursorOffset() + in EmitLdrdLiteralTest()
1467 masm->GetArchitectureStatePCOffset(), in EmitLdrdLiteralTest()
1480 int32_t margin = test->GetPoolCheckpoint() - masm->GetCursorOffset(); in EmitLdrdLiteralTest()
1483 ExactAssemblyScope scope(masm, margin, ExactAssemblyScope::kExactSize); in EmitLdrdLiteralTest()
1487 while (masm->GetCursorOffset() < end) { in EmitLdrdLiteralTest()
1490 VIXL_CHECK(masm->GetCursorOffset() == end); in EmitLdrdLiteralTest()
1503 #define __ masm.
1515 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
1518 EmitLdrdLiteralTest(&masm, &test); in TEST()
1520 const int ldrd_range = masm.IsUsingA32() ? 255 : 1020; in TEST()
1532 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
1561 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
1564 const int ldrd_range = masm.IsUsingA32() ? 255 : 1020; in TEST()
1581 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
1618 VIXL_ASSERT((masm.GetBuffer()->GetCursorOffset() % 4) == 2); in EmitLdrdLiteralStressTest()
1622 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in EmitLdrdLiteralStressTest()
1625 const int ldrd_range = masm.IsUsingA32() ? 255 : 1020; in EmitLdrdLiteralStressTest()
1658 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in EmitLdrdLiteralStressTest()
1702 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST_T32()
1708 EmitLdrdLiteralTest(&masm, &test); in TEST_T32()
1765 ExactAssemblyScope scope(&masm, space, ExactAssemblyScope::kExactSize); in TEST_A32()
1766 int32_t end = masm.GetCursorOffset() + space; in TEST_A32()
1767 while (masm.GetCursorOffset() < end) { in TEST_A32()
1777 ExactAssemblyScope scope(&masm, space, ExactAssemblyScope::kExactSize); in TEST_A32()
1778 for (int32_t end = masm.GetCursorOffset() + space; in TEST_A32()
1779 masm.GetCursorOffset() < end;) { in TEST_A32()
1924 VIXL_ASSERT((masm.GetBuffer()->GetCursorOffset() % 4) == 2); in GenerateLdrLiteralTriggerPoolEmission()
1936 while ((test.GetPoolCheckpoint() - masm.GetCursorOffset() - in GenerateLdrLiteralTriggerPoolEmission()
1946 int space = test.GetPoolCheckpoint() - masm.GetCursorOffset(); in GenerateLdrLiteralTriggerPoolEmission()
1947 int end = masm.GetCursorOffset() + space; in GenerateLdrLiteralTriggerPoolEmission()
1950 ExactAssemblyScope accurate_scope(&masm, space); // This should not in GenerateLdrLiteralTriggerPoolEmission()
1954 while (masm.GetCursorOffset() < end) { in GenerateLdrLiteralTriggerPoolEmission()
1963 (masm.*test_case.instruction)(test_case.result_reg, &literal); in GenerateLdrLiteralTriggerPoolEmission()
1995 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in GenerateLdrLiteralRangeTest()
2001 VIXL_ASSERT((masm.GetBuffer()->GetCursorOffset() % 4) == 2); in GenerateLdrLiteralRangeTest()
2005 (masm.*test_case.instruction)(test_case.result_reg, &literal); in GenerateLdrLiteralRangeTest()
2011 masm.GetBuffer()->GetCursorOffset() + in GenerateLdrLiteralRangeTest()
2012 ((masm.IsUsingA32()) ? test_case.a32_range : test_case.t32_range); in GenerateLdrLiteralRangeTest()
2013 while (masm.GetBuffer()->GetCursorOffset() < end) { in GenerateLdrLiteralRangeTest()
2043 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
2066 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
2071 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
2077 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
2084 masm.EmitLiteralPool(); in TEST()
2110 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
2141 UseScratchRegisterScope temps(&masm); in TEST()
2188 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST()
2211 (masm.*test_case.instruction)(r0, &before); in TEST()
2212 (masm.*test_case.instruction)(r1, &after); in TEST()
2244 const int nop_size = masm.IsUsingA32() ? kA32InstructionSizeInBytes in TEST()
2247 masm.IsUsingA32() ? test_case.a32_range : test_case.t32_range; in TEST()
2251 const int margin = masm.IsUsingT32() ? 4 : 0; in TEST()
2255 range - masm.GetArchitectureStatePCOffset() - sizeof(uint32_t) - margin; in TEST()
2265 const int padding_after = range + masm.GetArchitectureStatePCOffset() - in TEST()
2280 ExactAssemblyScope scope(&masm, space, ExactAssemblyScope::kExactSize); in TEST()
2281 for (int32_t end = masm.GetCursorOffset() + space; in TEST()
2282 masm.GetCursorOffset() < end;) { in TEST()
2288 (masm.*test_case.instruction)(r0, &before); in TEST()
2289 (masm.*test_case.instruction)(r1, &after); in TEST()
2293 ExactAssemblyScope scope(&masm, space, ExactAssemblyScope::kExactSize); in TEST()
2294 for (int32_t end = masm.GetCursorOffset() + space; in TEST()
2295 masm.GetCursorOffset() < end;) { in TEST()
2328 VIXL_ASSERT(masm.GetSizeOfCodeGeneratedSince(&start) == 4000); in TEST()
2512 ExactAssemblyScope scope(&masm, in TEST_T32()
2548 ExactAssemblyScope scope(&masm, in TEST_T32()
2562 int32_t margin = end - masm.GetCursorOffset(); in TEST_T32()
2565 ExactAssemblyScope scope(&masm, margin, ExactAssemblyScope::kExactSize); in TEST_T32()
2566 while (masm.GetCursorOffset() < end) { in TEST_T32()
2604 ExactAssemblyScope scope(&masm, in TEST_T32()
2619 while (masm.GetCursorOffset() < end) __ Nop(); in TEST_T32()
2664 masm.FinalizeCode(); in TEST_T32()
2683 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST_T32()
2689 ExactAssemblyScope scope(&masm, in TEST_T32()
2694 VIXL_ASSERT((masm.GetBuffer()->GetCursorOffset() % 4) == 2); in TEST_T32()
2732 a32->UpdateValue(0x12345678, masm.GetBuffer()); in TEST()
2733 a64->UpdateValue(UINT64_C(0x13579bdf02468ace), masm.GetBuffer()); in TEST()
2734 b32->UpdateValue(0x87654321, masm.GetBuffer()); in TEST()
2735 b64->UpdateValue(UINT64_C(0x1032547698badcfe), masm.GetBuffer()); in TEST()
2758 VIXL_CHECK((masm.GetCursorOffset() - start.GetLocation()) == 0); in TEST()
3016 UseScratchRegisterScope temps(&masm); in TEST()
3021 VIXL_CHECK(masm.GetScratchRegisterList()->IsEmpty()); in TEST()
3181 MacroAssembler masm; in TEST_NOASM() local
3182 CheckInstructionSetA32(masm); in TEST_NOASM()
3183 masm.UseT32(); in TEST_NOASM()
3184 CheckInstructionSetT32(masm); in TEST_NOASM()
3185 masm.UseA32(); in TEST_NOASM()
3186 CheckInstructionSetA32(masm); in TEST_NOASM()
3187 masm.UseInstructionSet(T32); in TEST_NOASM()
3188 CheckInstructionSetT32(masm); in TEST_NOASM()
3189 masm.UseInstructionSet(A32); in TEST_NOASM()
3190 CheckInstructionSetA32(masm); in TEST_NOASM()
3214 MacroAssembler masm(A32); in TEST_NOASM() local
3215 CheckInstructionSetA32(masm); in TEST_NOASM()
3216 masm.Bx(lr); in TEST_NOASM()
3217 VIXL_ASSERT(masm.GetCursorOffset() > 0); in TEST_NOASM()
3218 CheckInstructionSetA32(masm); in TEST_NOASM()
3219 masm.UseA32(); in TEST_NOASM()
3220 CheckInstructionSetA32(masm); in TEST_NOASM()
3221 masm.UseInstructionSet(A32); in TEST_NOASM()
3222 CheckInstructionSetA32(masm); in TEST_NOASM()
3223 masm.FinalizeCode(); in TEST_NOASM()
3242 MacroAssembler masm(T32); in TEST_NOASM() local
3243 CheckInstructionSetT32(masm); in TEST_NOASM()
3244 masm.Bx(lr); in TEST_NOASM()
3245 VIXL_ASSERT(masm.GetCursorOffset() > 0); in TEST_NOASM()
3246 CheckInstructionSetT32(masm); in TEST_NOASM()
3247 masm.UseT32(); in TEST_NOASM()
3248 CheckInstructionSetT32(masm); in TEST_NOASM()
3249 masm.UseInstructionSet(T32); in TEST_NOASM()
3250 CheckInstructionSetT32(masm); in TEST_NOASM()
3251 masm.FinalizeCode(); in TEST_NOASM()
3272 VIXL_ASSERT(masm.GetSizeOfCodeGeneratedSince(&blob_1) == 0); in TEST()
3277 VIXL_ASSERT(masm.GetSizeOfCodeGeneratedSince(&blob_2) != 0); in TEST()
3282 VIXL_ASSERT(masm.GetSizeOfCodeGeneratedSince(&blob_3) != 0); in TEST()
3287 VIXL_ASSERT(masm.GetSizeOfCodeGeneratedSince(&blob_4) != 0); in TEST()
3292 VIXL_ASSERT(masm.GetSizeOfCodeGeneratedSince(&blob_5) != 0); in TEST()
3297 VIXL_ASSERT(masm.GetSizeOfCodeGeneratedSince(&blob_6) != 0); in TEST()
3302 VIXL_ASSERT(masm.GetSizeOfCodeGeneratedSince(&blob_7) != 0); in TEST()
3307 VIXL_ASSERT(masm.GetSizeOfCodeGeneratedSince(&blob_8) != 0); in TEST()
3336 UseScratchRegisterScope temps(&masm); in TEST()
3338 VIXL_CHECK(masm.GetScratchRegisterList()->GetList() == in TEST()
3346 VIXL_CHECK(masm.AliasesAvailableScratchRegister(reg) == in TEST()
3360 UseScratchRegisterScope temps(&masm); in TEST()
3363 VIXL_CHECK(masm.GetScratchVRegisterList()->GetList() == 0); in TEST()
3375 VIXL_CHECK(masm.GetScratchVRegisterList()->GetList() == in TEST()
3398 VIXL_CHECK(masm.AliasesAvailableScratchRegister(SRegister(s))); in TEST()
3399 VIXL_CHECK(masm.AliasesAvailableScratchRegister(DRegister(s / 2))); in TEST()
3400 VIXL_CHECK(masm.AliasesAvailableScratchRegister(QRegister(s / 4))); in TEST()
3403 VIXL_CHECK(!masm.AliasesAvailableScratchRegister(SRegister(s))); in TEST()
3411 VIXL_CHECK(masm.AliasesAvailableScratchRegister(DRegister(d))); in TEST()
3412 VIXL_CHECK(masm.AliasesAvailableScratchRegister(QRegister(d / 2))); in TEST()
3415 VIXL_CHECK(!masm.AliasesAvailableScratchRegister(DRegister(d))); in TEST()
3431 VIXL_CHECK(masm.GetSizeOfCodeGeneratedSince(&start) >= nop_size); in TEST()
3433 masm.FinalizeCode(); in TEST()
3451 int32_t margin = test.GetPoolCheckpoint() - masm.GetCursorOffset(); in TEST()
3454 ExactAssemblyScope scope(&masm, margin, ExactAssemblyScope::kExactSize); in TEST()
3458 while (masm.GetCursorOffset() < end) { in TEST()
3461 VIXL_CHECK(masm.GetCursorOffset() == end); in TEST()
3466 VIXL_CHECK(test.GetPoolCheckpoint() == masm.GetCursorOffset()); in TEST()
3497 int32_t margin = test.GetPoolCheckpoint() - masm.GetCursorOffset(); in TEST()
3500 ExactAssemblyScope scope(&masm, margin, ExactAssemblyScope::kExactSize); in TEST()
3504 while (masm.GetCursorOffset() < end) { in TEST()
3507 VIXL_CHECK(masm.GetCursorOffset() == end); in TEST()
3510 VIXL_CHECK(test.GetPoolCheckpoint() == masm.GetCursorOffset()); in TEST()
3519 ExactAssemblyScope scope(&masm, 2, ExactAssemblyScope::kMaximumSize); in TEST()
3522 VIXL_CHECK(masm.GetSizeOfCodeGeneratedSince(&check) > 0); in TEST()
3613 masm.FinalizeCode(MacroAssembler::kFallThrough); in TEST_T32()
3876 masm.FinalizeCode(MacroAssembler::kFallThrough); in NearBranchAndLiteralFuzzHelper()
3911 MacroAssembler masm(kBaseBufferSize, T32); in TEST_NOASM() local
3913 VIXL_CHECK(masm.GetBuffer()->GetCapacity() == kBaseBufferSize); in TEST_NOASM()
3917 ExactAssemblyScope scope(&masm, in TEST_NOASM()
3926 VIXL_CHECK(masm.GetBuffer()->GetCapacity() == kBaseBufferSize); in TEST_NOASM()
3931 VIXL_CHECK(masm.GetBuffer()->GetCapacity() > kBaseBufferSize); in TEST_NOASM()
3933 masm.FinalizeCode(); in TEST_NOASM()
3940 MacroAssembler masm(kBaseBufferSize, T32); in TEST_NOASM() local
3941 TestMacroAssembler test(&masm); in TEST_NOASM()
3943 VIXL_CHECK(masm.GetBuffer()->GetCapacity() == kBaseBufferSize); in TEST_NOASM()
3953 VIXL_CHECK(IsUint32(masm.GetBuffer()->GetRemainingBytes())); in TEST_NOASM()
3954 uint32_t space = static_cast<uint32_t>(masm.GetBuffer()->GetRemainingBytes()); in TEST_NOASM()
3957 ExactAssemblyScope scope(&masm, space, ExactAssemblyScope::kExactSize); in TEST_NOASM()
3966 VIXL_CHECK(masm.GetBuffer()->GetCapacity() == kBaseBufferSize); in TEST_NOASM()
3967 VIXL_CHECK(masm.GetBuffer()->GetRemainingBytes() == 0); in TEST_NOASM()
3972 test.GetPoolCheckpoint() - masm.GetCursorOffset() + 1; in TEST_NOASM()
3973 masm.EnsureEmitFor(past_cbz_range); in TEST_NOASM()
3979 masm.FinalizeCode(); in TEST_NOASM()
3986 MacroAssembler masm(kBaseBufferSize); in TEST_NOASM() local
3988 VIXL_CHECK(masm.GetBuffer()->GetCapacity() == kBaseBufferSize); in TEST_NOASM()
3990 VIXL_CHECK(IsUint32(masm.GetBuffer()->GetRemainingBytes())); in TEST_NOASM()
3991 int32_t space = static_cast<int32_t>(masm.GetBuffer()->GetRemainingBytes()); in TEST_NOASM()
3995 ExactAssemblyScope scope(&masm, space, ExactAssemblyScope::kExactSize); in TEST_NOASM()
4002 VIXL_CHECK(!masm.GetBuffer()->HasSpaceFor(4)); in TEST_NOASM()
4003 masm.EnsureEmitFor(4); in TEST_NOASM()
4004 VIXL_CHECK(masm.GetBuffer()->HasSpaceFor(4)); in TEST_NOASM()
4007 masm.FinalizeCode(); in TEST_NOASM()
4024 ExactAssemblyScope scope(&masm, space, CodeBufferCheckScope::kExactSize); in TEST_T32()
4025 VIXL_ASSERT(masm.IsUsingT32()); in TEST_T32()
4034 masm.GetCursorOffset())) { \ in TEST_T32()
4035 ExactAssemblyScope scope(&masm, \ in TEST_T32()
4041 IsMultiple<k32BitT32InstructionSizeInBytes>(masm.GetCursorOffset())); \ in TEST_T32()
4097 ExactAssemblyScope scope(&masm, space, CodeBufferCheckScope::kExactSize); in TEST_T32()
4098 VIXL_ASSERT(masm.IsUsingT32()); in TEST_T32()
4106 if (IsMultiple<k32BitT32InstructionSizeInBytes>(masm.GetCursorOffset())) { \ in TEST_T32()
4107 ExactAssemblyScope scope(&masm, \ in TEST_T32()
4113 !IsMultiple<k32BitT32InstructionSizeInBytes>(masm.GetCursorOffset())); \ in TEST_T32()
4148 UseScratchRegisterScope temps(&masm); in TEST_T32()
4190 ExactAssemblyScope scope(&masm, space, CodeBufferCheckScope::kExactSize); in TEST_T32()
4191 VIXL_ASSERT(masm.IsUsingT32()); in TEST_T32()
4200 masm.GetCursorOffset())) { \ in TEST_T32()
4201 ExactAssemblyScope scope(&masm, \ in TEST_T32()
4207 IsMultiple<k32BitT32InstructionSizeInBytes>(masm.GetCursorOffset())); \ in TEST_T32()
4263 ExactAssemblyScope scope(&masm, space, CodeBufferCheckScope::kExactSize); in TEST_T32()
4264 VIXL_ASSERT(masm.IsUsingT32()); in TEST_T32()
4272 if (IsMultiple<k32BitT32InstructionSizeInBytes>(masm.GetCursorOffset())) { \ in TEST_T32()
4273 ExactAssemblyScope scope(&masm, \ in TEST_T32()
4279 !IsMultiple<k32BitT32InstructionSizeInBytes>(masm.GetCursorOffset())); \ in TEST_T32()
4334 ExactAssemblyScope scope(&masm, \ in TEST_T32()
4337 VIXL_ASSERT(masm.IsUsingT32()); \ in TEST_T32()
4371 UseScratchRegisterScope temps(&masm); in TEST_T32()
4444 if (masm.IsUsingA32()) { in TEST()
4459 if (masm.IsUsingA32()) { in TEST()
4470 if (masm.IsUsingA32()) { in TEST()
4481 if (masm.IsUsingA32()) { in TEST()
4495 if (masm.IsUsingA32()) { in TEST()
4506 if (masm.IsUsingA32()) { in TEST()
4868 int end_1 = masm.GetCursorOffset() + target_1_size_1; in TEST_T32()
4869 while (masm.GetCursorOffset() < end_1) { in TEST_T32()
4876 int end_2 = masm.GetCursorOffset() + target_1_size_2; in TEST_T32()
4877 while (masm.GetCursorOffset() < end_2) { in TEST_T32()
4905 int end_1 = masm.GetCursorOffset() + target_1_size_1; in TEST_T32()
4906 while (masm.GetCursorOffset() < end_1) { in TEST_T32()
4913 int end_2 = masm.GetCursorOffset() + target_1_size_2; in TEST_T32()
4914 while (masm.GetCursorOffset() < end_2) { in TEST_T32()
5016 while (test.GetPoolCheckpoint() - masm.GetCursorOffset() >= in TEST_T32()
5024 VIXL_ASSERT(test.GetPoolCheckpoint() - masm.GetCursorOffset() < in TEST_T32()
5120 ExactAssemblyScope aas(&masm, 2 * NUM1, CodeBufferCheckScope::kMaximumSize); in TEST_T32()
5129 ExactAssemblyScope aas(&masm, 2 * NUM2, CodeBufferCheckScope::kMaximumSize); in TEST_T32()
5136 ExactAssemblyScope aas(&masm, 4, CodeBufferCheckScope::kMaximumSize); in TEST_T32()
5172 ExactAssemblyScope aas(&masm, in TEST_T32()
5183 ExactAssemblyScope aas(&masm, 4, CodeBufferCheckScope::kMaximumSize); in TEST_T32()
5218 ExactAssemblyScope scope(&masm, nop_size, CodeBufferCheckScope::kExactSize); in TEST_T32()
5237 VIXL_CHECK(test.GetPoolCheckpoint() - masm.GetCursorOffset() < kCbzCbnzRange); in TEST_T32()
5242 ExactAssemblyScope scope(&masm, nop_size, CodeBufferCheckScope::kExactSize); in TEST_T32()
5250 VIXL_CHECK(test.GetPoolCheckpoint() - masm.GetCursorOffset() > kCbzCbnzRange); in TEST_T32()
5291 const int nop_size = masm.IsUsingA32() ? 4 : 2; in TEST()
5293 (masm.GetCursorOffset() + in TEST()
5295 ExactAssemblyScope scope(&masm, nop_size, ExactAssemblyScope::kExactSize); in TEST()
5327 masm.EmitLiteralPool(PoolManager<int32_t>::kBranchRequired); in TEST_T32()
5337 int32_t margin = test.GetPoolCheckpoint() - masm.GetCursorOffset() - in TEST_T32()
5339 int32_t end = masm.GetCursorOffset() + margin; in TEST_T32()
5342 ExactAssemblyScope scope(&masm, margin, ExactAssemblyScope::kExactSize); in TEST_T32()
5343 while (masm.GetCursorOffset() < end) { in TEST_T32()
5347 VIXL_CHECK((test.GetPoolCheckpoint() - masm.GetCursorOffset()) == in TEST_T32()
5581 if (masm.IsUsingA32()) { in TEST()
5587 ExactAssemblyScope scope(&masm, in TEST()
5591 if (masm.IsUsingT32()) { in TEST()
5633 EmissionCheckScope scope(&masm, in TEST_T32()
5639 ExactAssemblyScope scope(&masm, in TEST_T32()
5649 EmissionCheckScope scope(&masm, in TEST_T32()
5656 EmissionCheckScope scope(&masm, in TEST_T32()
5662 int32_t margin = test.GetPoolCheckpoint() - masm.GetCursorOffset(); in TEST_T32()
5666 ExactAssemblyScope scope(&masm, in TEST_T32()
5676 margin = test.GetPoolCheckpoint() - masm.GetCursorOffset(); in TEST_T32()
5700 EmissionCheckScope scope(&masm, in TEST_T32()
5706 ExactAssemblyScope scope(&masm, in TEST_T32()
5716 EmissionCheckScope scope(&masm, in TEST_T32()
5723 EmissionCheckScope scope(&masm, in TEST_T32()
5748 EmissionCheckScope scope(&masm, in TEST_T32()
5754 ExactAssemblyScope scope(&masm, in TEST_T32()
5764 EmissionCheckScope scope(&masm, in TEST_T32()
5771 EmissionCheckScope scope(&masm, in TEST_T32()
5777 int32_t margin = test.GetPoolCheckpoint() - masm.GetCursorOffset(); in TEST_T32()
5781 ExactAssemblyScope scope(&masm, in TEST_T32()
5791 margin = test.GetPoolCheckpoint() - masm.GetCursorOffset(); in TEST_T32()
5815 EmissionCheckScope scope(&masm, in TEST_T32()
5821 ExactAssemblyScope scope(&masm, in TEST_T32()
5831 EmissionCheckScope scope(&masm, in TEST_T32()
5838 EmissionCheckScope scope(&masm, in TEST_T32()
6142 ExactAssemblyScope scope(&masm, in TEST()
6150 test.GetPoolCheckpoint() - masm.GetCursorOffset() - l0.GetSize() / 2; in TEST()
6151 int32_t end = masm.GetCursorOffset() + margin; in TEST()
6153 ExactAssemblyScope scope(&masm, margin, ExactAssemblyScope::kExactSize); in TEST()
6154 while (masm.GetCursorOffset() < end) { in TEST()
6187 ExactAssemblyScope scope(&masm, in TEST_T32()
6190 while (masm.GetCursorOffset() % 4 != 0) { in TEST_T32()
6201 test.GetPoolCheckpoint() - masm.GetCursorOffset() - kPaddingBytes; in TEST_T32()
6202 int32_t end = masm.GetCursorOffset() + margin; in TEST_T32()
6204 ExactAssemblyScope scope(&masm, margin, ExactAssemblyScope::kExactSize); in TEST_T32()
6205 while (masm.GetCursorOffset() < end) { in TEST_T32()
6216 VIXL_ASSERT((masm.GetBuffer()->GetCursorOffset() % 4) == 0); in TEST_T32()
6230 static void AddBranchesAndGetCloseToCheckpoint(MacroAssembler* masm, in AddBranchesAndGetCloseToCheckpoint() argument
6237 masm->B(&b_labels[i]); in AddBranchesAndGetCloseToCheckpoint()
6242 const int kAddSize = masm->IsUsingT32() ? k16BitT32InstructionSizeInBytes in AddBranchesAndGetCloseToCheckpoint()
6245 int32_t space = end - masm->GetCursorOffset() - margin; in AddBranchesAndGetCloseToCheckpoint()
6247 ExactAssemblyScope scope(masm, space, ExactAssemblyScope::kExactSize); in AddBranchesAndGetCloseToCheckpoint()
6249 masm->add(r0, r0, r0); in AddBranchesAndGetCloseToCheckpoint()
6259 static void EmitIndividualNops(MacroAssembler* masm, const int kNops) { in EmitIndividualNops() argument
6261 masm->Nop(); in EmitIndividualNops()
6265 static void EmitNopsInExactAssemblyScope(MacroAssembler* masm, in EmitNopsInExactAssemblyScope() argument
6267 const int kNopSize = masm->IsUsingT32() ? k16BitT32InstructionSizeInBytes in EmitNopsInExactAssemblyScope()
6270 ExactAssemblyScope scope(masm, in EmitNopsInExactAssemblyScope()
6274 masm->nop(); in EmitNopsInExactAssemblyScope()
6287 AddBranchesAndGetCloseToCheckpoint(&masm, in TEST_A32()
6301 EmitIndividualNops(&masm, 1000); in TEST_A32()
6322 AddBranchesAndGetCloseToCheckpoint(&masm, in TEST_A32()
6342 EmitIndividualNops(&masm, 1000); in TEST_A32()
6361 AddBranchesAndGetCloseToCheckpoint(&masm, in TEST_A32()
6373 EmitNopsInExactAssemblyScope(&masm, 4096); in TEST_A32()
6394 AddBranchesAndGetCloseToCheckpoint(&masm, in TEST_T32()
6404 EmitIndividualNops(&masm, 2000); in TEST_T32()
6423 AddBranchesAndGetCloseToCheckpoint(&masm, in TEST_T32()
6431 EmitNopsInExactAssemblyScope(&masm, 4096); in TEST_T32()
6454 ExactAssemblyScope scope(&masm, 2, ExactAssemblyScope::kMaximumSize); in TEST_T32()
6461 EmitNopsInExactAssemblyScope(&masm, 4096); in TEST_T32()
6480 can_encode = masm.INFO; \
6483 ExactAssemblyScope scope(&masm, \
6486 int32_t pc = masm.GetCursorOffset() + __ GetArchitectureStatePCOffset(); \
6491 masm.ASM; \
6494 ExactAssemblyScope scope(&masm, \
6497 int32_t pc = masm.GetCursorOffset() + __ GetArchitectureStatePCOffset(); \
6502 masm.ASM; \
6508 ExactAssemblyScope scope(&masm, \
6511 int32_t pc = masm.GetCursorOffset() + __ GetArchitectureStatePCOffset(); \
6516 masm.ASM; \
6522 ExactAssemblyScope scope(&masm, \
6525 int32_t pc = masm.GetCursorOffset() + __ GetArchitectureStatePCOffset(); \
6530 masm.ASM; \
6540 MacroAssembler masm(BUF_SIZE, T32); in TEST_T32() local
6675 masm.FinalizeCode(); in TEST_T32()
6679 MacroAssembler masm(BUF_SIZE, A32); in TEST_A32() local
6763 masm.FinalizeCode(); in TEST_A32()