aboutsummaryrefslogtreecommitdiff
path: root/target-sparc/op.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-10-10 17:46:24 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-10-10 17:46:24 +0000
commita0c4cb4a7026977266d08d3e6af27d4dd04ed1e4 (patch)
tree5c326bbae06343ba7defa375da6c4d9417dad4bb /target-sparc/op.c
parent188d857911636fa43628eb8a7beeab4702636317 (diff)
sparc fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1117 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-sparc/op.c')
-rw-r--r--target-sparc/op.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/target-sparc/op.c b/target-sparc/op.c
index 042fd6199a..2cf4ed8411 100644
--- a/target-sparc/op.c
+++ b/target-sparc/op.c
@@ -932,20 +932,32 @@ void OPPROTO op_fcmpd(void)
do_fcmpd();
}
+#ifdef USE_INT_TO_FLOAT_HELPERS
void OPPROTO op_fitos(void)
{
- FT0 = (float) *((int32_t *)&FT1);
+ do_fitos();
}
-void OPPROTO op_fdtos(void)
+void OPPROTO op_fitod(void)
{
- FT0 = (float) DT1;
+ do_fitod();
+}
+#else
+void OPPROTO op_fitos(void)
+{
+ FT0 = (float) *((int32_t *)&FT1);
}
void OPPROTO op_fitod(void)
{
DT0 = (double) *((int32_t *)&FT1);
}
+#endif
+
+void OPPROTO op_fdtos(void)
+{
+ FT0 = (float) DT1;
+}
void OPPROTO op_fstod(void)
{