[LLVMdev] i128 backend or frontend lowering

Eli Friedman eli.friedman at gmail.com
Thu Aug 6 12:21:13 PDT 2009


On Thu, Aug 6, 2009 at 12:07 PM, Andrew Lenharth<andrewl at lenharth.org> wrote:
> I am seeing i128 from llvm-gcc on Alpha.  I know the calling
> convention for them, they are split into two registers, but I don't
> know if that should be handled in the frontend or the backend.  I
> would just as soon do it in the backend, but I didn't see any support
> in the new calling convention work for automatically splitting an
> argument into multiple registers.
>
> Is the backend the best place to do this or should I attempt to make
> llvm-gcc not generate i128 in the first place?
>
> e.g. I need to convert foo(i128) -> foo(i64 (low bits), i64 (high bits))
>
> Andrew

As far as I can tell, i128 already works the way you want it to... is
there some case which isn't generating the right code?

-Eli




More information about the llvm-dev mailing list