26 lines · plain
1; RUN: llc -mtriple thumbv6m-eabi %s -o - | FileCheck %s2; RUN: llc -mtriple thumbv8m.base-eabi %s -o - | FileCheck %s3; RUN: llc -mtriple thumbv7a-eabi %s -o - | FileCheck %s4; RUN: llc -mtriple thumbv7m-eabi %s -o - | FileCheck %s --check-prefix=CHECK-PACBTI5 6; Check we don't emit PACBTI-M instructions for architectures7; that do not support them.8define hidden i32 @f(i32 %x) #0 {9entry:10 %x.addr = alloca i32, align 411 store i32 %x, ptr %x.addr, align 412 %0 = load i32, ptr %x.addr, align 413 %sub = sub nsw i32 1, %014 %call = call i32 @g(i32 %sub)15 %add = add nsw i32 1, %call16 ret i32 %add17}18; CHECK-LABEL: f:19; CHECK-NOT: bti20 21; CHECK-PACBTI-LABEL: f:22; CHECK-PACBTI: pacbti23declare dso_local i32 @g(i32)24 25attributes #0 = { noinline nounwind "sign-return-address"="non-leaf" "branch-target-enforcement" }26