aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/arm/skyeye_common/vfp
diff options
context:
space:
mode:
authorGravatar Lioncash <mathew1800@gmail.com>2015-02-04 14:01:29 -0500
committerGravatar Lioncash <mathew1800@gmail.com>2015-02-04 14:06:10 -0500
commit82e8f25fe7e075c299861ee518e670bc2a97667a (patch)
treed4bec347176c3e1b8ba659fa1ed52a26dfbd77ac /src/core/arm/skyeye_common/vfp
parenta45175ee0d2a5a0bb17811baa55501cad36a9e29 (diff)
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/arm/skyeye_common/vfp')
-rw-r--r--src/core/arm/skyeye_common/vfp/vfpdouble.cpp12
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 15a5d126..d35ca510 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[] = {
{ NULL, 0 },
{ NULL, 0 },
{ vfp_double_fcvts, OP_SCALAR|OP_DD }, //0x0000000F - FEXT_FCVT
- { vfp_double_fuito, OP_SCALAR }, //0x00000010 - FEXT_FUITO
- { vfp_double_fsito, OP_SCALAR }, //0x00000011 - FEXT_FSITO
+ { vfp_double_fuito, OP_SCALAR|OP_SM }, //0x00000010 - FEXT_FUITO
+ { vfp_double_fsito, OP_SCALAR|OP_SM }, //0x00000011 - FEXT_FSITO
{ NULL, 0 },
{ NULL, 0 },
{ NULL, 0 },
{ NULL, 0 },
{ NULL, 0 },
{ NULL, 0 },
- { vfp_double_ftoui, OP_SCALAR }, //0x00000018 - FEXT_FTOUI
- { vfp_double_ftouiz, OP_SCALAR }, //0x00000019 - FEXT_FTOUIZ
- { vfp_double_ftosi, OP_SCALAR }, //0x0000001A - FEXT_FTOSI
- { vfp_double_ftosiz, OP_SCALAR }, //0x0000001B - FEXT_FTOSIZ
+ { vfp_double_ftoui, OP_SCALAR|OP_SD }, //0x00000018 - FEXT_FTOUI
+ { vfp_double_ftouiz, OP_SCALAR|OP_SD }, //0x00000019 - FEXT_FTOUIZ
+ { vfp_double_ftosi, OP_SCALAR|OP_SD }, //0x0000001A - FEXT_FTOSI
+ { vfp_double_ftosiz, OP_SCALAR|OP_SD }, //0x0000001B - FEXT_FTOSIZ
};
static u32