[cfe-commits] [llvm-commits] [PATCH] ARM strexd and ldrexd intrinsics
Jakob Stoklund Olesen
stoklund at 2pi.dk
Tue May 24 20:56:13 PDT 2011
On May 24, 2011, at 2:17 PM, Bruno Cardoso Lopes wrote:
> Add support for ARM ldrexd/strexd intrinsics. ldrexd and strexd both
> use register pairs to load/store i64 values. The register pair
> constraint specifies that the first register should be even and the
> second the following odd. Teach the pre-regalloc LoadStoreOptimizer to
> use register allocator hints to respect the constraint and teach the
> post-reagalloc to fix the pair (with a very conservative approach)
> when the hint fails. A testcase is also present.
The regalloc stuff is gross, but it will work. I would prefer to model the even/odd pair constraint explicitly, but we don't yet have an elegant way of doing that.
+what Renato said.
More information about the cfe-commits