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
clang-strexd-ldrexd.patch
Description: Binary data
llvm-strexd-ldrexd.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
