Merge pull request #856 from lioncash/vfp
vfp: Implement VMOVBCR/VMOVBRC
This commit is contained in:
		| @@ -22,7 +22,6 @@ | ||||
|  | ||||
| #include "core/arm/skyeye_common/vfp/vfp_helper.h" /* for references to cdp SoftFloat functions */ | ||||
|  | ||||
| #define VFP_DEBUG_UNIMPLEMENTED(x) LOG_ERROR(Core_ARM11, "in func %s, " #x " unimplemented\n", __FUNCTION__); exit(-1); | ||||
| #define VFP_DEBUG_UNTESTED(x) LOG_TRACE(Core_ARM11, "in func %s, " #x " untested\n", __FUNCTION__); | ||||
| #define CHECK_VFP_ENABLED | ||||
| #define CHECK_VFP_CDP_RET vfp_raise_exceptions(cpu, ret, inst_cream->instr, cpu->VFP[VFP_FPSCR]); | ||||
|   | ||||
| @@ -1068,10 +1068,12 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrc)(unsigned int inst, int index) | ||||
| #ifdef VFP_INTERPRETER_IMPL | ||||
| VMOVBRC_INST: | ||||
| { | ||||
|     if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | ||||
|     if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | ||||
|         CHECK_VFP_ENABLED; | ||||
|  | ||||
|         VFP_DEBUG_UNIMPLEMENTED(VMOVBRC); | ||||
|         vmovbrc_inst* const inst_cream = (vmovbrc_inst*)inst_base->component; | ||||
|  | ||||
|         cpu->ExtReg[(2 * inst_cream->d) + inst_cream->index] = cpu->Reg[inst_cream->t]; | ||||
|     } | ||||
|     cpu->Reg[15] += GET_INST_SIZE(cpu); | ||||
|     INC_PC(sizeof(vmovbrc_inst)); | ||||
| @@ -1195,10 +1197,12 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbcr)(unsigned int inst, int index) | ||||
| #ifdef VFP_INTERPRETER_IMPL | ||||
| VMOVBCR_INST: | ||||
| { | ||||
|     if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | ||||
|     if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | ||||
|         CHECK_VFP_ENABLED; | ||||
|  | ||||
|         VFP_DEBUG_UNIMPLEMENTED(VMOVBCR); | ||||
|         vmovbcr_inst* const inst_cream = (vmovbcr_inst*) inst_base->component; | ||||
|  | ||||
|         cpu->Reg[inst_cream->t] = cpu->ExtReg[(2 * inst_cream->d) + inst_cream->index]; | ||||
|     } | ||||
|     cpu->Reg[15] += GET_INST_SIZE(cpu); | ||||
|     INC_PC(sizeof(vmovbcr_inst)); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bunnei
					bunnei