brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · e5bfb87 Raw
118 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=thumb-eabi -mcpu=cortex-m0 %s -verify-machineinstrs -o - | FileCheck %s3 4define i32 @test1a(i32 %a, i32 %b) {5; CHECK-LABEL: test1a:6; CHECK:       @ %bb.0: @ %entry7; CHECK-NEXT:    subs r0, r0, r18; CHECK-NEXT:    subs r1, r0, #19; CHECK-NEXT:    sbcs r0, r110; CHECK-NEXT:    bx lr11entry:12  %cmp = icmp ne i32 %a, %b13  %cond = zext i1 %cmp to i3214  ret i32 %cond15}16 17define i32 @test1b(i32 %a, i32 %b) {18; CHECK-LABEL: test1b:19; CHECK:       @ %bb.0: @ %entry20; CHECK-NEXT:    subs r1, r0, r121; CHECK-NEXT:    rsbs r0, r1, #022; CHECK-NEXT:    adcs r0, r123; CHECK-NEXT:    bx lr24entry:25  %cmp = icmp eq i32 %a, %b26  %cond = zext i1 %cmp to i3227  ret i32 %cond28}29 30define i32 @test2a(i32 %a, i32 %b) {31; CHECK-LABEL: test2a:32; CHECK:       @ %bb.0: @ %entry33; CHECK-NEXT:    subs r1, r0, r134; CHECK-NEXT:    rsbs r0, r1, #035; CHECK-NEXT:    adcs r0, r136; CHECK-NEXT:    bx lr37entry:38  %cmp = icmp eq i32 %a, %b39  %cond = zext i1 %cmp to i3240  ret i32 %cond41}42 43define i32 @test2b(i32 %a, i32 %b) {44; CHECK-LABEL: test2b:45; CHECK:       @ %bb.0: @ %entry46; CHECK-NEXT:    subs r0, r0, r147; CHECK-NEXT:    subs r1, r0, #148; CHECK-NEXT:    sbcs r0, r149; CHECK-NEXT:    bx lr50entry:51  %cmp = icmp ne i32 %a, %b52  %cond = zext i1 %cmp to i3253  ret i32 %cond54}55 56define i32 @test3a(i32 %a, i32 %b) {57; CHECK-LABEL: test3a:58; CHECK:       @ %bb.0: @ %entry59; CHECK-NEXT:    subs r0, r0, r160; CHECK-NEXT:    beq .LBB4_261; CHECK-NEXT:  @ %bb.1:62; CHECK-NEXT:    movs r0, #463; CHECK-NEXT:  .LBB4_2: @ %entry64; CHECK-NEXT:    bx lr65entry:66  %cmp = icmp eq i32 %a, %b67  %cond = select i1 %cmp, i32 0, i32 468  ret i32 %cond69}70 71define i32 @test3b(i32 %a, i32 %b) {72; CHECK-LABEL: test3b:73; CHECK:       @ %bb.0: @ %entry74; CHECK-NEXT:    cmp r0, r175; CHECK-NEXT:    beq .LBB5_276; CHECK-NEXT:  @ %bb.1: @ %entry77; CHECK-NEXT:    movs r0, #078; CHECK-NEXT:    bx lr79; CHECK-NEXT:  .LBB5_2:80; CHECK-NEXT:    movs r0, #481; CHECK-NEXT:    bx lr82entry:83  %cmp = icmp eq i32 %a, %b84  %cond = select i1 %cmp, i32 4, i32 085  ret i32 %cond86}87 88define i32 @test4a(i32 %a, i32 %b) {89; CHECK-LABEL: test4a:90; CHECK:       @ %bb.0: @ %entry91; CHECK-NEXT:    cmp r0, r192; CHECK-NEXT:    bne .LBB6_293; CHECK-NEXT:  @ %bb.1: @ %entry94; CHECK-NEXT:    movs r0, #495; CHECK-NEXT:    bx lr96; CHECK-NEXT:  .LBB6_2:97; CHECK-NEXT:    movs r0, #098; CHECK-NEXT:    bx lr99entry:100  %cmp = icmp ne i32 %a, %b101  %cond = select i1 %cmp, i32 0, i32 4102  ret i32 %cond103}104 105define i32 @test4b(i32 %a, i32 %b) {106; CHECK-LABEL: test4b:107; CHECK:       @ %bb.0: @ %entry108; CHECK-NEXT:    subs r0, r0, r1109; CHECK-NEXT:    subs r1, r0, #1110; CHECK-NEXT:    sbcs r0, r1111; CHECK-NEXT:    lsls r0, r0, #2112; CHECK-NEXT:    bx lr113entry:114  %cmp = icmp ne i32 %a, %b115  %cond = select i1 %cmp, i32 4, i32 0116  ret i32 %cond117}118