brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.9 KiB · 351d6b3 Raw
122 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -debugify-and-strip-all-safe -mtriple arm64-apple-ios -O0 -run-pass=aarch64-prelegalizer-combiner --aarch64prelegalizercombiner-only-enable-rule="overlapping_and" -global-isel -verify-machineinstrs %s -o - | FileCheck %s3# REQUIRES: asserts4---5name:            bitmask_overlap16body:             |7  bb.1:8    ; CHECK-LABEL: name: bitmask_overlap19    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w010    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 12811    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]12    ; CHECK-NEXT: $w0 = COPY [[AND]](s32)13    ; CHECK-NEXT: RET_ReallyLR implicit $w014    %0:_(s32) = COPY $w015    %1:_(s32) = G_CONSTANT i32 -12816    %3:_(s32) = G_CONSTANT i32 25517    %2:_(s32) = G_AND %0, %118    %4:_(s32) = G_AND %2, %319    $w0 = COPY %4(s32)20    RET_ReallyLR implicit $w021 22...23---24name:            bitmask_overlap225body:             |26  bb.1:27    ; CHECK-LABEL: name: bitmask_overlap228    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w029    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 12830    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]31    ; CHECK-NEXT: $w0 = COPY [[AND]](s32)32    ; CHECK-NEXT: RET_ReallyLR implicit $w033    %0:_(s32) = COPY $w034    %1:_(s32) = G_CONSTANT i32 25535    %3:_(s32) = G_CONSTANT i32 -12836    %2:_(s32) = G_AND %1, %037    %4:_(s32) = G_AND %2, %338    $w0 = COPY %4(s32)39    RET_ReallyLR implicit $w040 41...42---43name:            bitmask_overlap344body:             |45  bb.1:46    ; CHECK-LABEL: name: bitmask_overlap347    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w048    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 12849    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]50    ; CHECK-NEXT: $w0 = COPY [[AND]](s32)51    ; CHECK-NEXT: RET_ReallyLR implicit $w052    %0:_(s32) = COPY $w053    %1:_(s32) = G_CONSTANT i32 25554    %3:_(s32) = G_CONSTANT i32 -12855    %2:_(s32) = G_AND %1, %056    %4:_(s32) = G_AND %3, %257    $w0 = COPY %4(s32)58    RET_ReallyLR implicit $w059 60...61---62name:            bitmask_overlap463body:             |64  bb.1:65    ; CHECK-LABEL: name: bitmask_overlap466    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w067    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 12868    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]69    ; CHECK-NEXT: $w0 = COPY [[AND]](s32)70    ; CHECK-NEXT: RET_ReallyLR implicit $w071    %0:_(s32) = COPY $w072    %1:_(s32) = G_CONSTANT i32 25573    %3:_(s32) = G_CONSTANT i32 -12874    %2:_(s32) = G_AND %0, %175    %4:_(s32) = G_AND %3, %276    $w0 = COPY %4(s32)77    RET_ReallyLR implicit $w078 79...80---81name:            bitmask_no_overlap82body:             |83  bb.1:84    ; CHECK-LABEL: name: bitmask_no_overlap85    ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 086    ; CHECK-NEXT: $w0 = COPY [[C]](s32)87    ; CHECK-NEXT: RET_ReallyLR implicit $w088    %0:_(s32) = COPY $w089    %1:_(s32) = G_CONSTANT i32 190    %3:_(s32) = G_CONSTANT i32 291    %2:_(s32) = G_AND %0, %192    %4:_(s32) = G_AND %2, %393    $w0 = COPY %4(s32)94    RET_ReallyLR implicit $w095 96...97---98name:            bitmask_overlap_extrause99body:             |100  bb.1:101    ; CHECK-LABEL: name: bitmask_overlap_extrause102    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0103    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x1104    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 255105    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]106    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 128107    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C1]]108    ; CHECK-NEXT: G_STORE [[AND]](s32), [[COPY1]](p0) :: (store (s32))109    ; CHECK-NEXT: $w0 = COPY [[AND1]](s32)110    ; CHECK-NEXT: RET_ReallyLR implicit $w0111    %0:_(s32) = COPY $w0112    %1:_(p0) = COPY $x1113    %2:_(s32) = G_CONSTANT i32 255114    %4:_(s32) = G_CONSTANT i32 -128115    %3:_(s32) = G_AND %0, %2116    %5:_(s32) = G_AND %3, %4117    G_STORE %3(s32), %1(p0) :: (store (s32))118    $w0 = COPY %5(s32)119    RET_ReallyLR implicit $w0120 121...122