xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/PR15053.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=armv7 < %s
2*9880d681SAndroid Build Coastguard Worker; PR15053
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.arm.strexd(i32, i32, i8*) nounwind
5*9880d681SAndroid Build Coastguard Workerdeclare { i32, i32 } @llvm.arm.ldrexd(i8*) nounwind readonly
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerdefine void @foo() {
8*9880d681SAndroid Build Coastguard Workerentry:
9*9880d681SAndroid Build Coastguard Worker  %0 = tail call { i32, i32 } @llvm.arm.ldrexd(i8* undef) nounwind
10*9880d681SAndroid Build Coastguard Worker  %1 = extractvalue { i32, i32 } %0, 0
11*9880d681SAndroid Build Coastguard Worker  %2 = tail call i32 @llvm.arm.strexd(i32 %1, i32 undef, i8* undef) nounwind
12*9880d681SAndroid Build Coastguard Worker  ret void
13*9880d681SAndroid Build Coastguard Worker}
14