From 83ed8ebb22da6d77f8f15af43bf316bd14e93ed3 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 2 Dec 2024 10:50:21 +0100 Subject: Android Long Double handling (#2101) * [ANDROID] Try to handle LongDouble in vaarg correctly * [ANDROID] Try to enable test07 * [WRAPPED] Fixed Android long double handling (#2096) * [WRAPPED] Fixed Android long double handling * [WRAPPED] Force casting to uintptr_t * [WRAPPED] Fixed a typing issue, removed a warning in the CI --------- Co-authored-by: rajdakin --- src/include/complext.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/include') diff --git a/src/include/complext.h b/src/include/complext.h index 695bb876..27336ca8 100644 --- a/src/include/complext.h +++ b/src/include/complext.h @@ -45,12 +45,18 @@ static inline void from_complex(x64emu_t* emu, complex_t v) { emu->xmm[0].d[0]=v.r; emu->xmm[1].d[0]=v.i; } +#ifdef ANDROID +static inline void from_complexl(x64emu_t* emu, complexl_t v) { + memcpy(&emu->xmm[0], &v, 16*2); // what if AVX is present? +} +#else static inline void from_complexl(x64emu_t* emu, complexl_t v) { fpu_do_push(emu); fpu_do_push(emu); ST0.d=FromLD(&v.r); ST(1).d=FromLD(&v.i); } +#endif static inline void from_complexk(x64emu_t* emu, complex_t v) { fpu_do_push(emu); fpu_do_push(emu); -- cgit 1.4.1