1*afd20587SFangrui Song; RUN: llc -mtriple=thumbv6m-none-eabi < %s | FileCheck %s 2*afd20587SFangrui Song 3*afd20587SFangrui Song; CHECK-LABEL: .globl nosan 4*afd20587SFangrui Song; CHECK-NEXT: .p2align 1 5*afd20587SFangrui Song; CHECK-NEXT: .type nosan,%function 6*afd20587SFangrui Song; CHECK-NEXT: .code 16 7*afd20587SFangrui Song; CHECK-NEXT: .thumb_func 8*afd20587SFangrui Song; CHECK-NEXT: nosan: 9*afd20587SFangrui Songdefine dso_local void @nosan() nounwind { 10*afd20587SFangrui Song ret void 11*afd20587SFangrui Song} 12*afd20587SFangrui Song 13*afd20587SFangrui Song;; The alignment is at least 4 to avoid unaligned type hash loads when this 14*afd20587SFangrui Song;; instrumented function is indirectly called. 15*afd20587SFangrui Song; CHECK-LABEL: .globl f1 16*afd20587SFangrui Song; CHECK-NEXT: .p2align 2 17*afd20587SFangrui Song; CHECK-NEXT: .type f1,%function 18*afd20587SFangrui Song; CHECK-NEXT: .long 3170468932 19*afd20587SFangrui Song; CHECK-NEXT: .code 16 20*afd20587SFangrui Song; CHECK-NEXT: .thumb_func 21*afd20587SFangrui Song; CHECK-NEXT: f1: 22*afd20587SFangrui Songdefine void @f1(ptr noundef %x) !kcfi_type !1 { 23*afd20587SFangrui Song ret void 24*afd20587SFangrui Song} 25*afd20587SFangrui Song 26*afd20587SFangrui Song!llvm.module.flags = !{!0} 27*afd20587SFangrui Song!0 = !{i32 4, !"kcfi", i32 1} 28*afd20587SFangrui Song!1 = !{i32 -1124498364} 29