diff --git a/target-i386/exec.h b/target-i386/exec.h index 8299af4e7..4ff527f84 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 7bd545e81..123f51049 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 20eeaa440..a9a8665a1 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