summaryrefslogtreecommitdiff
path: root/target-i386
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-05-03 19:17:26 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-05-03 19:17:26 +0000
commit68cae3d8c10f914296dfc52cebe214264031df7d (patch)
tree0adec0f1ddd028c5d7ff7d83ed39f79b0d9599ca /target-i386
parentc91fde65f410bca632113e98c700759950de2e93 (diff)
downloadqemu-68cae3d8c10f914296dfc52cebe214264031df7d.tar.gz
bswapq fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1894 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/exec.h1
-rw-r--r--target-i386/helper.c4
-rw-r--r--target-i386/op.c2
3 files changed, 6 insertions, 1 deletions
diff --git a/target-i386/exec.h b/target-i386/exec.h
index 8299af4e77..4ff527f841 100644
--- a/target-i386/exec.h
+++ b/target-i386/exec.h
@@ -187,6 +187,7 @@ void helper_imulq_EAX_T0(void);
void helper_imulq_T0_T1(void);
void helper_divq_EAX_T0(void);
void helper_idivq_EAX_T0(void);
+void helper_bswapq_T0(void);
void helper_cmpxchg8b(void);
void helper_cpuid(void);
void helper_enter_level(int level, int data32);
diff --git a/target-i386/helper.c b/target-i386/helper.c
index 7bd545e81b..123f510497 100644
--- a/target-i386/helper.c
+++ b/target-i386/helper.c
@@ -3395,6 +3395,10 @@ void helper_idivq_EAX_T0(void)
EDX = r1;
}
+void helper_bswapq_T0(void)
+{
+ T0 = bswap64(T0);
+}
#endif
float approx_rsqrt(float a)
diff --git a/target-i386/op.c b/target-i386/op.c
index 20eeaa4409..a9a8665a1c 100644
--- a/target-i386/op.c
+++ b/target-i386/op.c
@@ -225,7 +225,7 @@ void OPPROTO op_bswapl_T0(void)
#ifdef TARGET_X86_64
void OPPROTO op_bswapq_T0(void)
{
- T0 = bswap64(T0);
+ helper_bswapq_T0();
}
#endif