|
@@ -1370,7 +1370,9 @@ static void set_native_arg( jit_ctx *ctx, preg *r ) {
|
|
|
static void set_native_arg_fpu( jit_ctx *ctx, preg *r, bool isf32 ) {
|
|
|
# ifdef HL_64
|
|
|
if( r->kind == RCPU ) ASSERT(0);
|
|
|
- preg *target = REG_AT(XMM(IS_WINCALL64 ? --ctx->nativeArgsCount : ctx->nativeArgsCount));
|
|
|
+ // can only be used if last argument !!
|
|
|
+ ctx->nativeArgsCount--;
|
|
|
+ preg *target = REG_AT(XMM(IS_WINCALL64 ? ctx->nativeArgsCount : 0));
|
|
|
if( target != r ) {
|
|
|
op64(ctx, isf32 ? MOVSS : MOVSD, target, r);
|
|
|
scratch(target);
|