| Lang Hames | be3d971 | 2013-03-09 22:56:09 +0000 | [diff] [blame] | 1 | ; RUN: llc -mtriple=armv7 < %s |
| 2 | ; PR15053 | ||||
| 3 | |||||
| 4 | declare i32 @llvm.arm.strexd(i32, i32, i8*) nounwind | ||||
| 5 | declare { i32, i32 } @llvm.arm.ldrexd(i8*) nounwind readonly | ||||
| 6 | |||||
| 7 | define void @foo() { | ||||
| 8 | entry: | ||||
| 9 | %0 = tail call { i32, i32 } @llvm.arm.ldrexd(i8* undef) nounwind | ||||
| 10 | %1 = extractvalue { i32, i32 } %0, 0 | ||||
| 11 | %2 = tail call i32 @llvm.arm.strexd(i32 %1, i32 undef, i8* undef) nounwind | ||||
| 12 | ret void | ||||
| 13 | } | ||||