mirror of
https://github.com/asmjit/asmjit.git
synced 2025-12-18 13:04:36 +03:00
Added test that reproduces Issue #9
This commit is contained in:
@@ -2310,27 +2310,22 @@ struct X86Test_CallMisc1 : public X86Test {
|
|||||||
|
|
||||||
X86X64FuncNode* func = c.addFunc(kFuncConvHost, FuncBuilder2<int, int, int>());
|
X86X64FuncNode* func = c.addFunc(kFuncConvHost, FuncBuilder2<int, int, int>());
|
||||||
|
|
||||||
GpVar aa(c, kVarTypeInt32, "aa");
|
|
||||||
GpVar ab(c, kVarTypeInt32, "ab");
|
|
||||||
|
|
||||||
c.setArg(0, aa);
|
|
||||||
c.setArg(1, ab);
|
|
||||||
|
|
||||||
GpVar a(c, kVarTypeInt32, "a");
|
GpVar a(c, kVarTypeInt32, "a");
|
||||||
GpVar b(c, kVarTypeInt32, "b");
|
GpVar b(c, kVarTypeInt32, "b");
|
||||||
|
GpVar r(c, kVarTypeInt32, "r");
|
||||||
|
|
||||||
|
c.setArg(0, a);
|
||||||
|
c.setArg(1, b);
|
||||||
|
|
||||||
c.alloc(a, eax);
|
c.alloc(a, eax);
|
||||||
c.alloc(b, ebx);
|
c.alloc(b, ebx);
|
||||||
|
|
||||||
c.mov(a, aa);
|
X86X64CallNode* call = c.call(imm_ptr((void*)dummy), kFuncConvHost, FuncBuilder2<void, int, int>());
|
||||||
c.mov(b, ab);
|
|
||||||
|
|
||||||
X86X64CallNode* call = c.call(imm_ptr(dummy), kFuncConvHost, FuncBuilder2<void, int, int>());
|
|
||||||
call->setArg(0, a);
|
call->setArg(0, a);
|
||||||
call->setArg(1, b);
|
call->setArg(1, b);
|
||||||
|
|
||||||
c.add(aa, ab);
|
c.lea(r, ptr(a, b));
|
||||||
c.ret(aa);
|
c.ret(r);
|
||||||
|
|
||||||
c.endFunc();
|
c.endFunc();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user