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 |