brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · 825184a Raw
152 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2 %s -o - | FileCheck %s3 4; These tests would be improved by 'movs r0, #0' being rematerialized below the5; test as 'mov.w r0, #0'.6 7; 0x000000bb = 1878define i32 @f2(i32 %a) {9; CHECK-LABEL: f2:10; CHECK:       @ %bb.0:11; CHECK-NEXT:    movs r1, #2412; CHECK-NEXT:    cmp r0, #18713; CHECK-NEXT:    it eq14; CHECK-NEXT:    moveq r1, #4215; CHECK-NEXT:    mov r0, r116; CHECK-NEXT:    bx lr17    %tmp = xor i32 %a, 18718    %tmp1 = icmp eq i32 0, %tmp19    %ret = select i1 %tmp1, i32 42, i32 2420    ret i32 %ret21}22 23; 0x00aa00aa = 1114129024define i32 @f3(i32 %a) {25; CHECK-LABEL: f3:26; CHECK:       @ %bb.0:27; CHECK-NEXT:    movs r1, #2428; CHECK-NEXT:    cmp.w r0, #1114129029; CHECK-NEXT:    it eq30; CHECK-NEXT:    moveq r1, #4231; CHECK-NEXT:    mov r0, r132; CHECK-NEXT:    bx lr33    %tmp = xor i32 %a, 1114129034    %tmp1 = icmp eq i32 %tmp, 035    %ret = select i1 %tmp1, i32 42, i32 2436    ret i32 %ret37}38 39; 0xcc00cc00 = 342260428840define i32 @f6(i32 %a) {41; CHECK-LABEL: f6:42; CHECK:       @ %bb.0:43; CHECK-NEXT:    movs r1, #2444; CHECK-NEXT:    cmp.w r0, #-87236300845; CHECK-NEXT:    it eq46; CHECK-NEXT:    moveq r1, #4247; CHECK-NEXT:    mov r0, r148; CHECK-NEXT:    bx lr49    %tmp = xor i32 %a, 342260428850    %tmp1 = icmp eq i32 0, %tmp51    %ret = select i1 %tmp1, i32 42, i32 2452    ret i32 %ret53}54 55; 0xdddddddd = 372230498956define i32 @f7(i32 %a) {57; CHECK-LABEL: f7:58; CHECK:       @ %bb.0:59; CHECK-NEXT:    movs r1, #2460; CHECK-NEXT:    cmp.w r0, #-57266230761; CHECK-NEXT:    it eq62; CHECK-NEXT:    moveq r1, #4263; CHECK-NEXT:    mov r0, r164; CHECK-NEXT:    bx lr65    %tmp = xor i32 %a, 372230498966    %tmp1 = icmp eq i32 %tmp, 067    %ret = select i1 %tmp1, i32 42, i32 2468    ret i32 %ret69}70 71; 0x00110000 = 111411272define i32 @f10(i32 %a) {73; CHECK-LABEL: f10:74; CHECK:       @ %bb.0:75; CHECK-NEXT:    movs r1, #2476; CHECK-NEXT:    cmp.w r0, #111411277; CHECK-NEXT:    it eq78; CHECK-NEXT:    moveq r1, #4279; CHECK-NEXT:    mov r0, r180; CHECK-NEXT:    bx lr81    %tmp = xor i32 %a, 111411282    %tmp1 = icmp eq i32 0, %tmp83    %ret = select i1 %tmp1, i32 42, i32 2484    ret i32 %ret85}86 87; 0x000000bb = 18788define i1 @f12(i32 %a) {89; CHECK-LABEL: f12:90; CHECK:       @ %bb.0:91; CHECK-NEXT:    subs r0, #18792; CHECK-NEXT:    clz r0, r093; CHECK-NEXT:    lsrs r0, r0, #594; CHECK-NEXT:    bx lr95    %tmp = xor i32 %a, 18796    %tmp1 = icmp eq i32 0, %tmp97    ret i1 %tmp198}99 100; 0x00aa00aa = 11141290101define i1 @f13(i32 %a) {102; CHECK-LABEL: f13:103; CHECK:       @ %bb.0:104; CHECK-NEXT:    sub.w r0, r0, #11141290105; CHECK-NEXT:    clz r0, r0106; CHECK-NEXT:    lsrs r0, r0, #5107; CHECK-NEXT:    bx lr108    %tmp = xor i32 %a, 11141290109    %tmp1 = icmp eq i32 %tmp, 0110    ret i1 %tmp1111}112 113; 0xcc00cc00 = 3422604288114define i1 @f16(i32 %a) {115; CHECK-LABEL: f16:116; CHECK:       @ %bb.0:117; CHECK-NEXT:    sub.w r0, r0, #-872363008118; CHECK-NEXT:    clz r0, r0119; CHECK-NEXT:    lsrs r0, r0, #5120; CHECK-NEXT:    bx lr121    %tmp = xor i32 %a, 3422604288122    %tmp1 = icmp eq i32 0, %tmp123    ret i1 %tmp1124}125 126; 0xdddddddd = 3722304989127define i1 @f17(i32 %a) {128; CHECK-LABEL: f17:129; CHECK:       @ %bb.0:130; CHECK-NEXT:    sub.w r0, r0, #-572662307131; CHECK-NEXT:    clz r0, r0132; CHECK-NEXT:    lsrs r0, r0, #5133; CHECK-NEXT:    bx lr134    %tmp = xor i32 %a, 3722304989135    %tmp1 = icmp eq i32 %tmp, 0136    ret i1 %tmp1137}138 139; 0x00110000 = 1114112140define i1 @f18(i32 %a) {141; CHECK-LABEL: f18:142; CHECK:       @ %bb.0:143; CHECK-NEXT:    sub.w r0, r0, #1114112144; CHECK-NEXT:    clz r0, r0145; CHECK-NEXT:    lsrs r0, r0, #5146; CHECK-NEXT:    bx lr147    %tmp = xor i32 %a, 1114112148    %tmp1 = icmp eq i32 0, %tmp149    ret i1 %tmp1150}151 152