brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · b5bf62c Raw
209 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=thumbv6-eabi %s -o - | FileCheck %s3 4define void @test1(i32 %x, ptr %f)  {5; CHECK-LABEL: test1:6; CHECK:       @ %bb.0: @ %entry7; CHECK-NEXT:    .save {r7, lr}8; CHECK-NEXT:    push {r7, lr}9; CHECK-NEXT:    lsls r0, r0, #210; CHECK-NEXT:    cmp r0, #6811; CHECK-NEXT:    beq .LBB0_212; CHECK-NEXT:  @ %bb.1: @ %if.then13; CHECK-NEXT:    blx r114; CHECK-NEXT:  .LBB0_2: @ %if.end15; CHECK-NEXT:    pop {r7, pc}16entry:17  %a = and i32 %x, 107374182318  %cmp = icmp eq i32 %a, 1719  br i1 %cmp, label %if.end, label %if.then20 21if.then:22  tail call void %f()23  br label %if.end24 25if.end:26  ret void27}28 29define void @test2(i32 %x, ptr %f)  {30; CHECK-LABEL: test2:31; CHECK:       @ %bb.0: @ %entry32; CHECK-NEXT:    .save {r7, lr}33; CHECK-NEXT:    push {r7, lr}34; CHECK-NEXT:    lsls r0, r0, #835; CHECK-NEXT:    bhi .LBB1_236; CHECK-NEXT:  @ %bb.1: @ %if.then37; CHECK-NEXT:    blx r138; CHECK-NEXT:  .LBB1_2: @ %if.end39; CHECK-NEXT:    pop {r7, pc}40entry:41  %a = shl i32 %x, 742  %cmp = icmp ugt i32 %a, 214748364843  br i1 %cmp, label %if.end, label %if.then44 45if.then:46  tail call void %f()47  br label %if.end48 49if.end:50  ret void51}52 53define void @test3(i32 %x, ptr %f)  {54; CHECK-LABEL: test3:55; CHECK:       @ %bb.0: @ %entry56; CHECK-NEXT:    .save {r7, lr}57; CHECK-NEXT:    push {r7, lr}58; CHECK-NEXT:    lsls r0, r0, #359; CHECK-NEXT:    bhi .LBB2_260; CHECK-NEXT:  @ %bb.1: @ %if.then61; CHECK-NEXT:    blx r162; CHECK-NEXT:  .LBB2_2: @ %if.end63; CHECK-NEXT:    pop {r7, pc}64entry:65  %a = and i32 %x, 107374182366  %cmp = icmp ugt i32 %a, 53687091267  br i1 %cmp, label %if.end, label %if.then68 69if.then:70  tail call void %f()71  br label %if.end72 73if.end:74  ret void75}76 77define void @test4(i32 %x, ptr %f)  {78; CHECK-LABEL: test4:79; CHECK:       @ %bb.0: @ %entry80; CHECK-NEXT:    .save {r7, lr}81; CHECK-NEXT:    push {r7, lr}82; CHECK-NEXT:    uxtb r0, r083; CHECK-NEXT:    cmp r0, #1784; CHECK-NEXT:    beq .LBB3_285; CHECK-NEXT:  @ %bb.1: @ %if.then86; CHECK-NEXT:    blx r187; CHECK-NEXT:  .LBB3_2: @ %if.end88; CHECK-NEXT:    pop {r7, pc}89entry:90  %a = and i32 %x, 25591  %cmp = icmp eq i32 %a, 1792  br i1 %cmp, label %if.end, label %if.then93 94if.then:95  tail call void %f()96  br label %if.end97 98if.end:99  ret void100}101 102define void @test5(i32 %x, ptr %f)  {103; CHECK-LABEL: test5:104; CHECK:       @ %bb.0: @ %entry105; CHECK-NEXT:    .save {r7, lr}106; CHECK-NEXT:    push {r7, lr}107; CHECK-NEXT:    uxth r0, r0108; CHECK-NEXT:    cmp r0, #17109; CHECK-NEXT:    beq .LBB4_2110; CHECK-NEXT:  @ %bb.1: @ %if.then111; CHECK-NEXT:    blx r1112; CHECK-NEXT:  .LBB4_2: @ %if.end113; CHECK-NEXT:    pop {r7, pc}114entry:115  %a = and i32 %x, 65535116  %cmp = icmp eq i32 %a, 17117  br i1 %cmp, label %if.end, label %if.then118 119if.then:120  tail call void %f()121  br label %if.end122 123if.end:124  ret void125}126 127define void @test6(i32 %x, ptr %f)  {128; CHECK-LABEL: test6:129; CHECK:       @ %bb.0: @ %entry130; CHECK-NEXT:    .save {r7, lr}131; CHECK-NEXT:    push {r7, lr}132; CHECK-NEXT:    movs r2, #32133; CHECK-NEXT:    ands r2, r0134; CHECK-NEXT:    cmp r2, #17135; CHECK-NEXT:    beq .LBB5_2136; CHECK-NEXT:  @ %bb.1: @ %if.then137; CHECK-NEXT:    blx r1138; CHECK-NEXT:  .LBB5_2: @ %if.end139; CHECK-NEXT:    pop {r7, pc}140entry:141  %a = and i32 %x, 32142  %cmp = icmp eq i32 %a, 17143  br i1 %cmp, label %if.end, label %if.then144 145if.then:146  tail call void %f()147  br label %if.end148 149if.end:150  ret void151}152 153define void @test7(i32 %x, ptr %f)  {154; CHECK-LABEL: test7:155; CHECK:       @ %bb.0: @ %entry156; CHECK-NEXT:    .save {r7, lr}157; CHECK-NEXT:    push {r7, lr}158; CHECK-NEXT:    ldr r2, .LCPI6_0159; CHECK-NEXT:    ands r2, r0160; CHECK-NEXT:    cmp r2, #17161; CHECK-NEXT:    beq .LBB6_2162; CHECK-NEXT:  @ %bb.1: @ %if.then163; CHECK-NEXT:    blx r1164; CHECK-NEXT:  .LBB6_2: @ %if.end165; CHECK-NEXT:    pop {r7, pc}166; CHECK-NEXT:    .p2align 2167; CHECK-NEXT:  @ %bb.3:168; CHECK-NEXT:  .LCPI6_0:169; CHECK-NEXT:    .long 1023 @ 0x3ff170entry:171  %a = and i32 %x, 1023172  %cmp = icmp eq i32 %a, 17173  br i1 %cmp, label %if.end, label %if.then174 175if.then:176  tail call void %f()177  br label %if.end178 179if.end:180  ret void181}182 183define void @test8(i32 %x, ptr %f)  {184; CHECK-LABEL: test8:185; CHECK:       @ %bb.0: @ %entry186; CHECK-NEXT:    .save {r7, lr}187; CHECK-NEXT:    push {r7, lr}188; CHECK-NEXT:    movs r2, #129189; CHECK-NEXT:    lsls r2, r2, #23190; CHECK-NEXT:    lsls r0, r0, #22191; CHECK-NEXT:    cmp r0, r2192; CHECK-NEXT:    beq .LBB7_2193; CHECK-NEXT:  @ %bb.1: @ %if.then194; CHECK-NEXT:    blx r1195; CHECK-NEXT:  .LBB7_2: @ %if.end196; CHECK-NEXT:    pop {r7, pc}197entry:198  %a = and i32 %x, 1023199  %cmp = icmp eq i32 %a, 258200  br i1 %cmp, label %if.end, label %if.then201 202if.then:203  tail call void %f()204  br label %if.end205 206if.end:207  ret void208}209