[LLVMdev] ARM eabi calling convention

Anton Korobeynikov anton at korobeynikov.info
Tue Aug 7 03:59:20 PDT 2012


>> See ARMCallingConv.td:113. The alignment of the arg is checked and if
>> it's 8-byte aligned, the proper registers are chosen.
>
> Are you sure?  In this case, it looks like the frontend is translating the argument type to [2 x i32], so it's not going to have 8-byte alignment.  This looks like a bug to me (but I haven't actually tried it).
It seems this will work for double's only when passing inside GP regs,
but not for anything else...
Probably all the "alignment" logic needs to be moved upper to frontend...

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



More information about the llvm-dev mailing list