Hi,

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.

OK to commit?

-- 
Bruno Cardoso Lopes
http://www.brunocardoso.cc

Attachment: clang-strexd-ldrexd.patch
Description: Binary data

Attachment: llvm-strexd-ldrexd.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to