Commit 68cae3d8c10f914296dfc52cebe214264031df7d
1 parent
c91fde65
bswapq fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1894 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
6 additions
and
1 deletions
target-i386/exec.h
@@ -187,6 +187,7 @@ void helper_imulq_EAX_T0(void); | @@ -187,6 +187,7 @@ void helper_imulq_EAX_T0(void); | ||
187 | void helper_imulq_T0_T1(void); | 187 | void helper_imulq_T0_T1(void); |
188 | void helper_divq_EAX_T0(void); | 188 | void helper_divq_EAX_T0(void); |
189 | void helper_idivq_EAX_T0(void); | 189 | void helper_idivq_EAX_T0(void); |
190 | +void helper_bswapq_T0(void); | ||
190 | void helper_cmpxchg8b(void); | 191 | void helper_cmpxchg8b(void); |
191 | void helper_cpuid(void); | 192 | void helper_cpuid(void); |
192 | void helper_enter_level(int level, int data32); | 193 | void helper_enter_level(int level, int data32); |
target-i386/helper.c
@@ -3395,6 +3395,10 @@ void helper_idivq_EAX_T0(void) | @@ -3395,6 +3395,10 @@ void helper_idivq_EAX_T0(void) | ||
3395 | EDX = r1; | 3395 | EDX = r1; |
3396 | } | 3396 | } |
3397 | 3397 | ||
3398 | +void helper_bswapq_T0(void) | ||
3399 | +{ | ||
3400 | + T0 = bswap64(T0); | ||
3401 | +} | ||
3398 | #endif | 3402 | #endif |
3399 | 3403 | ||
3400 | float approx_rsqrt(float a) | 3404 | float approx_rsqrt(float a) |
target-i386/op.c
@@ -225,7 +225,7 @@ void OPPROTO op_bswapl_T0(void) | @@ -225,7 +225,7 @@ void OPPROTO op_bswapl_T0(void) | ||
225 | #ifdef TARGET_X86_64 | 225 | #ifdef TARGET_X86_64 |
226 | void OPPROTO op_bswapq_T0(void) | 226 | void OPPROTO op_bswapq_T0(void) |
227 | { | 227 | { |
228 | - T0 = bswap64(T0); | 228 | + helper_bswapq_T0(); |
229 | } | 229 | } |
230 | #endif | 230 | #endif |
231 | 231 |