From 3fb860e22f397c85b91b3230ab18e59758e69d6f Mon Sep 17 00:00:00 2001 From: kobalicekp Date: Tue, 25 Mar 2014 19:20:09 +0100 Subject: [PATCH] Added test that reproduces Issue #9 --- src/app/test/testx86.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/app/test/testx86.cpp b/src/app/test/testx86.cpp index f488bd4..318fe55 100644 --- a/src/app/test/testx86.cpp +++ b/src/app/test/testx86.cpp @@ -2310,27 +2310,22 @@ struct X86Test_CallMisc1 : public X86Test { X86X64FuncNode* func = c.addFunc(kFuncConvHost, FuncBuilder2()); - GpVar aa(c, kVarTypeInt32, "aa"); - GpVar ab(c, kVarTypeInt32, "ab"); - - c.setArg(0, aa); - c.setArg(1, ab); - GpVar a(c, kVarTypeInt32, "a"); GpVar b(c, kVarTypeInt32, "b"); + GpVar r(c, kVarTypeInt32, "r"); + + c.setArg(0, a); + c.setArg(1, b); c.alloc(a, eax); c.alloc(b, ebx); - c.mov(a, aa); - c.mov(b, ab); - - X86X64CallNode* call = c.call(imm_ptr(dummy), kFuncConvHost, FuncBuilder2()); + X86X64CallNode* call = c.call(imm_ptr((void*)dummy), kFuncConvHost, FuncBuilder2()); call->setArg(0, a); call->setArg(1, b); - c.add(aa, ab); - c.ret(aa); + c.lea(r, ptr(a, b)); + c.ret(r); c.endFunc(); }