summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/arm/dyncom/arm_dyncom_interpreter.cpp82
1 files changed, 39 insertions, 43 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
index f56a84518..f899e2e8a 100644
--- a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
+++ b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
@@ -3747,7 +3747,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
3747 #endif 3747 #endif
3748 3748
3749 #define FETCH_INST if (inst_base->br != NON_BRANCH) \ 3749 #define FETCH_INST if (inst_base->br != NON_BRANCH) \
3750 goto PROFILING; \ 3750 goto DISPATCH; \
3751 inst_base = (arm_inst *)&inst_buf[ptr] 3751 inst_base = (arm_inst *)&inst_buf[ptr]
3752#define INC_PC(l) ptr += sizeof(arm_inst) + l 3752#define INC_PC(l) ptr += sizeof(arm_inst) + l
3753 3753
@@ -4180,10 +4180,6 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4180 inst_base = (arm_inst *)&inst_buf[ptr]; 4180 inst_base = (arm_inst *)&inst_buf[ptr];
4181 GOTO_NEXT_INST; 4181 GOTO_NEXT_INST;
4182 } 4182 }
4183 PROFILING:
4184 {
4185 goto DISPATCH;
4186 }
4187 ADC_INST: 4183 ADC_INST:
4188 { 4184 {
4189 INC_ICOUNTER; 4185 INC_ICOUNTER;
@@ -4208,7 +4204,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4208 } 4204 }
4209 if (inst_cream->Rd == 15) { 4205 if (inst_cream->Rd == 15) {
4210 INC_PC(sizeof(adc_inst)); 4206 INC_PC(sizeof(adc_inst));
4211 goto PROFILING; 4207 goto DISPATCH;
4212 } 4208 }
4213 } 4209 }
4214 cpu->Reg[15] += GET_INST_SIZE(cpu); 4210 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4242,7 +4238,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4242 } 4238 }
4243 if (inst_cream->Rd == 15) { 4239 if (inst_cream->Rd == 15) {
4244 INC_PC(sizeof(add_inst)); 4240 INC_PC(sizeof(add_inst));
4245 goto PROFILING; 4241 goto DISPATCH;
4246 } 4242 }
4247 } 4243 }
4248 cpu->Reg[15] += GET_INST_SIZE(cpu); 4244 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4273,7 +4269,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4273 } 4269 }
4274 if (inst_cream->Rd == 15) { 4270 if (inst_cream->Rd == 15) {
4275 INC_PC(sizeof(and_inst)); 4271 INC_PC(sizeof(and_inst));
4276 goto PROFILING; 4272 goto DISPATCH;
4277 } 4273 }
4278 } 4274 }
4279 cpu->Reg[15] += GET_INST_SIZE(cpu); 4275 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4291,11 +4287,11 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4291 } 4287 }
4292 SET_PC; 4288 SET_PC;
4293 INC_PC(sizeof(bbl_inst)); 4289 INC_PC(sizeof(bbl_inst));
4294 goto PROFILING; 4290 goto DISPATCH;
4295 } 4291 }
4296 cpu->Reg[15] += GET_INST_SIZE(cpu); 4292 cpu->Reg[15] += GET_INST_SIZE(cpu);
4297 INC_PC(sizeof(bbl_inst)); 4293 INC_PC(sizeof(bbl_inst));
4298 goto PROFILING; 4294 goto DISPATCH;
4299 } 4295 }
4300 BIC_INST: 4296 BIC_INST:
4301 { 4297 {
@@ -4323,7 +4319,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4323 } 4319 }
4324 if (inst_cream->Rd == 15) { 4320 if (inst_cream->Rd == 15) {
4325 INC_PC(sizeof(bic_inst)); 4321 INC_PC(sizeof(bic_inst));
4326 goto PROFILING; 4322 goto DISPATCH;
4327 } 4323 }
4328 } 4324 }
4329 cpu->Reg[15] += GET_INST_SIZE(cpu); 4325 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4359,12 +4355,12 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4359 //DEBUG_MSG; 4355 //DEBUG_MSG;
4360 } 4356 }
4361 INC_PC(sizeof(blx_inst)); 4357 INC_PC(sizeof(blx_inst));
4362 goto PROFILING; 4358 goto DISPATCH;
4363 } 4359 }
4364 cpu->Reg[15] += GET_INST_SIZE(cpu); 4360 cpu->Reg[15] += GET_INST_SIZE(cpu);
4365// INC_PC(sizeof(bx_inst)); 4361// INC_PC(sizeof(bx_inst));
4366 INC_PC(sizeof(blx_inst)); 4362 INC_PC(sizeof(blx_inst));
4367 goto PROFILING; 4363 goto DISPATCH;
4368 } 4364 }
4369 BX_INST: 4365 BX_INST:
4370 { 4366 {
@@ -4377,12 +4373,12 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4377 cpu->Reg[15] = cpu->Reg[inst_cream->Rm] & 0xfffffffe; 4373 cpu->Reg[15] = cpu->Reg[inst_cream->Rm] & 0xfffffffe;
4378// cpu->TFlag = cpu->Reg[inst_cream->Rm] & 0x1; 4374// cpu->TFlag = cpu->Reg[inst_cream->Rm] & 0x1;
4379 INC_PC(sizeof(bx_inst)); 4375 INC_PC(sizeof(bx_inst));
4380 goto PROFILING; 4376 goto DISPATCH;
4381 } 4377 }
4382 cpu->Reg[15] += GET_INST_SIZE(cpu); 4378 cpu->Reg[15] += GET_INST_SIZE(cpu);
4383// INC_PC(sizeof(bx_inst)); 4379// INC_PC(sizeof(bx_inst));
4384 INC_PC(sizeof(bx_inst)); 4380 INC_PC(sizeof(bx_inst));
4385 goto PROFILING; 4381 goto DISPATCH;
4386 } 4382 }
4387 BXJ_INST: 4383 BXJ_INST:
4388 CDP_INST: 4384 CDP_INST:
@@ -4524,7 +4520,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4524// RD = RM; 4520// RD = RM;
4525 if ((inst_cream->Rd == 15)) { 4521 if ((inst_cream->Rd == 15)) {
4526 INC_PC(sizeof(mov_inst)); 4522 INC_PC(sizeof(mov_inst));
4527 goto PROFILING; 4523 goto DISPATCH;
4528 } 4524 }
4529 } 4525 }
4530// DEBUG_LOG(ARM11, "cpy inst %x\n", cpu->Reg[15]); 4526// DEBUG_LOG(ARM11, "cpy inst %x\n", cpu->Reg[15]);
@@ -4560,7 +4556,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4560 } 4556 }
4561 if (inst_cream->Rd == 15) { 4557 if (inst_cream->Rd == 15) {
4562 INC_PC(sizeof(eor_inst)); 4558 INC_PC(sizeof(eor_inst));
4563 goto PROFILING; 4559 goto DISPATCH;
4564 } 4560 }
4565 } 4561 }
4566 cpu->Reg[15] += GET_INST_SIZE(cpu); 4562 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4719,7 +4715,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4719 } 4715 }
4720 if (BIT(inst, 15)) { 4716 if (BIT(inst, 15)) {
4721 INC_PC(sizeof(ldst_inst)); 4717 INC_PC(sizeof(ldst_inst));
4722 goto PROFILING; 4718 goto DISPATCH;
4723 } 4719 }
4724 } 4720 }
4725 cpu->Reg[15] += GET_INST_SIZE(cpu); 4721 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4766,7 +4762,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4766 cpu->TFlag = value & 0x1; 4762 cpu->TFlag = value & 0x1;
4767 cpu->Reg[15] &= 0xFFFFFFFE; 4763 cpu->Reg[15] &= 0xFFFFFFFE;
4768 INC_PC(sizeof(ldst_inst)); 4764 INC_PC(sizeof(ldst_inst));
4769 goto PROFILING; 4765 goto DISPATCH;
4770 } 4766 }
4771 //} 4767 //}
4772 cpu->Reg[15] += GET_INST_SIZE(cpu); 4768 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4796,7 +4792,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4796 cpu->TFlag = value & 0x1; 4792 cpu->TFlag = value & 0x1;
4797 cpu->Reg[15] &= 0xFFFFFFFE; 4793 cpu->Reg[15] &= 0xFFFFFFFE;
4798 INC_PC(sizeof(ldst_inst)); 4794 INC_PC(sizeof(ldst_inst));
4799 goto PROFILING; 4795 goto DISPATCH;
4800 } 4796 }
4801 } 4797 }
4802 cpu->Reg[15] += GET_INST_SIZE(cpu); 4798 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4850,7 +4846,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4850 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value; 4846 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value;
4851 if (BITS(inst_cream->inst, 12, 15) == 15) { 4847 if (BITS(inst_cream->inst, 12, 15) == 15) {
4852 INC_PC(sizeof(ldst_inst)); 4848 INC_PC(sizeof(ldst_inst));
4853 goto PROFILING; 4849 goto DISPATCH;
4854 } 4850 }
4855 } 4851 }
4856 cpu->Reg[15] += GET_INST_SIZE(cpu); 4852 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4871,7 +4867,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4871 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value; 4867 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value;
4872 if (BITS(inst_cream->inst, 12, 15) == 15) { 4868 if (BITS(inst_cream->inst, 12, 15) == 15) {
4873 INC_PC(sizeof(ldst_inst)); 4869 INC_PC(sizeof(ldst_inst));
4874 goto PROFILING; 4870 goto DISPATCH;
4875 } 4871 }
4876 } 4872 }
4877 cpu->Reg[15] += GET_INST_SIZE(cpu); 4873 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4928,7 +4924,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4928 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value; 4924 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value;
4929 if (BITS(inst_cream->inst, 12, 15) == 15) { 4925 if (BITS(inst_cream->inst, 12, 15) == 15) {
4930 INC_PC(sizeof(ldst_inst)); 4926 INC_PC(sizeof(ldst_inst));
4931 goto PROFILING; 4927 goto DISPATCH;
4932 } 4928 }
4933 } 4929 }
4934 cpu->Reg[15] += GET_INST_SIZE(cpu); 4930 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4955,7 +4951,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4955 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value; 4951 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value;
4956 if (BITS(inst_cream->inst, 12, 15) == 15) { 4952 if (BITS(inst_cream->inst, 12, 15) == 15) {
4957 INC_PC(sizeof(ldst_inst)); 4953 INC_PC(sizeof(ldst_inst));
4958 goto PROFILING; 4954 goto DISPATCH;
4959 } 4955 }
4960 } 4956 }
4961 cpu->Reg[15] += GET_INST_SIZE(cpu); 4957 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -4982,7 +4978,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
4982 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value; 4978 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value;
4983 if (BITS(inst_cream->inst, 12, 15) == 15) { 4979 if (BITS(inst_cream->inst, 12, 15) == 15) {
4984 INC_PC(sizeof(ldst_inst)); 4980 INC_PC(sizeof(ldst_inst));
4985 goto PROFILING; 4981 goto DISPATCH;
4986 } 4982 }
4987 } 4983 }
4988 cpu->Reg[15] += GET_INST_SIZE(cpu); 4984 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -5008,7 +5004,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
5008 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value; 5004 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value;
5009 if (BITS(inst_cream->inst, 12, 15) == 15) { 5005 if (BITS(inst_cream->inst, 12, 15) == 15) {
5010 INC_PC(sizeof(ldst_inst)); 5006 INC_PC(sizeof(ldst_inst));
5011 goto PROFILING; 5007 goto DISPATCH;
5012 } 5008 }
5013 } 5009 }
5014 cpu->Reg[15] += GET_INST_SIZE(cpu); 5010 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -5033,7 +5029,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
5033 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value; 5029 cpu->Reg[BITS(inst_cream->inst, 12, 15)] = value;
5034 if (BITS(inst_cream->inst, 12, 15) == 15) { 5030 if (BITS(inst_cream->inst, 12, 15) == 15) {
5035 INC_PC(sizeof(ldst_inst)); 5031 INC_PC(sizeof(ldst_inst));
5036 goto PROFILING; 5032 goto DISPATCH;
5037 } 5033 }
5038 } 5034 }
5039 cpu->Reg[15] += GET_INST_SIZE(cpu); 5035 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -5060,7 +5056,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
5060 5056
5061 if (BITS(inst_cream->inst, 12, 15) == 15) { 5057 if (BITS(inst_cream->inst, 12, 15) == 15) {
5062 INC_PC(sizeof(ldst_inst)); 5058 INC_PC(sizeof(ldst_inst));
5063 goto PROFILING; 5059 goto DISPATCH;
5064 } 5060 }
5065 } 5061 }
5066 cpu->Reg[15] += GET_INST_SIZE(cpu); 5062 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -5230,7 +5226,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
5230 } 5226 }
5231 if (inst_cream->Rd == 15) { 5227 if (inst_cream->Rd == 15) {
5232 INC_PC(sizeof(mla_inst)); 5228 INC_PC(sizeof(mla_inst));
5233 goto PROFILING; 5229 goto DISPATCH;
5234 } 5230 }
5235 } 5231 }
5236 cpu->Reg[15] += GET_INST_SIZE(cpu); 5232 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -5262,7 +5258,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
5262 } 5258 }
5263 if (inst_cream->Rd == 15) { 5259 if (inst_cream->Rd == 15) {
5264 INC_PC(sizeof(mov_inst)); 5260 INC_PC(sizeof(mov_inst));
5265 goto PROFILING; 5261 goto DISPATCH;
5266 } 5262 }
5267// return; 5263// return;
5268 } 5264 }
@@ -5424,7 +5420,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
5424 } 5420 }
5425 if (inst_cream->Rd == 15) { 5421 if (inst_cream->Rd == 15) {
5426 INC_PC(sizeof(mul_inst)); 5422 INC_PC(sizeof(mul_inst));
5427 goto PROFILING; 5423 goto DISPATCH;
5428 } 5424 }
5429 } 5425 }
5430 cpu->Reg[15] += GET_INST_SIZE(cpu); 5426 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -5453,7 +5449,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
5453 } 5449 }
5454 if (inst_cream->Rd == 15) { 5450 if (inst_cream->Rd == 15) {
5455 INC_PC(sizeof(mvn_inst)); 5451 INC_PC(sizeof(mvn_inst));
5456 goto PROFILING; 5452 goto DISPATCH;
5457 } 5453 }
5458 } 5454 }
5459 cpu->Reg[15] += GET_INST_SIZE(cpu); 5455 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -5485,7 +5481,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
5485 } 5481 }
5486 if (inst_cream->Rd == 15) { 5482 if (inst_cream->Rd == 15) {
5487 INC_PC(sizeof(orr_inst)); 5483 INC_PC(sizeof(orr_inst));
5488 goto PROFILING; 5484 goto DISPATCH;
5489 } 5485 }
5490 } 5486 }
5491 cpu->Reg[15] += GET_INST_SIZE(cpu); 5487 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -5577,7 +5573,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
5577 } 5573 }
5578 if (inst_cream->Rd == 15) { 5574 if (inst_cream->Rd == 15) {
5579 INC_PC(sizeof(rsb_inst)); 5575 INC_PC(sizeof(rsb_inst));
5580 goto PROFILING; 5576 goto DISPATCH;
5581 } 5577 }
5582 } 5578 }
5583 cpu->Reg[15] += GET_INST_SIZE(cpu); 5579 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -5614,7 +5610,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
5614 } 5610 }
5615 if (inst_cream->Rd == 15) { 5611 if (inst_cream->Rd == 15) {
5616 INC_PC(sizeof(rsc_inst)); 5612 INC_PC(sizeof(rsc_inst));
5617 goto PROFILING; 5613 goto DISPATCH;
5618 } 5614 }
5619 } 5615 }
5620 cpu->Reg[15] += GET_INST_SIZE(cpu); 5616 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -5655,7 +5651,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
5655 } 5651 }
5656 if (inst_cream->Rd == 15) { 5652 if (inst_cream->Rd == 15) {
5657 INC_PC(sizeof(sbc_inst)); 5653 INC_PC(sizeof(sbc_inst));
5658 goto PROFILING; 5654 goto DISPATCH;
5659 } 5655 }
5660 } 5656 }
5661 cpu->Reg[15] += GET_INST_SIZE(cpu); 5657 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -6068,7 +6064,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
6068 } 6064 }
6069 cpu->Reg[15] += GET_INST_SIZE(cpu); 6065 cpu->Reg[15] += GET_INST_SIZE(cpu);
6070 //if (BITS(inst_cream->inst, 12, 15) == 15) 6066 //if (BITS(inst_cream->inst, 12, 15) == 15)
6071 // goto PROFILING; 6067 // goto DISPATCH;
6072 INC_PC(sizeof(ldst_inst)); 6068 INC_PC(sizeof(ldst_inst));
6073 FETCH_INST; 6069 FETCH_INST;
6074 GOTO_NEXT_INST; 6070 GOTO_NEXT_INST;
@@ -6177,7 +6173,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
6177 } 6173 }
6178 cpu->Reg[15] += GET_INST_SIZE(cpu); 6174 cpu->Reg[15] += GET_INST_SIZE(cpu);
6179 //if (BITS(inst_cream->inst, 12, 15) == 15) 6175 //if (BITS(inst_cream->inst, 12, 15) == 15)
6180 // goto PROFILING; 6176 // goto DISPATCH;
6181 INC_PC(sizeof(ldst_inst)); 6177 INC_PC(sizeof(ldst_inst));
6182 FETCH_INST; 6178 FETCH_INST;
6183 GOTO_NEXT_INST; 6179 GOTO_NEXT_INST;
@@ -6227,7 +6223,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
6227 } 6223 }
6228 if (inst_cream->Rd == 15) { 6224 if (inst_cream->Rd == 15) {
6229 INC_PC(sizeof(sub_inst)); 6225 INC_PC(sizeof(sub_inst));
6230 goto PROFILING; 6226 goto DISPATCH;
6231 } 6227 }
6232 } 6228 }
6233 cpu->Reg[15] += GET_INST_SIZE(cpu); 6229 cpu->Reg[15] += GET_INST_SIZE(cpu);
@@ -6451,7 +6447,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
6451 cpu->Reg[15] = cpu->Reg[15] + 4 + inst_cream->imm; 6447 cpu->Reg[15] = cpu->Reg[15] + 4 + inst_cream->imm;
6452 //DEBUG_LOG(ARM11, " BL_1_THUMB: imm=0x%x, r14=0x%x, r15=0x%x\n", inst_cream->imm, cpu->Reg[14], cpu->Reg[15]); 6448 //DEBUG_LOG(ARM11, " BL_1_THUMB: imm=0x%x, r14=0x%x, r15=0x%x\n", inst_cream->imm, cpu->Reg[14], cpu->Reg[15]);
6453 INC_PC(sizeof(b_2_thumb)); 6449 INC_PC(sizeof(b_2_thumb));
6454 goto PROFILING; 6450 goto DISPATCH;
6455 } 6451 }
6456 B_COND_THUMB: 6452 B_COND_THUMB:
6457 { 6453 {
@@ -6463,7 +6459,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
6463 cpu->Reg[15] += 2; 6459 cpu->Reg[15] += 2;
6464 //DEBUG_LOG(ARM11, " B_COND_THUMB: imm=0x%x, r15=0x%x\n", inst_cream->imm, cpu->Reg[15]); 6460 //DEBUG_LOG(ARM11, " B_COND_THUMB: imm=0x%x, r15=0x%x\n", inst_cream->imm, cpu->Reg[15]);
6465 INC_PC(sizeof(b_cond_thumb)); 6461 INC_PC(sizeof(b_cond_thumb));
6466 goto PROFILING; 6462 goto DISPATCH;
6467 } 6463 }
6468 BL_1_THUMB: 6464 BL_1_THUMB:
6469 { 6465 {
@@ -6489,7 +6485,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
6489 cpu->Reg[14] = tmp; 6485 cpu->Reg[14] = tmp;
6490 //DEBUG_LOG(ARM11, " BL_2_THUMB: imm=0x%x, r14=0x%x, r15=0x%x\n", inst_cream->imm, cpu->Reg[14], cpu->Reg[15]); 6486 //DEBUG_LOG(ARM11, " BL_2_THUMB: imm=0x%x, r14=0x%x, r15=0x%x\n", inst_cream->imm, cpu->Reg[14], cpu->Reg[15]);
6491 INC_PC(sizeof(bl_2_thumb)); 6487 INC_PC(sizeof(bl_2_thumb));
6492 goto PROFILING; 6488 goto DISPATCH;
6493 } 6489 }
6494 BLX_1_THUMB: 6490 BLX_1_THUMB:
6495 { 6491 {
@@ -6505,7 +6501,7 @@ unsigned InterpreterMainLoop(ARMul_State* state)
6505 cpu->TFlag = 0; 6501 cpu->TFlag = 0;
6506 //DEBUG_LOG(ARM11, "In BLX_1_THUMB, BLX(1),imm=0x%x,r14=0x%x, r15=0x%x, \n", inst_cream->imm, cpu->Reg[14], cpu->Reg[15]); 6502 //DEBUG_LOG(ARM11, "In BLX_1_THUMB, BLX(1),imm=0x%x,r14=0x%x, r15=0x%x, \n", inst_cream->imm, cpu->Reg[14], cpu->Reg[15]);
6507 INC_PC(sizeof(blx_1_thumb)); 6503 INC_PC(sizeof(blx_1_thumb));
6508 goto PROFILING; 6504 goto DISPATCH;
6509 } 6505 }
6510 6506
6511 UQADD16_INST: 6507 UQADD16_INST: