brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · d9d3552 Raw
81 lines · plain
1; RUN: llc < %s -mtriple=thumbv8 -arm-atomic-cfg-tidy=0 -arm-restrict-it | FileCheck %s2; RUN: llc < %s -mtriple=thumbv7 -arm-atomic-cfg-tidy=0 -arm-restrict-it | FileCheck %s3; RUN: llc < %s -mtriple=thumbv8 -arm-atomic-cfg-tidy=0 -arm-restrict-it -relocation-model=pic | FileCheck %s --check-prefix=CHECK-PIC4; RUN: llc < %s -mtriple=thumbv7 -arm-atomic-cfg-tidy=0 -arm-restrict-it -relocation-model=pic | FileCheck %s --check-prefix=CHECK-PIC5 6%struct.FF = type { ptr, ptr, ptr, ptr, ptr, ptr }7%struct.BD = type { ptr, i32, i32, i32, i32, i64, ptr, ptr, ptr, ptr, ptr, [16 x i8], i64, i64 }8 9@FuncPtr = external hidden unnamed_addr global ptr10@.str1 = external hidden unnamed_addr constant [6 x i8], align 411@G = external unnamed_addr global i3212@.str2 = external hidden unnamed_addr constant [58 x i8], align 413@.str3 = external hidden unnamed_addr constant [58 x i8], align 414 15define i32 @test() nounwind optsize ssp {16entry:17; CHECK-LABEL: test:18; CHECK: push19; CHECK-NOT: push20  %block_size = alloca i32, align 421  %block_count = alloca i32, align 422  %index_cache = alloca i32, align 423  store i32 0, ptr %index_cache, align 424  %tmp = load i32, ptr @G, align 425  %tmp1 = call i32 @bar(i32 0, i32 0, i32 %tmp) nounwind26  switch i32 %tmp1, label %bb8 [27    i32 1, label %bb28    i32 536870913, label %bb429    i32 536870914, label %bb630  ]31 32bb:33  %tmp2 = load i32, ptr @G, align 434  %tmp4 = icmp eq i32 %tmp2, 135  br i1 %tmp4, label %bb1, label %bb836 37bb1:38; CHECK: %entry39; CHECK: it    eq40; CHECK-NEXT: ldreq41; CHECK-NEXT: it       eq42; CHECK-NEXT: cmpeq43; CHECK: %bb144  %tmp5 = load i32, ptr %block_size, align 445  %tmp6 = load i32, ptr %block_count, align 446  %tmp7 = call ptr @Get() nounwind47  store ptr %tmp7, ptr @FuncPtr, align 448  %tmp10 = zext i32 %tmp6 to i6449  %tmp11 = zext i32 %tmp5 to i6450  %tmp12 = mul nsw i64 %tmp10, %tmp1151  %tmp13 = call i32 @foo(ptr @.str1, i64 %tmp12, i32 %tmp5) nounwind52  br label %bb853 54bb4:55; CHECK-PIC: cmp56; CHECK-PIC: cmp57; CHECK-PIC: cmp58; CHECK-PIC: it eq59; CHECK-PIC-NEXT: ldreq60; CHECK-PIC-NEXT: it eq61; CHECK-PIC-NEXT: cmpeq62; CHECK-PIC-NEXT: beq63; CHECK-PIC: %bb664; CHECK-PIC: mov65  ret i32 066 67bb6:68  ret i32 169 70bb8:71  ret i32 -172}73 74declare i32 @printf(ptr, ...)75 76declare ptr @Get()77 78declare i32 @foo(ptr, i64, i32)79 80declare i32 @bar(i32, i32, i32)81