[LLVMdev] Support of register pair for 64-bit data?
Weiming Zhao
weimingz at codeaurora.org
Tue Aug 14 12:09:16 PDT 2012
Hi,
I'm wondering if LLVM plans to support paired register constraints for
64-bit data.
Take ARM for example, the atomic i64 value read/write instuctions:
ldrexd/strexd, require aligned register pairs (even/odd).
Currently, in LLVM ARM (ARMISelDAGToDAG.cpp), ldrexd/strexd get hard coded
registers (R0,R1) before register allocation via intrinsic.
It would be neater if there is a register constraint and register class that
support 64-bit data and let the reg allocator to select the available
register pair.
More importantly, it can solve issues for inline asm that requires 64-bit
data binding: inline asm won't be treated as intrinsic so there is no
guarantee to get paired registers.
Thanks,
Weiming
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120814/7f14723f/attachment.html>
More information about the llvm-dev
mailing list