summaryrefslogtreecommitdiffstats
path: root/src/core/arm/skyeye_common/vfp/vfpinstr.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-06-12 16:43:59 +0200
committerbunnei <bunneidev@gmail.com>2015-06-12 16:43:59 +0200
commit2a435aa0ccd0369a3e1d941f092cd6dc3887bb1f (patch)
tree9a1ec0d390245e280ea23b7315d3b14e0f60fbff /src/core/arm/skyeye_common/vfp/vfpinstr.cpp
parentMerge pull request #835 from tfarley/hw-renderer-fixes (diff)
parentvfp: Implement VMOVBCR/VMOVBRC (diff)
downloadyuzu-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/arm/skyeye_common/vfp/vfpinstr.cpp')
-rw-r--r--src/core/arm/skyeye_common/vfp/vfpinstr.cpp12
1 files changed, 8 insertions, 4 deletions
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));