[cfe-commits] [llvm-commits] [PATCH] ARM strexd and ldrexd intrinsics
Renato Golin
rengolin at systemcall.org
Wed May 25 11:21:33 PDT 2011
On 25 May 2011 19:01, Jim Grosbach <grosbach at apple.com> wrote:
> This gets ugly for ARM because i64 isn't a legal type, but we have these 64-bit instructions. So it's hard to match them effectively.
What about long long? I think there is support, at least at the IR
level. Anyway, ARM does support long long, so if there isn't yet, we
should add.
> For additional builtins that map directly to ldrex/strex, which I'm given to understand ARM's compiler supports, we would indeed need new intrinsics (one for each data size).
You mean ARM specific ones?
> We also want to use these instructions for the 64-bit versions of the __sync* builtins. Those currently generate a libcall, but they don't really need to.
Yup, they can be a Custom lowering in ARMISelLowering...
cheers,
--renato
More information about the cfe-commits
mailing list