diff options
author | bunnei <bunneidev@gmail.com> | 2015-06-12 16:43:59 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-06-12 16:43:59 +0200 |
commit | 2a435aa0ccd0369a3e1d941f092cd6dc3887bb1f (patch) | |
tree | 9a1ec0d390245e280ea23b7315d3b14e0f60fbff /src/core | |
parent | Merge pull request #835 from tfarley/hw-renderer-fixes (diff) | |
parent | vfp: Implement VMOVBCR/VMOVBRC (diff) | |
download | yuzu-2a435aa0ccd0369a3e1d941f092cd6dc3887bb1f.tar yuzu-2a435aa0ccd0369a3e1d941f092cd6dc3887bb1f.tar.gz yuzu-2a435aa0ccd0369a3e1d941f092cd6dc3887bb1f.tar.bz2 yuzu-2a435aa0ccd0369a3e1d941f092cd6dc3887bb1f.tar.lz yuzu-2a435aa0ccd0369a3e1d941f092cd6dc3887bb1f.tar.xz yuzu-2a435aa0ccd0369a3e1d941f092cd6dc3887bb1f.tar.zst yuzu-2a435aa0ccd0369a3e1d941f092cd6dc3887bb1f.zip |
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/arm/skyeye_common/vfp/vfp.h | 1 | ||||
-rw-r--r-- | src/core/arm/skyeye_common/vfp/vfpinstr.cpp | 12 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/core/arm/skyeye_common/vfp/vfp.h b/src/core/arm/skyeye_common/vfp/vfp.h index 727350f14..acefae9bb 100644 --- a/src/core/arm/skyeye_common/vfp/vfp.h +++ b/src/core/arm/skyeye_common/vfp/vfp.h @@ -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]); diff --git a/src/core/arm/skyeye_common/vfp/vfpinstr.cpp b/src/core/arm/skyeye_common/vfp/vfpinstr.cpp index 3ed918a93..d4060b791 100644 --- a/src/core/arm/skyeye_common/vfp/vfpinstr.cpp +++ b/src/core/arm/skyeye_common/vfp/vfpinstr.cpp @@ -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)); |