diff options
| author | 2015-09-06 01:29:28 -0400 | |
|---|---|---|
| committer | 2015-09-06 01:29:28 -0400 | |
| commit | a813f78551316b8bf20f7c1cc020980bb7c4fcb3 (patch) | |
| tree | c0a29be997f7851ffe0a05c7ea9a65703e07eb00 /src | |
| parent | Merge pull request #1104 from yuriks/opengl-samplers (diff) | |
| parent | DynCom: Converted all 0xE condition code checks to ConditionCode::AL (diff) | |
| download | yuzu-a813f78551316b8bf20f7c1cc020980bb7c4fcb3.tar.gz yuzu-a813f78551316b8bf20f7c1cc020980bb7c4fcb3.tar.xz yuzu-a813f78551316b8bf20f7c1cc020980bb7c4fcb3.zip | |
Merge pull request #1114 from archshift/conditioncode_al
DynCom: Converted all magic 0xE condition code checks to ConditionCode::AL
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/arm/dyncom/arm_dyncom_interpreter.cpp | 200 | ||||
| -rw-r--r-- | src/core/arm/skyeye_common/vfp/vfpinstr.cpp | 64 |
2 files changed, 132 insertions, 132 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp index 0fddb07a0..fbd6f94f9 100644 --- a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp +++ b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp | |||
| @@ -3908,7 +3908,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 3908 | } | 3908 | } |
| 3909 | ADC_INST: | 3909 | ADC_INST: |
| 3910 | { | 3910 | { |
| 3911 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 3911 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 3912 | adc_inst* const inst_cream = (adc_inst*)inst_base->component; | 3912 | adc_inst* const inst_cream = (adc_inst*)inst_base->component; |
| 3913 | 3913 | ||
| 3914 | u32 rn_val = RN; | 3914 | u32 rn_val = RN; |
| @@ -3943,7 +3943,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 3943 | } | 3943 | } |
| 3944 | ADD_INST: | 3944 | ADD_INST: |
| 3945 | { | 3945 | { |
| 3946 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 3946 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 3947 | add_inst* const inst_cream = (add_inst*)inst_base->component; | 3947 | add_inst* const inst_cream = (add_inst*)inst_base->component; |
| 3948 | 3948 | ||
| 3949 | u32 rn_val = RN; | 3949 | u32 rn_val = RN; |
| @@ -3978,7 +3978,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 3978 | } | 3978 | } |
| 3979 | AND_INST: | 3979 | AND_INST: |
| 3980 | { | 3980 | { |
| 3981 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 3981 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 3982 | and_inst* const inst_cream = (and_inst*)inst_base->component; | 3982 | and_inst* const inst_cream = (and_inst*)inst_base->component; |
| 3983 | 3983 | ||
| 3984 | u32 lop = RN; | 3984 | u32 lop = RN; |
| @@ -4012,7 +4012,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4012 | } | 4012 | } |
| 4013 | BBL_INST: | 4013 | BBL_INST: |
| 4014 | { | 4014 | { |
| 4015 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 4015 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 4016 | bbl_inst *inst_cream = (bbl_inst *)inst_base->component; | 4016 | bbl_inst *inst_cream = (bbl_inst *)inst_base->component; |
| 4017 | if (inst_cream->L) { | 4017 | if (inst_cream->L) { |
| 4018 | LINK_RTN_ADDR; | 4018 | LINK_RTN_ADDR; |
| @@ -4028,7 +4028,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4028 | BIC_INST: | 4028 | BIC_INST: |
| 4029 | { | 4029 | { |
| 4030 | bic_inst *inst_cream = (bic_inst *)inst_base->component; | 4030 | bic_inst *inst_cream = (bic_inst *)inst_base->component; |
| 4031 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 4031 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 4032 | u32 lop = RN; | 4032 | u32 lop = RN; |
| 4033 | if (inst_cream->Rn == 15) { | 4033 | if (inst_cream->Rn == 15) { |
| 4034 | lop += 2 * cpu->GetInstructionSize(); | 4034 | lop += 2 * cpu->GetInstructionSize(); |
| @@ -4058,7 +4058,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4058 | } | 4058 | } |
| 4059 | BKPT_INST: | 4059 | BKPT_INST: |
| 4060 | { | 4060 | { |
| 4061 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4061 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4062 | bkpt_inst* const inst_cream = (bkpt_inst*)inst_base->component; | 4062 | bkpt_inst* const inst_cream = (bkpt_inst*)inst_base->component; |
| 4063 | LOG_DEBUG(Core_ARM11, "Breakpoint instruction hit. Immediate: 0x%08X", inst_cream->imm); | 4063 | LOG_DEBUG(Core_ARM11, "Breakpoint instruction hit. Immediate: 0x%08X", inst_cream->imm); |
| 4064 | } | 4064 | } |
| @@ -4070,7 +4070,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4070 | BLX_INST: | 4070 | BLX_INST: |
| 4071 | { | 4071 | { |
| 4072 | blx_inst *inst_cream = (blx_inst *)inst_base->component; | 4072 | blx_inst *inst_cream = (blx_inst *)inst_base->component; |
| 4073 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 4073 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 4074 | unsigned int inst = inst_cream->inst; | 4074 | unsigned int inst = inst_cream->inst; |
| 4075 | if (BITS(inst, 20, 27) == 0x12 && BITS(inst, 4, 7) == 0x3) { | 4075 | if (BITS(inst, 20, 27) == 0x12 && BITS(inst, 4, 7) == 0x3) { |
| 4076 | cpu->Reg[14] = (cpu->Reg[15] + cpu->GetInstructionSize()); | 4076 | cpu->Reg[14] = (cpu->Reg[15] + cpu->GetInstructionSize()); |
| @@ -4105,7 +4105,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4105 | // | 4105 | // |
| 4106 | // This is sufficient for citra, as the CPU for the 3DS does not implement Jazelle. | 4106 | // This is sufficient for citra, as the CPU for the 3DS does not implement Jazelle. |
| 4107 | 4107 | ||
| 4108 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4108 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4109 | bx_inst* const inst_cream = (bx_inst*)inst_base->component; | 4109 | bx_inst* const inst_cream = (bx_inst*)inst_base->component; |
| 4110 | 4110 | ||
| 4111 | u32 address = RM; | 4111 | u32 address = RM; |
| @@ -4126,7 +4126,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4126 | 4126 | ||
| 4127 | CDP_INST: | 4127 | CDP_INST: |
| 4128 | { | 4128 | { |
| 4129 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4129 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4130 | // Undefined instruction here | 4130 | // Undefined instruction here |
| 4131 | cpu->NumInstrsToExecute = 0; | 4131 | cpu->NumInstrsToExecute = 0; |
| 4132 | return num_instrs; | 4132 | return num_instrs; |
| @@ -4147,7 +4147,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4147 | } | 4147 | } |
| 4148 | CLZ_INST: | 4148 | CLZ_INST: |
| 4149 | { | 4149 | { |
| 4150 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4150 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4151 | clz_inst* inst_cream = (clz_inst*)inst_base->component; | 4151 | clz_inst* inst_cream = (clz_inst*)inst_base->component; |
| 4152 | RD = clz(RM); | 4152 | RD = clz(RM); |
| 4153 | } | 4153 | } |
| @@ -4158,7 +4158,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4158 | } | 4158 | } |
| 4159 | CMN_INST: | 4159 | CMN_INST: |
| 4160 | { | 4160 | { |
| 4161 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4161 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4162 | cmn_inst* const inst_cream = (cmn_inst*)inst_base->component; | 4162 | cmn_inst* const inst_cream = (cmn_inst*)inst_base->component; |
| 4163 | 4163 | ||
| 4164 | u32 rn_val = RN; | 4164 | u32 rn_val = RN; |
| @@ -4181,7 +4181,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4181 | } | 4181 | } |
| 4182 | CMP_INST: | 4182 | CMP_INST: |
| 4183 | { | 4183 | { |
| 4184 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4184 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4185 | cmp_inst* const inst_cream = (cmp_inst*)inst_base->component; | 4185 | cmp_inst* const inst_cream = (cmp_inst*)inst_base->component; |
| 4186 | 4186 | ||
| 4187 | u32 rn_val = RN; | 4187 | u32 rn_val = RN; |
| @@ -4236,7 +4236,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4236 | } | 4236 | } |
| 4237 | CPY_INST: | 4237 | CPY_INST: |
| 4238 | { | 4238 | { |
| 4239 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4239 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4240 | mov_inst* inst_cream = (mov_inst*)inst_base->component; | 4240 | mov_inst* inst_cream = (mov_inst*)inst_base->component; |
| 4241 | 4241 | ||
| 4242 | RD = SHIFTER_OPERAND; | 4242 | RD = SHIFTER_OPERAND; |
| @@ -4252,7 +4252,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4252 | } | 4252 | } |
| 4253 | EOR_INST: | 4253 | EOR_INST: |
| 4254 | { | 4254 | { |
| 4255 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4255 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4256 | eor_inst* inst_cream = (eor_inst*)inst_base->component; | 4256 | eor_inst* inst_cream = (eor_inst*)inst_base->component; |
| 4257 | 4257 | ||
| 4258 | u32 lop = RN; | 4258 | u32 lop = RN; |
| @@ -4293,7 +4293,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4293 | } | 4293 | } |
| 4294 | LDM_INST: | 4294 | LDM_INST: |
| 4295 | { | 4295 | { |
| 4296 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4296 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4297 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 4297 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 4298 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 4298 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 4299 | 4299 | ||
| @@ -4365,7 +4365,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4365 | } | 4365 | } |
| 4366 | SXTH_INST: | 4366 | SXTH_INST: |
| 4367 | { | 4367 | { |
| 4368 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4368 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4369 | sxth_inst* inst_cream = (sxth_inst*)inst_base->component; | 4369 | sxth_inst* inst_cream = (sxth_inst*)inst_base->component; |
| 4370 | 4370 | ||
| 4371 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate); | 4371 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate); |
| @@ -4426,7 +4426,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4426 | } | 4426 | } |
| 4427 | UXTH_INST: | 4427 | UXTH_INST: |
| 4428 | { | 4428 | { |
| 4429 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4429 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4430 | uxth_inst* inst_cream = (uxth_inst*)inst_base->component; | 4430 | uxth_inst* inst_cream = (uxth_inst*)inst_base->component; |
| 4431 | RD = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xffff; | 4431 | RD = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xffff; |
| 4432 | } | 4432 | } |
| @@ -4437,7 +4437,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4437 | } | 4437 | } |
| 4438 | UXTAH_INST: | 4438 | UXTAH_INST: |
| 4439 | { | 4439 | { |
| 4440 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4440 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4441 | uxtah_inst* inst_cream = (uxtah_inst*)inst_base->component; | 4441 | uxtah_inst* inst_cream = (uxtah_inst*)inst_base->component; |
| 4442 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xffff; | 4442 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xffff; |
| 4443 | 4443 | ||
| @@ -4450,7 +4450,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4450 | } | 4450 | } |
| 4451 | LDRB_INST: | 4451 | LDRB_INST: |
| 4452 | { | 4452 | { |
| 4453 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4453 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4454 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 4454 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 4455 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 4455 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 4456 | 4456 | ||
| @@ -4468,7 +4468,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4468 | } | 4468 | } |
| 4469 | LDRBT_INST: | 4469 | LDRBT_INST: |
| 4470 | { | 4470 | { |
| 4471 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4471 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4472 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 4472 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 4473 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 4473 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 4474 | 4474 | ||
| @@ -4486,7 +4486,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4486 | } | 4486 | } |
| 4487 | LDRD_INST: | 4487 | LDRD_INST: |
| 4488 | { | 4488 | { |
| 4489 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4489 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4490 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 4490 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 4491 | // Should check if RD is even-numbered, Rd != 14, addr[0:1] == 0, (CP15_reg1_U == 1 || addr[2] == 0) | 4491 | // Should check if RD is even-numbered, Rd != 14, addr[0:1] == 0, (CP15_reg1_U == 1 || addr[2] == 0) |
| 4492 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 4492 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| @@ -4506,7 +4506,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4506 | 4506 | ||
| 4507 | LDREX_INST: | 4507 | LDREX_INST: |
| 4508 | { | 4508 | { |
| 4509 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4509 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4510 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; | 4510 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; |
| 4511 | unsigned int read_addr = RN; | 4511 | unsigned int read_addr = RN; |
| 4512 | 4512 | ||
| @@ -4525,7 +4525,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4525 | } | 4525 | } |
| 4526 | LDREXB_INST: | 4526 | LDREXB_INST: |
| 4527 | { | 4527 | { |
| 4528 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4528 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4529 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; | 4529 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; |
| 4530 | unsigned int read_addr = RN; | 4530 | unsigned int read_addr = RN; |
| 4531 | 4531 | ||
| @@ -4544,7 +4544,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4544 | } | 4544 | } |
| 4545 | LDREXH_INST: | 4545 | LDREXH_INST: |
| 4546 | { | 4546 | { |
| 4547 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4547 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4548 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; | 4548 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; |
| 4549 | unsigned int read_addr = RN; | 4549 | unsigned int read_addr = RN; |
| 4550 | 4550 | ||
| @@ -4563,7 +4563,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4563 | } | 4563 | } |
| 4564 | LDREXD_INST: | 4564 | LDREXD_INST: |
| 4565 | { | 4565 | { |
| 4566 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4566 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4567 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; | 4567 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; |
| 4568 | unsigned int read_addr = RN; | 4568 | unsigned int read_addr = RN; |
| 4569 | 4569 | ||
| @@ -4584,7 +4584,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4584 | } | 4584 | } |
| 4585 | LDRH_INST: | 4585 | LDRH_INST: |
| 4586 | { | 4586 | { |
| 4587 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4587 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4588 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 4588 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 4589 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 4589 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 4590 | 4590 | ||
| @@ -4601,7 +4601,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4601 | } | 4601 | } |
| 4602 | LDRSB_INST: | 4602 | LDRSB_INST: |
| 4603 | { | 4603 | { |
| 4604 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4604 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4605 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 4605 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 4606 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 4606 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 4607 | unsigned int value = Memory::Read8(addr); | 4607 | unsigned int value = Memory::Read8(addr); |
| @@ -4621,7 +4621,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4621 | } | 4621 | } |
| 4622 | LDRSH_INST: | 4622 | LDRSH_INST: |
| 4623 | { | 4623 | { |
| 4624 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4624 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4625 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 4625 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 4626 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 4626 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 4627 | 4627 | ||
| @@ -4642,7 +4642,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4642 | } | 4642 | } |
| 4643 | LDRT_INST: | 4643 | LDRT_INST: |
| 4644 | { | 4644 | { |
| 4645 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4645 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4646 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 4646 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 4647 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 4647 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 4648 | 4648 | ||
| @@ -4661,7 +4661,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4661 | } | 4661 | } |
| 4662 | MCR_INST: | 4662 | MCR_INST: |
| 4663 | { | 4663 | { |
| 4664 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4664 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4665 | mcr_inst* inst_cream = (mcr_inst*)inst_base->component; | 4665 | mcr_inst* inst_cream = (mcr_inst*)inst_base->component; |
| 4666 | 4666 | ||
| 4667 | unsigned int inst = inst_cream->inst; | 4667 | unsigned int inst = inst_cream->inst; |
| @@ -4682,7 +4682,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4682 | { | 4682 | { |
| 4683 | // Stubbed, as the MPCore doesn't have any registers that are accessible | 4683 | // Stubbed, as the MPCore doesn't have any registers that are accessible |
| 4684 | // through this instruction. | 4684 | // through this instruction. |
| 4685 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4685 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4686 | mcrr_inst* const inst_cream = (mcrr_inst*)inst_base->component; | 4686 | mcrr_inst* const inst_cream = (mcrr_inst*)inst_base->component; |
| 4687 | 4687 | ||
| 4688 | LOG_ERROR(Core_ARM11, "MCRR executed | Coprocessor: %u, CRm %u, opc1: %u, Rt: %u, Rt2: %u", | 4688 | LOG_ERROR(Core_ARM11, "MCRR executed | Coprocessor: %u, CRm %u, opc1: %u, Rt: %u, Rt2: %u", |
| @@ -4697,7 +4697,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4697 | 4697 | ||
| 4698 | MLA_INST: | 4698 | MLA_INST: |
| 4699 | { | 4699 | { |
| 4700 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4700 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4701 | mla_inst* inst_cream = (mla_inst*)inst_base->component; | 4701 | mla_inst* inst_cream = (mla_inst*)inst_base->component; |
| 4702 | 4702 | ||
| 4703 | u64 rm = RM; | 4703 | u64 rm = RM; |
| @@ -4721,7 +4721,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4721 | } | 4721 | } |
| 4722 | MOV_INST: | 4722 | MOV_INST: |
| 4723 | { | 4723 | { |
| 4724 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4724 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4725 | mov_inst* inst_cream = (mov_inst*)inst_base->component; | 4725 | mov_inst* inst_cream = (mov_inst*)inst_base->component; |
| 4726 | 4726 | ||
| 4727 | RD = SHIFTER_OPERAND; | 4727 | RD = SHIFTER_OPERAND; |
| @@ -4748,7 +4748,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4748 | } | 4748 | } |
| 4749 | MRC_INST: | 4749 | MRC_INST: |
| 4750 | { | 4750 | { |
| 4751 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4751 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4752 | mrc_inst* inst_cream = (mrc_inst*)inst_base->component; | 4752 | mrc_inst* inst_cream = (mrc_inst*)inst_base->component; |
| 4753 | 4753 | ||
| 4754 | unsigned int inst = inst_cream->inst; | 4754 | unsigned int inst = inst_cream->inst; |
| @@ -4775,7 +4775,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4775 | { | 4775 | { |
| 4776 | // Stubbed, as the MPCore doesn't have any registers that are accessible | 4776 | // Stubbed, as the MPCore doesn't have any registers that are accessible |
| 4777 | // through this instruction. | 4777 | // through this instruction. |
| 4778 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4778 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4779 | mcrr_inst* const inst_cream = (mcrr_inst*)inst_base->component; | 4779 | mcrr_inst* const inst_cream = (mcrr_inst*)inst_base->component; |
| 4780 | 4780 | ||
| 4781 | LOG_ERROR(Core_ARM11, "MRRC executed | Coprocessor: %u, CRm %u, opc1: %u, Rt: %u, Rt2: %u", | 4781 | LOG_ERROR(Core_ARM11, "MRRC executed | Coprocessor: %u, CRm %u, opc1: %u, Rt: %u, Rt2: %u", |
| @@ -4790,7 +4790,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4790 | 4790 | ||
| 4791 | MRS_INST: | 4791 | MRS_INST: |
| 4792 | { | 4792 | { |
| 4793 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4793 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4794 | mrs_inst* inst_cream = (mrs_inst*)inst_base->component; | 4794 | mrs_inst* inst_cream = (mrs_inst*)inst_base->component; |
| 4795 | 4795 | ||
| 4796 | if (inst_cream->R) { | 4796 | if (inst_cream->R) { |
| @@ -4807,7 +4807,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4807 | } | 4807 | } |
| 4808 | MSR_INST: | 4808 | MSR_INST: |
| 4809 | { | 4809 | { |
| 4810 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4810 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4811 | msr_inst* inst_cream = (msr_inst*)inst_base->component; | 4811 | msr_inst* inst_cream = (msr_inst*)inst_base->component; |
| 4812 | const u32 UserMask = 0xf80f0200, PrivMask = 0x000001df, StateMask = 0x01000020; | 4812 | const u32 UserMask = 0xf80f0200, PrivMask = 0x000001df, StateMask = 0x01000020; |
| 4813 | unsigned int inst = inst_cream->inst; | 4813 | unsigned int inst = inst_cream->inst; |
| @@ -4851,7 +4851,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4851 | } | 4851 | } |
| 4852 | MUL_INST: | 4852 | MUL_INST: |
| 4853 | { | 4853 | { |
| 4854 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4854 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4855 | mul_inst* inst_cream = (mul_inst*)inst_base->component; | 4855 | mul_inst* inst_cream = (mul_inst*)inst_base->component; |
| 4856 | 4856 | ||
| 4857 | u64 rm = RM; | 4857 | u64 rm = RM; |
| @@ -4873,7 +4873,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4873 | } | 4873 | } |
| 4874 | MVN_INST: | 4874 | MVN_INST: |
| 4875 | { | 4875 | { |
| 4876 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4876 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4877 | mvn_inst* const inst_cream = (mvn_inst*)inst_base->component; | 4877 | mvn_inst* const inst_cream = (mvn_inst*)inst_base->component; |
| 4878 | 4878 | ||
| 4879 | RD = ~SHIFTER_OPERAND; | 4879 | RD = ~SHIFTER_OPERAND; |
| @@ -4901,7 +4901,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4901 | } | 4901 | } |
| 4902 | ORR_INST: | 4902 | ORR_INST: |
| 4903 | { | 4903 | { |
| 4904 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4904 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4905 | orr_inst* const inst_cream = (orr_inst*)inst_base->component; | 4905 | orr_inst* const inst_cream = (orr_inst*)inst_base->component; |
| 4906 | 4906 | ||
| 4907 | u32 lop = RN; | 4907 | u32 lop = RN; |
| @@ -4944,7 +4944,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4944 | 4944 | ||
| 4945 | PKHBT_INST: | 4945 | PKHBT_INST: |
| 4946 | { | 4946 | { |
| 4947 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4947 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4948 | pkh_inst *inst_cream = (pkh_inst *)inst_base->component; | 4948 | pkh_inst *inst_cream = (pkh_inst *)inst_base->component; |
| 4949 | RD = (RN & 0xFFFF) | ((RM << inst_cream->imm) & 0xFFFF0000); | 4949 | RD = (RN & 0xFFFF) | ((RM << inst_cream->imm) & 0xFFFF0000); |
| 4950 | } | 4950 | } |
| @@ -4956,7 +4956,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4956 | 4956 | ||
| 4957 | PKHTB_INST: | 4957 | PKHTB_INST: |
| 4958 | { | 4958 | { |
| 4959 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4959 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4960 | pkh_inst *inst_cream = (pkh_inst *)inst_base->component; | 4960 | pkh_inst *inst_cream = (pkh_inst *)inst_base->component; |
| 4961 | int shift_imm = inst_cream->imm ? inst_cream->imm : 31; | 4961 | int shift_imm = inst_cream->imm ? inst_cream->imm : 31; |
| 4962 | RD = ((static_cast<s32>(RM) >> shift_imm) & 0xFFFF) | (RN & 0xFFFF0000); | 4962 | RD = ((static_cast<s32>(RM) >> shift_imm) & 0xFFFF) | (RN & 0xFFFF0000); |
| @@ -4982,7 +4982,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 4982 | QDSUB_INST: | 4982 | QDSUB_INST: |
| 4983 | QSUB_INST: | 4983 | QSUB_INST: |
| 4984 | { | 4984 | { |
| 4985 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 4985 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 4986 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; | 4986 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; |
| 4987 | const u8 op1 = inst_cream->op1; | 4987 | const u8 op1 = inst_cream->op1; |
| 4988 | const u32 rm_val = RM; | 4988 | const u32 rm_val = RM; |
| @@ -5057,7 +5057,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5057 | QSUB16_INST: | 5057 | QSUB16_INST: |
| 5058 | QSUBADDX_INST: | 5058 | QSUBADDX_INST: |
| 5059 | { | 5059 | { |
| 5060 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5060 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5061 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; | 5061 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; |
| 5062 | const u16 rm_lo = (RM & 0xFFFF); | 5062 | const u16 rm_lo = (RM & 0xFFFF); |
| 5063 | const u16 rm_hi = ((RM >> 16) & 0xFFFF); | 5063 | const u16 rm_hi = ((RM >> 16) & 0xFFFF); |
| @@ -5117,7 +5117,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5117 | REVSH_INST: | 5117 | REVSH_INST: |
| 5118 | { | 5118 | { |
| 5119 | 5119 | ||
| 5120 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5120 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5121 | rev_inst* const inst_cream = (rev_inst*)inst_base->component; | 5121 | rev_inst* const inst_cream = (rev_inst*)inst_base->component; |
| 5122 | 5122 | ||
| 5123 | const u8 op1 = inst_cream->op1; | 5123 | const u8 op1 = inst_cream->op1; |
| @@ -5162,7 +5162,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5162 | 5162 | ||
| 5163 | RSB_INST: | 5163 | RSB_INST: |
| 5164 | { | 5164 | { |
| 5165 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5165 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5166 | rsb_inst* const inst_cream = (rsb_inst*)inst_base->component; | 5166 | rsb_inst* const inst_cream = (rsb_inst*)inst_base->component; |
| 5167 | 5167 | ||
| 5168 | u32 rn_val = RN; | 5168 | u32 rn_val = RN; |
| @@ -5197,7 +5197,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5197 | } | 5197 | } |
| 5198 | RSC_INST: | 5198 | RSC_INST: |
| 5199 | { | 5199 | { |
| 5200 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5200 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5201 | rsc_inst* const inst_cream = (rsc_inst*)inst_base->component; | 5201 | rsc_inst* const inst_cream = (rsc_inst*)inst_base->component; |
| 5202 | 5202 | ||
| 5203 | u32 rn_val = RN; | 5203 | u32 rn_val = RN; |
| @@ -5238,7 +5238,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5238 | SSUBADDX_INST: | 5238 | SSUBADDX_INST: |
| 5239 | SSUB16_INST: | 5239 | SSUB16_INST: |
| 5240 | { | 5240 | { |
| 5241 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5241 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5242 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; | 5242 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; |
| 5243 | const u8 op2 = inst_cream->op2; | 5243 | const u8 op2 = inst_cream->op2; |
| 5244 | 5244 | ||
| @@ -5341,7 +5341,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5341 | 5341 | ||
| 5342 | SBC_INST: | 5342 | SBC_INST: |
| 5343 | { | 5343 | { |
| 5344 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5344 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5345 | sbc_inst* const inst_cream = (sbc_inst*)inst_base->component; | 5345 | sbc_inst* const inst_cream = (sbc_inst*)inst_base->component; |
| 5346 | 5346 | ||
| 5347 | u32 rn_val = RN; | 5347 | u32 rn_val = RN; |
| @@ -5377,7 +5377,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5377 | 5377 | ||
| 5378 | SEL_INST: | 5378 | SEL_INST: |
| 5379 | { | 5379 | { |
| 5380 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5380 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5381 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; | 5381 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; |
| 5382 | 5382 | ||
| 5383 | const u32 to = RM; | 5383 | const u32 to = RM; |
| @@ -5436,7 +5436,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5436 | SEV_INST: | 5436 | SEV_INST: |
| 5437 | { | 5437 | { |
| 5438 | // Stubbed, as SEV is a hint instruction. | 5438 | // Stubbed, as SEV is a hint instruction. |
| 5439 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5439 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5440 | LOG_TRACE(Core_ARM11, "SEV executed."); | 5440 | LOG_TRACE(Core_ARM11, "SEV executed."); |
| 5441 | } | 5441 | } |
| 5442 | 5442 | ||
| @@ -5453,7 +5453,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5453 | SHSUB16_INST: | 5453 | SHSUB16_INST: |
| 5454 | SHSUBADDX_INST: | 5454 | SHSUBADDX_INST: |
| 5455 | { | 5455 | { |
| 5456 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5456 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5457 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; | 5457 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; |
| 5458 | 5458 | ||
| 5459 | const u8 op2 = inst_cream->op2; | 5459 | const u8 op2 = inst_cream->op2; |
| @@ -5520,7 +5520,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5520 | 5520 | ||
| 5521 | SMLA_INST: | 5521 | SMLA_INST: |
| 5522 | { | 5522 | { |
| 5523 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5523 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5524 | smla_inst* inst_cream = (smla_inst*)inst_base->component; | 5524 | smla_inst* inst_cream = (smla_inst*)inst_base->component; |
| 5525 | s32 operand1, operand2; | 5525 | s32 operand1, operand2; |
| 5526 | if (inst_cream->x == 0) | 5526 | if (inst_cream->x == 0) |
| @@ -5548,7 +5548,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5548 | SMUAD_INST: | 5548 | SMUAD_INST: |
| 5549 | SMUSD_INST: | 5549 | SMUSD_INST: |
| 5550 | { | 5550 | { |
| 5551 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5551 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5552 | smlad_inst* const inst_cream = (smlad_inst*)inst_base->component; | 5552 | smlad_inst* const inst_cream = (smlad_inst*)inst_base->component; |
| 5553 | const u8 op2 = inst_cream->op2; | 5553 | const u8 op2 = inst_cream->op2; |
| 5554 | 5554 | ||
| @@ -5601,7 +5601,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5601 | 5601 | ||
| 5602 | SMLAL_INST: | 5602 | SMLAL_INST: |
| 5603 | { | 5603 | { |
| 5604 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5604 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5605 | umlal_inst* inst_cream = (umlal_inst*)inst_base->component; | 5605 | umlal_inst* inst_cream = (umlal_inst*)inst_base->component; |
| 5606 | long long int rm = RM; | 5606 | long long int rm = RM; |
| 5607 | long long int rs = RS; | 5607 | long long int rs = RS; |
| @@ -5630,7 +5630,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5630 | 5630 | ||
| 5631 | SMLALXY_INST: | 5631 | SMLALXY_INST: |
| 5632 | { | 5632 | { |
| 5633 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5633 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5634 | smlalxy_inst* const inst_cream = (smlalxy_inst*)inst_base->component; | 5634 | smlalxy_inst* const inst_cream = (smlalxy_inst*)inst_base->component; |
| 5635 | 5635 | ||
| 5636 | u64 operand1 = RN; | 5636 | u64 operand1 = RN; |
| @@ -5660,7 +5660,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5660 | 5660 | ||
| 5661 | SMLAW_INST: | 5661 | SMLAW_INST: |
| 5662 | { | 5662 | { |
| 5663 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5663 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5664 | smlad_inst* const inst_cream = (smlad_inst*)inst_base->component; | 5664 | smlad_inst* const inst_cream = (smlad_inst*)inst_base->component; |
| 5665 | 5665 | ||
| 5666 | const u32 rm_val = RM; | 5666 | const u32 rm_val = RM; |
| @@ -5686,7 +5686,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5686 | SMLALD_INST: | 5686 | SMLALD_INST: |
| 5687 | SMLSLD_INST: | 5687 | SMLSLD_INST: |
| 5688 | { | 5688 | { |
| 5689 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5689 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5690 | smlald_inst* const inst_cream = (smlald_inst*)inst_base->component; | 5690 | smlald_inst* const inst_cream = (smlald_inst*)inst_base->component; |
| 5691 | 5691 | ||
| 5692 | const bool do_swap = (inst_cream->swap == 1); | 5692 | const bool do_swap = (inst_cream->swap == 1); |
| @@ -5725,7 +5725,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5725 | SMMLS_INST: | 5725 | SMMLS_INST: |
| 5726 | SMMUL_INST: | 5726 | SMMUL_INST: |
| 5727 | { | 5727 | { |
| 5728 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5728 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5729 | smlad_inst* const inst_cream = (smlad_inst*)inst_base->component; | 5729 | smlad_inst* const inst_cream = (smlad_inst*)inst_base->component; |
| 5730 | 5730 | ||
| 5731 | const u32 rm_val = RM; | 5731 | const u32 rm_val = RM; |
| @@ -5759,7 +5759,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5759 | 5759 | ||
| 5760 | SMUL_INST: | 5760 | SMUL_INST: |
| 5761 | { | 5761 | { |
| 5762 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5762 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5763 | smul_inst* inst_cream = (smul_inst*)inst_base->component; | 5763 | smul_inst* inst_cream = (smul_inst*)inst_base->component; |
| 5764 | u32 operand1, operand2; | 5764 | u32 operand1, operand2; |
| 5765 | if (inst_cream->x == 0) | 5765 | if (inst_cream->x == 0) |
| @@ -5780,7 +5780,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5780 | } | 5780 | } |
| 5781 | SMULL_INST: | 5781 | SMULL_INST: |
| 5782 | { | 5782 | { |
| 5783 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5783 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5784 | umull_inst* inst_cream = (umull_inst*)inst_base->component; | 5784 | umull_inst* inst_cream = (umull_inst*)inst_base->component; |
| 5785 | s64 rm = RM; | 5785 | s64 rm = RM; |
| 5786 | s64 rs = RS; | 5786 | s64 rs = RS; |
| @@ -5807,7 +5807,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5807 | 5807 | ||
| 5808 | SMULW_INST: | 5808 | SMULW_INST: |
| 5809 | { | 5809 | { |
| 5810 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5810 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5811 | smlad_inst* const inst_cream = (smlad_inst*)inst_base->component; | 5811 | smlad_inst* const inst_cream = (smlad_inst*)inst_base->component; |
| 5812 | 5812 | ||
| 5813 | s16 rm = (inst_cream->m == 1) ? ((RM >> 16) & 0xFFFF) : (RM & 0xFFFF); | 5813 | s16 rm = (inst_cream->m == 1) ? ((RM >> 16) & 0xFFFF) : (RM & 0xFFFF); |
| @@ -5840,7 +5840,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5840 | 5840 | ||
| 5841 | SSAT_INST: | 5841 | SSAT_INST: |
| 5842 | { | 5842 | { |
| 5843 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5843 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5844 | ssat_inst* const inst_cream = (ssat_inst*)inst_base->component; | 5844 | ssat_inst* const inst_cream = (ssat_inst*)inst_base->component; |
| 5845 | 5845 | ||
| 5846 | u8 shift_type = inst_cream->shift_type; | 5846 | u8 shift_type = inst_cream->shift_type; |
| @@ -5873,7 +5873,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5873 | 5873 | ||
| 5874 | SSAT16_INST: | 5874 | SSAT16_INST: |
| 5875 | { | 5875 | { |
| 5876 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5876 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5877 | ssat_inst* const inst_cream = (ssat_inst*)inst_base->component; | 5877 | ssat_inst* const inst_cream = (ssat_inst*)inst_base->component; |
| 5878 | const u8 saturate_to = inst_cream->sat_imm; | 5878 | const u8 saturate_to = inst_cream->sat_imm; |
| 5879 | 5879 | ||
| @@ -5904,7 +5904,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5904 | } | 5904 | } |
| 5905 | STM_INST: | 5905 | STM_INST: |
| 5906 | { | 5906 | { |
| 5907 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5907 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5908 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 5908 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 5909 | unsigned int inst = inst_cream->inst; | 5909 | unsigned int inst = inst_cream->inst; |
| 5910 | 5910 | ||
| @@ -5962,7 +5962,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5962 | } | 5962 | } |
| 5963 | SXTB_INST: | 5963 | SXTB_INST: |
| 5964 | { | 5964 | { |
| 5965 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5965 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5966 | sxtb_inst* inst_cream = (sxtb_inst*)inst_base->component; | 5966 | sxtb_inst* inst_cream = (sxtb_inst*)inst_base->component; |
| 5967 | 5967 | ||
| 5968 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate); | 5968 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate); |
| @@ -5980,7 +5980,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5980 | } | 5980 | } |
| 5981 | STR_INST: | 5981 | STR_INST: |
| 5982 | { | 5982 | { |
| 5983 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 5983 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 5984 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 5984 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 5985 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 5985 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 5986 | 5986 | ||
| @@ -5999,7 +5999,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 5999 | } | 5999 | } |
| 6000 | UXTB_INST: | 6000 | UXTB_INST: |
| 6001 | { | 6001 | { |
| 6002 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6002 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6003 | uxtb_inst* inst_cream = (uxtb_inst*)inst_base->component; | 6003 | uxtb_inst* inst_cream = (uxtb_inst*)inst_base->component; |
| 6004 | RD = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xff; | 6004 | RD = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xff; |
| 6005 | } | 6005 | } |
| @@ -6010,7 +6010,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6010 | } | 6010 | } |
| 6011 | UXTAB_INST: | 6011 | UXTAB_INST: |
| 6012 | { | 6012 | { |
| 6013 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6013 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6014 | uxtab_inst* inst_cream = (uxtab_inst*)inst_base->component; | 6014 | uxtab_inst* inst_cream = (uxtab_inst*)inst_base->component; |
| 6015 | 6015 | ||
| 6016 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xff; | 6016 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xff; |
| @@ -6023,7 +6023,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6023 | } | 6023 | } |
| 6024 | STRB_INST: | 6024 | STRB_INST: |
| 6025 | { | 6025 | { |
| 6026 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6026 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6027 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 6027 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 6028 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 6028 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 6029 | unsigned int value = cpu->Reg[BITS(inst_cream->inst, 12, 15)] & 0xff; | 6029 | unsigned int value = cpu->Reg[BITS(inst_cream->inst, 12, 15)] & 0xff; |
| @@ -6036,7 +6036,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6036 | } | 6036 | } |
| 6037 | STRBT_INST: | 6037 | STRBT_INST: |
| 6038 | { | 6038 | { |
| 6039 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6039 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6040 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 6040 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 6041 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 6041 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 6042 | unsigned int value = cpu->Reg[BITS(inst_cream->inst, 12, 15)] & 0xff; | 6042 | unsigned int value = cpu->Reg[BITS(inst_cream->inst, 12, 15)] & 0xff; |
| @@ -6049,7 +6049,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6049 | } | 6049 | } |
| 6050 | STRD_INST: | 6050 | STRD_INST: |
| 6051 | { | 6051 | { |
| 6052 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6052 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6053 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 6053 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 6054 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 6054 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 6055 | 6055 | ||
| @@ -6065,7 +6065,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6065 | } | 6065 | } |
| 6066 | STREX_INST: | 6066 | STREX_INST: |
| 6067 | { | 6067 | { |
| 6068 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6068 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6069 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; | 6069 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; |
| 6070 | unsigned int write_addr = cpu->Reg[inst_cream->Rn]; | 6070 | unsigned int write_addr = cpu->Reg[inst_cream->Rn]; |
| 6071 | 6071 | ||
| @@ -6085,7 +6085,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6085 | } | 6085 | } |
| 6086 | STREXB_INST: | 6086 | STREXB_INST: |
| 6087 | { | 6087 | { |
| 6088 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6088 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6089 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; | 6089 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; |
| 6090 | unsigned int write_addr = cpu->Reg[inst_cream->Rn]; | 6090 | unsigned int write_addr = cpu->Reg[inst_cream->Rn]; |
| 6091 | 6091 | ||
| @@ -6105,7 +6105,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6105 | } | 6105 | } |
| 6106 | STREXD_INST: | 6106 | STREXD_INST: |
| 6107 | { | 6107 | { |
| 6108 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6108 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6109 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; | 6109 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; |
| 6110 | unsigned int write_addr = cpu->Reg[inst_cream->Rn]; | 6110 | unsigned int write_addr = cpu->Reg[inst_cream->Rn]; |
| 6111 | 6111 | ||
| @@ -6136,7 +6136,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6136 | } | 6136 | } |
| 6137 | STREXH_INST: | 6137 | STREXH_INST: |
| 6138 | { | 6138 | { |
| 6139 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6139 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6140 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; | 6140 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; |
| 6141 | unsigned int write_addr = cpu->Reg[inst_cream->Rn]; | 6141 | unsigned int write_addr = cpu->Reg[inst_cream->Rn]; |
| 6142 | 6142 | ||
| @@ -6156,7 +6156,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6156 | } | 6156 | } |
| 6157 | STRH_INST: | 6157 | STRH_INST: |
| 6158 | { | 6158 | { |
| 6159 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6159 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6160 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 6160 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 6161 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 6161 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 6162 | 6162 | ||
| @@ -6170,7 +6170,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6170 | } | 6170 | } |
| 6171 | STRT_INST: | 6171 | STRT_INST: |
| 6172 | { | 6172 | { |
| 6173 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6173 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6174 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; | 6174 | ldst_inst* inst_cream = (ldst_inst*)inst_base->component; |
| 6175 | inst_cream->get_addr(cpu, inst_cream->inst, addr); | 6175 | inst_cream->get_addr(cpu, inst_cream->inst, addr); |
| 6176 | 6176 | ||
| @@ -6184,7 +6184,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6184 | } | 6184 | } |
| 6185 | SUB_INST: | 6185 | SUB_INST: |
| 6186 | { | 6186 | { |
| 6187 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6187 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6188 | sub_inst* const inst_cream = (sub_inst*)inst_base->component; | 6188 | sub_inst* const inst_cream = (sub_inst*)inst_base->component; |
| 6189 | 6189 | ||
| 6190 | u32 rn_val = RN; | 6190 | u32 rn_val = RN; |
| @@ -6219,7 +6219,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6219 | } | 6219 | } |
| 6220 | SWI_INST: | 6220 | SWI_INST: |
| 6221 | { | 6221 | { |
| 6222 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6222 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6223 | swi_inst* const inst_cream = (swi_inst*)inst_base->component; | 6223 | swi_inst* const inst_cream = (swi_inst*)inst_base->component; |
| 6224 | SVC::CallSVC(inst_cream->num & 0xFFFF); | 6224 | SVC::CallSVC(inst_cream->num & 0xFFFF); |
| 6225 | } | 6225 | } |
| @@ -6231,7 +6231,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6231 | } | 6231 | } |
| 6232 | SWP_INST: | 6232 | SWP_INST: |
| 6233 | { | 6233 | { |
| 6234 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6234 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6235 | swp_inst* inst_cream = (swp_inst*)inst_base->component; | 6235 | swp_inst* inst_cream = (swp_inst*)inst_base->component; |
| 6236 | 6236 | ||
| 6237 | addr = RN; | 6237 | addr = RN; |
| @@ -6247,7 +6247,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6247 | } | 6247 | } |
| 6248 | SWPB_INST: | 6248 | SWPB_INST: |
| 6249 | { | 6249 | { |
| 6250 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6250 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6251 | swp_inst* inst_cream = (swp_inst*)inst_base->component; | 6251 | swp_inst* inst_cream = (swp_inst*)inst_base->component; |
| 6252 | addr = RN; | 6252 | addr = RN; |
| 6253 | unsigned int value = Memory::Read8(addr); | 6253 | unsigned int value = Memory::Read8(addr); |
| @@ -6261,7 +6261,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6261 | } | 6261 | } |
| 6262 | SXTAB_INST: | 6262 | SXTAB_INST: |
| 6263 | { | 6263 | { |
| 6264 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6264 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6265 | sxtab_inst* inst_cream = (sxtab_inst*)inst_base->component; | 6265 | sxtab_inst* inst_cream = (sxtab_inst*)inst_base->component; |
| 6266 | 6266 | ||
| 6267 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xff; | 6267 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xff; |
| @@ -6279,7 +6279,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6279 | SXTAB16_INST: | 6279 | SXTAB16_INST: |
| 6280 | SXTB16_INST: | 6280 | SXTB16_INST: |
| 6281 | { | 6281 | { |
| 6282 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6282 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6283 | sxtab_inst* const inst_cream = (sxtab_inst*)inst_base->component; | 6283 | sxtab_inst* const inst_cream = (sxtab_inst*)inst_base->component; |
| 6284 | 6284 | ||
| 6285 | const u8 rotation = inst_cream->rotate * 8; | 6285 | const u8 rotation = inst_cream->rotate * 8; |
| @@ -6311,7 +6311,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6311 | 6311 | ||
| 6312 | SXTAH_INST: | 6312 | SXTAH_INST: |
| 6313 | { | 6313 | { |
| 6314 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6314 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6315 | sxtah_inst* inst_cream = (sxtah_inst*)inst_base->component; | 6315 | sxtah_inst* inst_cream = (sxtah_inst*)inst_base->component; |
| 6316 | 6316 | ||
| 6317 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xffff; | 6317 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xffff; |
| @@ -6327,7 +6327,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6327 | 6327 | ||
| 6328 | TEQ_INST: | 6328 | TEQ_INST: |
| 6329 | { | 6329 | { |
| 6330 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6330 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6331 | teq_inst* const inst_cream = (teq_inst*)inst_base->component; | 6331 | teq_inst* const inst_cream = (teq_inst*)inst_base->component; |
| 6332 | 6332 | ||
| 6333 | u32 lop = RN; | 6333 | u32 lop = RN; |
| @@ -6349,7 +6349,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6349 | } | 6349 | } |
| 6350 | TST_INST: | 6350 | TST_INST: |
| 6351 | { | 6351 | { |
| 6352 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6352 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6353 | tst_inst* const inst_cream = (tst_inst*)inst_base->component; | 6353 | tst_inst* const inst_cream = (tst_inst*)inst_base->component; |
| 6354 | 6354 | ||
| 6355 | u32 lop = RN; | 6355 | u32 lop = RN; |
| @@ -6377,7 +6377,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6377 | USUB16_INST: | 6377 | USUB16_INST: |
| 6378 | USUBADDX_INST: | 6378 | USUBADDX_INST: |
| 6379 | { | 6379 | { |
| 6380 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6380 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6381 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; | 6381 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; |
| 6382 | 6382 | ||
| 6383 | const u8 op2 = inst_cream->op2; | 6383 | const u8 op2 = inst_cream->op2; |
| @@ -6548,7 +6548,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6548 | UHSUB8_INST: | 6548 | UHSUB8_INST: |
| 6549 | UHSUB16_INST: | 6549 | UHSUB16_INST: |
| 6550 | { | 6550 | { |
| 6551 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6551 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6552 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; | 6552 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; |
| 6553 | const u32 rm_val = RM; | 6553 | const u32 rm_val = RM; |
| 6554 | const u32 rn_val = RN; | 6554 | const u32 rn_val = RN; |
| @@ -6623,7 +6623,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6623 | 6623 | ||
| 6624 | UMAAL_INST: | 6624 | UMAAL_INST: |
| 6625 | { | 6625 | { |
| 6626 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6626 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6627 | umaal_inst* const inst_cream = (umaal_inst*)inst_base->component; | 6627 | umaal_inst* const inst_cream = (umaal_inst*)inst_base->component; |
| 6628 | const u64 rm = RM; | 6628 | const u64 rm = RM; |
| 6629 | const u64 rn = RN; | 6629 | const u64 rn = RN; |
| @@ -6641,7 +6641,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6641 | } | 6641 | } |
| 6642 | UMLAL_INST: | 6642 | UMLAL_INST: |
| 6643 | { | 6643 | { |
| 6644 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6644 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6645 | umlal_inst* inst_cream = (umlal_inst*)inst_base->component; | 6645 | umlal_inst* inst_cream = (umlal_inst*)inst_base->component; |
| 6646 | unsigned long long int rm = RM; | 6646 | unsigned long long int rm = RM; |
| 6647 | unsigned long long int rs = RS; | 6647 | unsigned long long int rs = RS; |
| @@ -6664,7 +6664,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6664 | } | 6664 | } |
| 6665 | UMULL_INST: | 6665 | UMULL_INST: |
| 6666 | { | 6666 | { |
| 6667 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6667 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6668 | umull_inst* inst_cream = (umull_inst*)inst_base->component; | 6668 | umull_inst* inst_cream = (umull_inst*)inst_base->component; |
| 6669 | unsigned long long int rm = RM; | 6669 | unsigned long long int rm = RM; |
| 6670 | unsigned long long int rs = RS; | 6670 | unsigned long long int rs = RS; |
| @@ -6738,7 +6738,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6738 | UQSUB16_INST: | 6738 | UQSUB16_INST: |
| 6739 | UQSUBADDX_INST: | 6739 | UQSUBADDX_INST: |
| 6740 | { | 6740 | { |
| 6741 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6741 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6742 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; | 6742 | generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component; |
| 6743 | 6743 | ||
| 6744 | const u8 op2 = inst_cream->op2; | 6744 | const u8 op2 = inst_cream->op2; |
| @@ -6795,7 +6795,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6795 | USAD8_INST: | 6795 | USAD8_INST: |
| 6796 | USADA8_INST: | 6796 | USADA8_INST: |
| 6797 | { | 6797 | { |
| 6798 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6798 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6799 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; | 6799 | generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component; |
| 6800 | 6800 | ||
| 6801 | const u8 ra_idx = inst_cream->Ra; | 6801 | const u8 ra_idx = inst_cream->Ra; |
| @@ -6824,7 +6824,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6824 | 6824 | ||
| 6825 | USAT_INST: | 6825 | USAT_INST: |
| 6826 | { | 6826 | { |
| 6827 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6827 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6828 | ssat_inst* const inst_cream = (ssat_inst*)inst_base->component; | 6828 | ssat_inst* const inst_cream = (ssat_inst*)inst_base->component; |
| 6829 | 6829 | ||
| 6830 | u8 shift_type = inst_cream->shift_type; | 6830 | u8 shift_type = inst_cream->shift_type; |
| @@ -6857,7 +6857,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6857 | 6857 | ||
| 6858 | USAT16_INST: | 6858 | USAT16_INST: |
| 6859 | { | 6859 | { |
| 6860 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6860 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6861 | ssat_inst* const inst_cream = (ssat_inst*)inst_base->component; | 6861 | ssat_inst* const inst_cream = (ssat_inst*)inst_base->component; |
| 6862 | const u8 saturate_to = inst_cream->sat_imm; | 6862 | const u8 saturate_to = inst_cream->sat_imm; |
| 6863 | 6863 | ||
| @@ -6880,7 +6880,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6880 | UXTAB16_INST: | 6880 | UXTAB16_INST: |
| 6881 | UXTB16_INST: | 6881 | UXTB16_INST: |
| 6882 | { | 6882 | { |
| 6883 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6883 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6884 | uxtab_inst* const inst_cream = (uxtab_inst*)inst_base->component; | 6884 | uxtab_inst* const inst_cream = (uxtab_inst*)inst_base->component; |
| 6885 | 6885 | ||
| 6886 | const u8 rn_idx = inst_cream->Rn; | 6886 | const u8 rn_idx = inst_cream->Rn; |
| @@ -6911,7 +6911,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6911 | WFE_INST: | 6911 | WFE_INST: |
| 6912 | { | 6912 | { |
| 6913 | // Stubbed, as WFE is a hint instruction. | 6913 | // Stubbed, as WFE is a hint instruction. |
| 6914 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6914 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6915 | LOG_TRACE(Core_ARM11, "WFE executed."); | 6915 | LOG_TRACE(Core_ARM11, "WFE executed."); |
| 6916 | } | 6916 | } |
| 6917 | 6917 | ||
| @@ -6924,7 +6924,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6924 | WFI_INST: | 6924 | WFI_INST: |
| 6925 | { | 6925 | { |
| 6926 | // Stubbed, as WFI is a hint instruction. | 6926 | // Stubbed, as WFI is a hint instruction. |
| 6927 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6927 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6928 | LOG_TRACE(Core_ARM11, "WFI executed."); | 6928 | LOG_TRACE(Core_ARM11, "WFI executed."); |
| 6929 | } | 6929 | } |
| 6930 | 6930 | ||
| @@ -6937,7 +6937,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) { | |||
| 6937 | YIELD_INST: | 6937 | YIELD_INST: |
| 6938 | { | 6938 | { |
| 6939 | // Stubbed, as YIELD is a hint instruction. | 6939 | // Stubbed, as YIELD is a hint instruction. |
| 6940 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 6940 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 6941 | LOG_TRACE(Core_ARM11, "YIELD executed."); | 6941 | LOG_TRACE(Core_ARM11, "YIELD executed."); |
| 6942 | } | 6942 | } |
| 6943 | 6943 | ||
diff --git a/src/core/arm/skyeye_common/vfp/vfpinstr.cpp b/src/core/arm/skyeye_common/vfp/vfpinstr.cpp index 49298d7ba..4f9083515 100644 --- a/src/core/arm/skyeye_common/vfp/vfpinstr.cpp +++ b/src/core/arm/skyeye_common/vfp/vfpinstr.cpp | |||
| @@ -37,7 +37,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmla)(unsigned int inst, int index) | |||
| 37 | #ifdef VFP_INTERPRETER_IMPL | 37 | #ifdef VFP_INTERPRETER_IMPL |
| 38 | VMLA_INST: | 38 | VMLA_INST: |
| 39 | { | 39 | { |
| 40 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 40 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 41 | CHECK_VFP_ENABLED; | 41 | CHECK_VFP_ENABLED; |
| 42 | 42 | ||
| 43 | vmla_inst *inst_cream = (vmla_inst *)inst_base->component; | 43 | vmla_inst *inst_cream = (vmla_inst *)inst_base->component; |
| @@ -86,7 +86,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmls)(unsigned int inst, int index) | |||
| 86 | #ifdef VFP_INTERPRETER_IMPL | 86 | #ifdef VFP_INTERPRETER_IMPL |
| 87 | VMLS_INST: | 87 | VMLS_INST: |
| 88 | { | 88 | { |
| 89 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 89 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 90 | CHECK_VFP_ENABLED; | 90 | CHECK_VFP_ENABLED; |
| 91 | 91 | ||
| 92 | vmls_inst *inst_cream = (vmls_inst *)inst_base->component; | 92 | vmls_inst *inst_cream = (vmls_inst *)inst_base->component; |
| @@ -135,7 +135,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vnmla)(unsigned int inst, int index) | |||
| 135 | #ifdef VFP_INTERPRETER_IMPL | 135 | #ifdef VFP_INTERPRETER_IMPL |
| 136 | VNMLA_INST: | 136 | VNMLA_INST: |
| 137 | { | 137 | { |
| 138 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 138 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 139 | CHECK_VFP_ENABLED; | 139 | CHECK_VFP_ENABLED; |
| 140 | 140 | ||
| 141 | vnmla_inst *inst_cream = (vnmla_inst *)inst_base->component; | 141 | vnmla_inst *inst_cream = (vnmla_inst *)inst_base->component; |
| @@ -185,7 +185,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vnmls)(unsigned int inst, int index) | |||
| 185 | #ifdef VFP_INTERPRETER_IMPL | 185 | #ifdef VFP_INTERPRETER_IMPL |
| 186 | VNMLS_INST: | 186 | VNMLS_INST: |
| 187 | { | 187 | { |
| 188 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 188 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 189 | CHECK_VFP_ENABLED; | 189 | CHECK_VFP_ENABLED; |
| 190 | 190 | ||
| 191 | vnmls_inst *inst_cream = (vnmls_inst *)inst_base->component; | 191 | vnmls_inst *inst_cream = (vnmls_inst *)inst_base->component; |
| @@ -234,7 +234,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vnmul)(unsigned int inst, int index) | |||
| 234 | #ifdef VFP_INTERPRETER_IMPL | 234 | #ifdef VFP_INTERPRETER_IMPL |
| 235 | VNMUL_INST: | 235 | VNMUL_INST: |
| 236 | { | 236 | { |
| 237 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 237 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 238 | CHECK_VFP_ENABLED; | 238 | CHECK_VFP_ENABLED; |
| 239 | 239 | ||
| 240 | vnmul_inst *inst_cream = (vnmul_inst *)inst_base->component; | 240 | vnmul_inst *inst_cream = (vnmul_inst *)inst_base->component; |
| @@ -283,7 +283,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmul)(unsigned int inst, int index) | |||
| 283 | #ifdef VFP_INTERPRETER_IMPL | 283 | #ifdef VFP_INTERPRETER_IMPL |
| 284 | VMUL_INST: | 284 | VMUL_INST: |
| 285 | { | 285 | { |
| 286 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 286 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 287 | CHECK_VFP_ENABLED; | 287 | CHECK_VFP_ENABLED; |
| 288 | 288 | ||
| 289 | vmul_inst *inst_cream = (vmul_inst *)inst_base->component; | 289 | vmul_inst *inst_cream = (vmul_inst *)inst_base->component; |
| @@ -332,7 +332,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vadd)(unsigned int inst, int index) | |||
| 332 | #ifdef VFP_INTERPRETER_IMPL | 332 | #ifdef VFP_INTERPRETER_IMPL |
| 333 | VADD_INST: | 333 | VADD_INST: |
| 334 | { | 334 | { |
| 335 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 335 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 336 | CHECK_VFP_ENABLED; | 336 | CHECK_VFP_ENABLED; |
| 337 | 337 | ||
| 338 | vadd_inst *inst_cream = (vadd_inst *)inst_base->component; | 338 | vadd_inst *inst_cream = (vadd_inst *)inst_base->component; |
| @@ -381,7 +381,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vsub)(unsigned int inst, int index) | |||
| 381 | #ifdef VFP_INTERPRETER_IMPL | 381 | #ifdef VFP_INTERPRETER_IMPL |
| 382 | VSUB_INST: | 382 | VSUB_INST: |
| 383 | { | 383 | { |
| 384 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 384 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 385 | CHECK_VFP_ENABLED; | 385 | CHECK_VFP_ENABLED; |
| 386 | 386 | ||
| 387 | vsub_inst *inst_cream = (vsub_inst *)inst_base->component; | 387 | vsub_inst *inst_cream = (vsub_inst *)inst_base->component; |
| @@ -430,7 +430,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vdiv)(unsigned int inst, int index) | |||
| 430 | #ifdef VFP_INTERPRETER_IMPL | 430 | #ifdef VFP_INTERPRETER_IMPL |
| 431 | VDIV_INST: | 431 | VDIV_INST: |
| 432 | { | 432 | { |
| 433 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 433 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 434 | CHECK_VFP_ENABLED; | 434 | CHECK_VFP_ENABLED; |
| 435 | 435 | ||
| 436 | vdiv_inst *inst_cream = (vdiv_inst *)inst_base->component; | 436 | vdiv_inst *inst_cream = (vdiv_inst *)inst_base->component; |
| @@ -485,7 +485,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovi)(unsigned int inst, int index) | |||
| 485 | #ifdef VFP_INTERPRETER_IMPL | 485 | #ifdef VFP_INTERPRETER_IMPL |
| 486 | VMOVI_INST: | 486 | VMOVI_INST: |
| 487 | { | 487 | { |
| 488 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 488 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 489 | CHECK_VFP_ENABLED; | 489 | CHECK_VFP_ENABLED; |
| 490 | 490 | ||
| 491 | vmovi_inst *inst_cream = (vmovi_inst *)inst_base->component; | 491 | vmovi_inst *inst_cream = (vmovi_inst *)inst_base->component; |
| @@ -529,7 +529,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovr)(unsigned int inst, int index) | |||
| 529 | #ifdef VFP_INTERPRETER_IMPL | 529 | #ifdef VFP_INTERPRETER_IMPL |
| 530 | VMOVR_INST: | 530 | VMOVR_INST: |
| 531 | { | 531 | { |
| 532 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 532 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 533 | CHECK_VFP_ENABLED; | 533 | CHECK_VFP_ENABLED; |
| 534 | 534 | ||
| 535 | vmovr_inst *inst_cream = (vmovr_inst *)inst_base->component; | 535 | vmovr_inst *inst_cream = (vmovr_inst *)inst_base->component; |
| @@ -571,7 +571,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vabs)(unsigned int inst, int index) | |||
| 571 | #ifdef VFP_INTERPRETER_IMPL | 571 | #ifdef VFP_INTERPRETER_IMPL |
| 572 | VABS_INST: | 572 | VABS_INST: |
| 573 | { | 573 | { |
| 574 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 574 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 575 | CHECK_VFP_ENABLED; | 575 | CHECK_VFP_ENABLED; |
| 576 | 576 | ||
| 577 | vabs_inst *inst_cream = (vabs_inst *)inst_base->component; | 577 | vabs_inst *inst_cream = (vabs_inst *)inst_base->component; |
| @@ -621,7 +621,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vneg)(unsigned int inst, int index) | |||
| 621 | #ifdef VFP_INTERPRETER_IMPL | 621 | #ifdef VFP_INTERPRETER_IMPL |
| 622 | VNEG_INST: | 622 | VNEG_INST: |
| 623 | { | 623 | { |
| 624 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 624 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 625 | CHECK_VFP_ENABLED; | 625 | CHECK_VFP_ENABLED; |
| 626 | 626 | ||
| 627 | vneg_inst *inst_cream = (vneg_inst *)inst_base->component; | 627 | vneg_inst *inst_cream = (vneg_inst *)inst_base->component; |
| @@ -670,7 +670,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vsqrt)(unsigned int inst, int index) | |||
| 670 | #ifdef VFP_INTERPRETER_IMPL | 670 | #ifdef VFP_INTERPRETER_IMPL |
| 671 | VSQRT_INST: | 671 | VSQRT_INST: |
| 672 | { | 672 | { |
| 673 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 673 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 674 | CHECK_VFP_ENABLED; | 674 | CHECK_VFP_ENABLED; |
| 675 | 675 | ||
| 676 | vsqrt_inst *inst_cream = (vsqrt_inst *)inst_base->component; | 676 | vsqrt_inst *inst_cream = (vsqrt_inst *)inst_base->component; |
| @@ -719,7 +719,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vcmp)(unsigned int inst, int index) | |||
| 719 | #ifdef VFP_INTERPRETER_IMPL | 719 | #ifdef VFP_INTERPRETER_IMPL |
| 720 | VCMP_INST: | 720 | VCMP_INST: |
| 721 | { | 721 | { |
| 722 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 722 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 723 | CHECK_VFP_ENABLED; | 723 | CHECK_VFP_ENABLED; |
| 724 | 724 | ||
| 725 | vcmp_inst *inst_cream = (vcmp_inst *)inst_base->component; | 725 | vcmp_inst *inst_cream = (vcmp_inst *)inst_base->component; |
| @@ -768,7 +768,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vcmp2)(unsigned int inst, int index) | |||
| 768 | #ifdef VFP_INTERPRETER_IMPL | 768 | #ifdef VFP_INTERPRETER_IMPL |
| 769 | VCMP2_INST: | 769 | VCMP2_INST: |
| 770 | { | 770 | { |
| 771 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 771 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 772 | CHECK_VFP_ENABLED; | 772 | CHECK_VFP_ENABLED; |
| 773 | 773 | ||
| 774 | vcmp2_inst *inst_cream = (vcmp2_inst *)inst_base->component; | 774 | vcmp2_inst *inst_cream = (vcmp2_inst *)inst_base->component; |
| @@ -817,7 +817,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vcvtbds)(unsigned int inst, int index) | |||
| 817 | #ifdef VFP_INTERPRETER_IMPL | 817 | #ifdef VFP_INTERPRETER_IMPL |
| 818 | VCVTBDS_INST: | 818 | VCVTBDS_INST: |
| 819 | { | 819 | { |
| 820 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 820 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 821 | CHECK_VFP_ENABLED; | 821 | CHECK_VFP_ENABLED; |
| 822 | 822 | ||
| 823 | vcvtbds_inst *inst_cream = (vcvtbds_inst *)inst_base->component; | 823 | vcvtbds_inst *inst_cream = (vcvtbds_inst *)inst_base->component; |
| @@ -868,7 +868,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vcvtbff)(unsigned int inst, int index) | |||
| 868 | #ifdef VFP_INTERPRETER_IMPL | 868 | #ifdef VFP_INTERPRETER_IMPL |
| 869 | VCVTBFF_INST: | 869 | VCVTBFF_INST: |
| 870 | { | 870 | { |
| 871 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 871 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 872 | CHECK_VFP_ENABLED; | 872 | CHECK_VFP_ENABLED; |
| 873 | 873 | ||
| 874 | vcvtbff_inst *inst_cream = (vcvtbff_inst *)inst_base->component; | 874 | vcvtbff_inst *inst_cream = (vcvtbff_inst *)inst_base->component; |
| @@ -917,7 +917,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vcvtbfi)(unsigned int inst, int index) | |||
| 917 | #ifdef VFP_INTERPRETER_IMPL | 917 | #ifdef VFP_INTERPRETER_IMPL |
| 918 | VCVTBFI_INST: | 918 | VCVTBFI_INST: |
| 919 | { | 919 | { |
| 920 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 920 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 921 | CHECK_VFP_ENABLED; | 921 | CHECK_VFP_ENABLED; |
| 922 | 922 | ||
| 923 | vcvtbfi_inst *inst_cream = (vcvtbfi_inst *)inst_base->component; | 923 | vcvtbfi_inst *inst_cream = (vcvtbfi_inst *)inst_base->component; |
| @@ -974,7 +974,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrs)(unsigned int inst, int index) | |||
| 974 | #ifdef VFP_INTERPRETER_IMPL | 974 | #ifdef VFP_INTERPRETER_IMPL |
| 975 | VMOVBRS_INST: | 975 | VMOVBRS_INST: |
| 976 | { | 976 | { |
| 977 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 977 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 978 | CHECK_VFP_ENABLED; | 978 | CHECK_VFP_ENABLED; |
| 979 | 979 | ||
| 980 | vmovbrs_inst *inst_cream = (vmovbrs_inst *)inst_base->component; | 980 | vmovbrs_inst *inst_cream = (vmovbrs_inst *)inst_base->component; |
| @@ -1017,7 +1017,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmsr)(unsigned int inst, int index) | |||
| 1017 | #ifdef VFP_INTERPRETER_IMPL | 1017 | #ifdef VFP_INTERPRETER_IMPL |
| 1018 | VMSR_INST: | 1018 | VMSR_INST: |
| 1019 | { | 1019 | { |
| 1020 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 1020 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 1021 | /* FIXME: special case for access to FPSID and FPEXC, VFP must be disabled , | 1021 | /* FIXME: special case for access to FPSID and FPEXC, VFP must be disabled , |
| 1022 | and in privileged mode */ | 1022 | and in privileged mode */ |
| 1023 | /* Exceptions must be checked, according to v7 ref manual */ | 1023 | /* Exceptions must be checked, according to v7 ref manual */ |
| @@ -1083,7 +1083,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrc)(unsigned int inst, int index) | |||
| 1083 | #ifdef VFP_INTERPRETER_IMPL | 1083 | #ifdef VFP_INTERPRETER_IMPL |
| 1084 | VMOVBRC_INST: | 1084 | VMOVBRC_INST: |
| 1085 | { | 1085 | { |
| 1086 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 1086 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 1087 | CHECK_VFP_ENABLED; | 1087 | CHECK_VFP_ENABLED; |
| 1088 | 1088 | ||
| 1089 | vmovbrc_inst* const inst_cream = (vmovbrc_inst*)inst_base->component; | 1089 | vmovbrc_inst* const inst_cream = (vmovbrc_inst*)inst_base->component; |
| @@ -1126,7 +1126,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmrs)(unsigned int inst, int index) | |||
| 1126 | #ifdef VFP_INTERPRETER_IMPL | 1126 | #ifdef VFP_INTERPRETER_IMPL |
| 1127 | VMRS_INST: | 1127 | VMRS_INST: |
| 1128 | { | 1128 | { |
| 1129 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 1129 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 1130 | /* FIXME: special case for access to FPSID and FPEXC, VFP must be disabled, | 1130 | /* FIXME: special case for access to FPSID and FPEXC, VFP must be disabled, |
| 1131 | and in privileged mode */ | 1131 | and in privileged mode */ |
| 1132 | /* Exceptions must be checked, according to v7 ref manual */ | 1132 | /* Exceptions must be checked, according to v7 ref manual */ |
| @@ -1214,7 +1214,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbcr)(unsigned int inst, int index) | |||
| 1214 | #ifdef VFP_INTERPRETER_IMPL | 1214 | #ifdef VFP_INTERPRETER_IMPL |
| 1215 | VMOVBCR_INST: | 1215 | VMOVBCR_INST: |
| 1216 | { | 1216 | { |
| 1217 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 1217 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 1218 | CHECK_VFP_ENABLED; | 1218 | CHECK_VFP_ENABLED; |
| 1219 | 1219 | ||
| 1220 | vmovbcr_inst* const inst_cream = (vmovbcr_inst*) inst_base->component; | 1220 | vmovbcr_inst* const inst_cream = (vmovbcr_inst*) inst_base->component; |
| @@ -1266,7 +1266,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrrss)(unsigned int inst, int inde | |||
| 1266 | #ifdef VFP_INTERPRETER_IMPL | 1266 | #ifdef VFP_INTERPRETER_IMPL |
| 1267 | VMOVBRRSS_INST: | 1267 | VMOVBRRSS_INST: |
| 1268 | { | 1268 | { |
| 1269 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 1269 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 1270 | CHECK_VFP_ENABLED; | 1270 | CHECK_VFP_ENABLED; |
| 1271 | 1271 | ||
| 1272 | vmovbrrss_inst* const inst_cream = (vmovbrrss_inst*)inst_base->component; | 1272 | vmovbrrss_inst* const inst_cream = (vmovbrrss_inst*)inst_base->component; |
| @@ -1314,7 +1314,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrrd)(unsigned int inst, int index | |||
| 1314 | #ifdef VFP_INTERPRETER_IMPL | 1314 | #ifdef VFP_INTERPRETER_IMPL |
| 1315 | VMOVBRRD_INST: | 1315 | VMOVBRRD_INST: |
| 1316 | { | 1316 | { |
| 1317 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 1317 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 1318 | CHECK_VFP_ENABLED; | 1318 | CHECK_VFP_ENABLED; |
| 1319 | 1319 | ||
| 1320 | vmovbrrd_inst *inst_cream = (vmovbrrd_inst *)inst_base->component; | 1320 | vmovbrrd_inst *inst_cream = (vmovbrrd_inst *)inst_base->component; |
| @@ -1368,7 +1368,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vstr)(unsigned int inst, int index) | |||
| 1368 | #ifdef VFP_INTERPRETER_IMPL | 1368 | #ifdef VFP_INTERPRETER_IMPL |
| 1369 | VSTR_INST: | 1369 | VSTR_INST: |
| 1370 | { | 1370 | { |
| 1371 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 1371 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 1372 | CHECK_VFP_ENABLED; | 1372 | CHECK_VFP_ENABLED; |
| 1373 | 1373 | ||
| 1374 | vstr_inst *inst_cream = (vstr_inst *)inst_base->component; | 1374 | vstr_inst *inst_cream = (vstr_inst *)inst_base->component; |
| @@ -1433,7 +1433,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vpush)(unsigned int inst, int index) | |||
| 1433 | #ifdef VFP_INTERPRETER_IMPL | 1433 | #ifdef VFP_INTERPRETER_IMPL |
| 1434 | VPUSH_INST: | 1434 | VPUSH_INST: |
| 1435 | { | 1435 | { |
| 1436 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 1436 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 1437 | CHECK_VFP_ENABLED; | 1437 | CHECK_VFP_ENABLED; |
| 1438 | 1438 | ||
| 1439 | vpush_inst *inst_cream = (vpush_inst *)inst_base->component; | 1439 | vpush_inst *inst_cream = (vpush_inst *)inst_base->component; |
| @@ -1511,7 +1511,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vstm)(unsigned int inst, int index) | |||
| 1511 | #ifdef VFP_INTERPRETER_IMPL | 1511 | #ifdef VFP_INTERPRETER_IMPL |
| 1512 | VSTM_INST: /* encoding 1 */ | 1512 | VSTM_INST: /* encoding 1 */ |
| 1513 | { | 1513 | { |
| 1514 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 1514 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 1515 | CHECK_VFP_ENABLED; | 1515 | CHECK_VFP_ENABLED; |
| 1516 | 1516 | ||
| 1517 | vstm_inst* inst_cream = (vstm_inst*)inst_base->component; | 1517 | vstm_inst* inst_cream = (vstm_inst*)inst_base->component; |
| @@ -1593,7 +1593,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vpop)(unsigned int inst, int index) | |||
| 1593 | #ifdef VFP_INTERPRETER_IMPL | 1593 | #ifdef VFP_INTERPRETER_IMPL |
| 1594 | VPOP_INST: | 1594 | VPOP_INST: |
| 1595 | { | 1595 | { |
| 1596 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 1596 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 1597 | CHECK_VFP_ENABLED; | 1597 | CHECK_VFP_ENABLED; |
| 1598 | 1598 | ||
| 1599 | vpop_inst *inst_cream = (vpop_inst *)inst_base->component; | 1599 | vpop_inst *inst_cream = (vpop_inst *)inst_base->component; |
| @@ -1667,7 +1667,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vldr)(unsigned int inst, int index) | |||
| 1667 | #ifdef VFP_INTERPRETER_IMPL | 1667 | #ifdef VFP_INTERPRETER_IMPL |
| 1668 | VLDR_INST: | 1668 | VLDR_INST: |
| 1669 | { | 1669 | { |
| 1670 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 1670 | if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) { |
| 1671 | CHECK_VFP_ENABLED; | 1671 | CHECK_VFP_ENABLED; |
| 1672 | 1672 | ||
| 1673 | vldr_inst *inst_cream = (vldr_inst *)inst_base->component; | 1673 | vldr_inst *inst_cream = (vldr_inst *)inst_base->component; |
| @@ -1738,7 +1738,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vldm)(unsigned int inst, int index) | |||
| 1738 | #ifdef VFP_INTERPRETER_IMPL | 1738 | #ifdef VFP_INTERPRETER_IMPL |
| 1739 | VLDM_INST: | 1739 | VLDM_INST: |
| 1740 | { | 1740 | { |
| 1741 | if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | 1741 | if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) { |
| 1742 | CHECK_VFP_ENABLED; | 1742 | CHECK_VFP_ENABLED; |
| 1743 | 1743 | ||
| 1744 | vldm_inst* inst_cream = (vldm_inst*)inst_base->component; | 1744 | vldm_inst* inst_cream = (vldm_inst*)inst_base->component; |