diff options
| author | 2015-02-04 14:01:29 -0500 | |
|---|---|---|
| committer | 2015-02-04 14:06:10 -0500 | |
| commit | 82e8f25fe7e075c299861ee518e670bc2a97667a (patch) | |
| tree | d4bec347176c3e1b8ba659fa1ed52a26dfbd77ac /src/core | |
| parent | Merge pull request #534 from neobrain/disassembler-improvements (diff) | |
| download | yuzu-82e8f25fe7e075c299861ee518e670bc2a97667a.tar.gz yuzu-82e8f25fe7e075c299861ee518e670bc2a97667a.tar.xz yuzu-82e8f25fe7e075c299861ee518e670bc2a97667a.zip | |
vfp: Fix VCVT
These variants exclusively read from the single precision regs and write to double-precision registers
Fixes issues where converted values would be way off from what they should be due to the results being stored in the wrong registers.
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/arm/skyeye_common/vfp/vfpdouble.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/core/arm/skyeye_common/vfp/vfpdouble.cpp b/src/core/arm/skyeye_common/vfp/vfpdouble.cpp index 15a5d1265..d35ca510a 100644 --- a/src/core/arm/skyeye_common/vfp/vfpdouble.cpp +++ b/src/core/arm/skyeye_common/vfp/vfpdouble.cpp | |||
| @@ -880,18 +880,18 @@ static struct op fops_ext[] = { | |||
| 880 | { NULL, 0 }, | 880 | { NULL, 0 }, |
| 881 | { NULL, 0 }, | 881 | { NULL, 0 }, |
| 882 | { vfp_double_fcvts, OP_SCALAR|OP_DD }, //0x0000000F - FEXT_FCVT | 882 | { vfp_double_fcvts, OP_SCALAR|OP_DD }, //0x0000000F - FEXT_FCVT |
| 883 | { vfp_double_fuito, OP_SCALAR }, //0x00000010 - FEXT_FUITO | 883 | { vfp_double_fuito, OP_SCALAR|OP_SM }, //0x00000010 - FEXT_FUITO |
| 884 | { vfp_double_fsito, OP_SCALAR }, //0x00000011 - FEXT_FSITO | 884 | { vfp_double_fsito, OP_SCALAR|OP_SM }, //0x00000011 - FEXT_FSITO |
| 885 | { NULL, 0 }, | 885 | { NULL, 0 }, |
| 886 | { NULL, 0 }, | 886 | { NULL, 0 }, |
| 887 | { NULL, 0 }, | 887 | { NULL, 0 }, |
| 888 | { NULL, 0 }, | 888 | { NULL, 0 }, |
| 889 | { NULL, 0 }, | 889 | { NULL, 0 }, |
| 890 | { NULL, 0 }, | 890 | { NULL, 0 }, |
| 891 | { vfp_double_ftoui, OP_SCALAR }, //0x00000018 - FEXT_FTOUI | 891 | { vfp_double_ftoui, OP_SCALAR|OP_SD }, //0x00000018 - FEXT_FTOUI |
| 892 | { vfp_double_ftouiz, OP_SCALAR }, //0x00000019 - FEXT_FTOUIZ | 892 | { vfp_double_ftouiz, OP_SCALAR|OP_SD }, //0x00000019 - FEXT_FTOUIZ |
| 893 | { vfp_double_ftosi, OP_SCALAR }, //0x0000001A - FEXT_FTOSI | 893 | { vfp_double_ftosi, OP_SCALAR|OP_SD }, //0x0000001A - FEXT_FTOSI |
| 894 | { vfp_double_ftosiz, OP_SCALAR }, //0x0000001B - FEXT_FTOSIZ | 894 | { vfp_double_ftosiz, OP_SCALAR|OP_SD }, //0x0000001B - FEXT_FTOSIZ |
| 895 | }; | 895 | }; |
| 896 | 896 | ||
| 897 | static u32 | 897 | static u32 |