ncannasse преди 7 години
родител
ревизия
abb40212d7
променени са 1 файла, в които са добавени 3 реда и са изтрити 1 реда
  1. 3 1
      src/jit.c

+ 3 - 1
src/jit.c

@@ -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);