[LLVMdev] Passing structures by value on Windows

Anton Korobeynikov anton at korobeynikov.info
Thu Jun 3 05:20:27 PDT 2010


> On x64 VC++ passes two { i32 i32 } structs in RCX and RDX respectively
> and reads result from RAX, but it seems LLVM reads parameters from
> ECX, EDX (first vector) and R8D, R9D (second vector).
It's a frontend task to lower the code to follow the vendor ABI. In
this case you have to bitcast your struct to i64 before passing as

With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University

More information about the llvm-dev mailing list