100 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 62; RUN: llc -mtriple=armv7-linux-gnueabi -verify-machineinstrs < %s | FileCheck %s3 4; CHECK: .p2align 25; CHECK-NOT: nop6; CHECK: .long 123456787define void @f1(ptr noundef %x) !kcfi_type !1 {8; CHECK-LABEL: f1:9; CHECK: @ %bb.0:10; CHECK-NEXT: .save {r11, lr}11; CHECK-NEXT: push {r11, lr}12; CHECK-NEXT: bic r12, r0, #113; CHECK-NEXT: ldr r12, [r12, #-4]14; CHECK-NEXT: eor r12, r12, #7815; CHECK-NEXT: eor r12, r12, #2483216; CHECK-NEXT: eor r12, r12, #1232076817; CHECK-NEXT: eors r12, r12, #018; CHECK-NEXT: beq .Ltmp019; CHECK-NEXT: udf #3376020; CHECK-NEXT: .Ltmp0:21; CHECK-NEXT: blx r022; CHECK-NEXT: pop {r11, pc}23 call void %x() [ "kcfi"(i32 12345678) ]24 ret void25}26 27; CHECK: .p2align 228; CHECK-NOT: .long29; CHECK-NOT: nop30define void @f2(ptr noundef %x) {31; CHECK-LABEL: f2:32; CHECK: @ %bb.0:33; CHECK-NEXT: .save {r11, lr}34; CHECK-NEXT: push {r11, lr}35; CHECK-NEXT: bic r12, r0, #136; CHECK-NEXT: ldr r12, [r12, #-4]37; CHECK-NEXT: eor r12, r12, #7838; CHECK-NEXT: eor r12, r12, #2483239; CHECK-NEXT: eor r12, r12, #1232076840; CHECK-NEXT: eors r12, r12, #041; CHECK-NEXT: beq .Ltmp142; CHECK-NEXT: udf #3376043; CHECK-NEXT: .Ltmp1:44; CHECK-NEXT: blx r045; CHECK-NEXT: pop {r11, pc}46 call void %x() [ "kcfi"(i32 12345678) ]47 ret void48}49 50; CHECK: .p2align 251; CHECK: .long 1234567852; CHECK-COUNT-11: nop53define void @f3(ptr noundef %x) #0 !kcfi_type !1 {54; CHECK-LABEL: f3:55; CHECK: @ %bb.0:56; CHECK-NEXT: .save {r11, lr}57; CHECK-NEXT: push {r11, lr}58; CHECK-NEXT: bic r12, r0, #159; CHECK-NEXT: ldr r12, [r12, #-48]60; CHECK-NEXT: eor r12, r12, #7861; CHECK-NEXT: eor r12, r12, #2483262; CHECK-NEXT: eor r12, r12, #1232076863; CHECK-NEXT: eors r12, r12, #064; CHECK-NEXT: beq .Ltmp365; CHECK-NEXT: udf #3376066; CHECK-NEXT: .Ltmp3:67; CHECK-NEXT: blx r068; CHECK-NEXT: pop {r11, pc}69 call void %x() [ "kcfi"(i32 12345678) ]70 ret void71}72 73; CHECK: .p2align 274; CHECK-COUNT-11: nop75define void @f4(ptr noundef %x) #0 {76; CHECK-LABEL: f4:77; CHECK: @ %bb.0:78; CHECK-NEXT: .save {r11, lr}79; CHECK-NEXT: push {r11, lr}80; CHECK-NEXT: bic r12, r0, #181; CHECK-NEXT: ldr r12, [r12, #-48]82; CHECK-NEXT: eor r12, r12, #7883; CHECK-NEXT: eor r12, r12, #2483284; CHECK-NEXT: eor r12, r12, #1232076885; CHECK-NEXT: eors r12, r12, #086; CHECK-NEXT: beq .Ltmp587; CHECK-NEXT: udf #3376088; CHECK-NEXT: .Ltmp5:89; CHECK-NEXT: blx r090; CHECK-NEXT: pop {r11, pc}91 call void %x() [ "kcfi"(i32 12345678) ]92 ret void93}94 95attributes #0 = { "patchable-function-prefix"="11" }96 97!llvm.module.flags = !{!0}98!0 = !{i32 4, !"kcfi", i32 1}99!1 = !{i32 12345678}100