; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 ; RUN: llc -mtriple=armv7-linux-gnueabi -verify-machineinstrs < %s | FileCheck %s ; CHECK: .p2align 2 ; CHECK-NOT: nop ; CHECK: .long 12345678 define void @f1(ptr noundef %x) !kcfi_type !1 { ; CHECK-LABEL: f1: ; CHECK: @ %bb.0: ; CHECK-NEXT: .save {r11, lr} ; CHECK-NEXT: push {r11, lr} ; CHECK-NEXT: bic r12, r0, #1 ; CHECK-NEXT: ldr r12, [r12, #-4] ; CHECK-NEXT: eor r12, r12, #78 ; CHECK-NEXT: eor r12, r12, #24832 ; CHECK-NEXT: eor r12, r12, #12320768 ; CHECK-NEXT: eors r12, r12, #0 ; CHECK-NEXT: beq .Ltmp0 ; CHECK-NEXT: udf #33760 ; CHECK-NEXT: .Ltmp0: ; CHECK-NEXT: blx r0 ; CHECK-NEXT: pop {r11, pc} call void %x() [ "kcfi"(i32 12345678) ] ret void } ; CHECK: .p2align 2 ; CHECK-NOT: .long ; CHECK-NOT: nop define void @f2(ptr noundef %x) { ; CHECK-LABEL: f2: ; CHECK: @ %bb.0: ; CHECK-NEXT: .save {r11, lr} ; CHECK-NEXT: push {r11, lr} ; CHECK-NEXT: bic r12, r0, #1 ; CHECK-NEXT: ldr r12, [r12, #-4] ; CHECK-NEXT: eor r12, r12, #78 ; CHECK-NEXT: eor r12, r12, #24832 ; CHECK-NEXT: eor r12, r12, #12320768 ; CHECK-NEXT: eors r12, r12, #0 ; CHECK-NEXT: beq .Ltmp1 ; CHECK-NEXT: udf #33760 ; CHECK-NEXT: .Ltmp1: ; CHECK-NEXT: blx r0 ; CHECK-NEXT: pop {r11, pc} call void %x() [ "kcfi"(i32 12345678) ] ret void } ; CHECK: .p2align 2 ; CHECK: .long 12345678 ; CHECK-COUNT-11: nop define void @f3(ptr noundef %x) #0 !kcfi_type !1 { ; CHECK-LABEL: f3: ; CHECK: @ %bb.0: ; CHECK-NEXT: .save {r11, lr} ; CHECK-NEXT: push {r11, lr} ; CHECK-NEXT: bic r12, r0, #1 ; CHECK-NEXT: ldr r12, [r12, #-48] ; CHECK-NEXT: eor r12, r12, #78 ; CHECK-NEXT: eor r12, r12, #24832 ; CHECK-NEXT: eor r12, r12, #12320768 ; CHECK-NEXT: eors r12, r12, #0 ; CHECK-NEXT: beq .Ltmp3 ; CHECK-NEXT: udf #33760 ; CHECK-NEXT: .Ltmp3: ; CHECK-NEXT: blx r0 ; CHECK-NEXT: pop {r11, pc} call void %x() [ "kcfi"(i32 12345678) ] ret void } ; CHECK: .p2align 2 ; CHECK-COUNT-11: nop define void @f4(ptr noundef %x) #0 { ; CHECK-LABEL: f4: ; CHECK: @ %bb.0: ; CHECK-NEXT: .save {r11, lr} ; CHECK-NEXT: push {r11, lr} ; CHECK-NEXT: bic r12, r0, #1 ; CHECK-NEXT: ldr r12, [r12, #-48] ; CHECK-NEXT: eor r12, r12, #78 ; CHECK-NEXT: eor r12, r12, #24832 ; CHECK-NEXT: eor r12, r12, #12320768 ; CHECK-NEXT: eors r12, r12, #0 ; CHECK-NEXT: beq .Ltmp5 ; CHECK-NEXT: udf #33760 ; CHECK-NEXT: .Ltmp5: ; CHECK-NEXT: blx r0 ; CHECK-NEXT: pop {r11, pc} call void %x() [ "kcfi"(i32 12345678) ] ret void } attributes #0 = { "patchable-function-prefix"="11" } !llvm.module.flags = !{!0} !0 = !{i32 4, !"kcfi", i32 1} !1 = !{i32 12345678}