xref: /llvm-project/llvm/test/Verifier/arm-intrinsics.ll (revision c820f2a43eaba02db97c4ff60c58a58e6bdd391d)
1; RUN: not opt -passes=verify -S < %s 2>&1 | FileCheck %s
2
3define void @f(ptr %p) {
4; CHECK: Intrinsic requires elementtype attribute on first argument
5  %a = call i32 @llvm.arm.ldrex.p0(ptr %p)
6; CHECK: Intrinsic requires elementtype attribute on second argument
7  %c = call i32 @llvm.arm.strex.p0(i32 0, ptr %p)
8
9; CHECK: Intrinsic requires elementtype attribute on first argument
10  %a2 = call i32 @llvm.arm.ldaex.p0(ptr %p)
11; CHECK: Intrinsic requires elementtype attribute on second argument
12  %c2 = call i32 @llvm.arm.stlex.p0(i32 0, ptr %p)
13  ret void
14}
15
16declare i32 @llvm.arm.ldrex.p0(ptr)
17declare i32 @llvm.arm.ldaex.p0(ptr)
18declare i32 @llvm.arm.stlex.p0(i32, ptr)
19declare i32 @llvm.arm.strex.p0(i32, ptr)