165 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple powerpc64le-unknown-linux-gnu -mcpu=pwr8 -x mir \3# RUN: -verify-machineinstrs -run-pass ppc-mi-peepholes < %s | FileCheck %s4 5---6name: fold_RLDICL_ANDI7tracksRegLiveness: true8body: |9 bb.0.entry:10 liveins: $x311 ; CHECK-LABEL: name: fold_RLDICL_ANDI12 ; CHECK: liveins: $x313 ; CHECK-NEXT: {{ $}}14 ; CHECK-NEXT: [[COPY:%[0-9]+]]:g8rc = COPY killed $x315 ; CHECK-NEXT: dead [[RLDICL:%[0-9]+]]:g8rc = RLDICL [[COPY]], 0, 3216 ; CHECK-NEXT: [[ANDI8_rec:%[0-9]+]]:g8rc = ANDI8_rec killed [[COPY]], 1, implicit-def dead $cr017 ; CHECK-NEXT: $x3 = COPY killed [[ANDI8_rec]]18 ; CHECK-NEXT: BLR8 implicit $lr8, implicit $rm, implicit killed $x319 %1:g8rc = COPY $x320 %2:g8rc = RLDICL %1:g8rc, 0, 3221 %3:g8rc = ANDI8_rec killed %2:g8rc, 1, implicit-def dead $cr022 $x3 = COPY %3:g8rc23 BLR8 implicit $lr8, implicit $rm, implicit $x324...25---26name: fold_RLDICL_ANDI227tracksRegLiveness: true28body: |29 bb.0.entry:30 liveins: $x331 ; CHECK-LABEL: name: fold_RLDICL_ANDI232 ; CHECK: liveins: $x333 ; CHECK-NEXT: {{ $}}34 ; CHECK-NEXT: [[COPY:%[0-9]+]]:g8rc = COPY killed $x335 ; CHECK-NEXT: dead [[RLDICL:%[0-9]+]]:g8rc = RLDICL [[COPY]], 10, 6036 ; CHECK-NEXT: [[ANDI8_rec:%[0-9]+]]:g8rc = ANDI8_rec killed [[COPY]], 0, implicit-def dead $cr037 ; CHECK-NEXT: $x3 = COPY killed [[ANDI8_rec]]38 ; CHECK-NEXT: BLR8 implicit $lr8, implicit $rm, implicit killed $x339 %1:g8rc = COPY $x340 %2:g8rc = RLDICL %1:g8rc, 10, 6041 %3:g8rc = ANDI8_rec killed %2:g8rc, 32, implicit-def dead $cr042 $x3 = COPY %3:g8rc43 BLR8 implicit $lr8, implicit $rm, implicit $x344...45---46name: fold_RLDICR_ANDI47tracksRegLiveness: true48body: |49 bb.0.entry:50 liveins: $x351 ; CHECK-LABEL: name: fold_RLDICR_ANDI52 ; CHECK: liveins: $x353 ; CHECK-NEXT: {{ $}}54 ; CHECK-NEXT: [[COPY:%[0-9]+]]:g8rc = COPY killed $x355 ; CHECK-NEXT: dead [[RLDICR:%[0-9]+]]:g8rc = RLDICR [[COPY]], 0, 6056 ; CHECK-NEXT: [[ANDI8_rec:%[0-9]+]]:g8rc = ANDI8_rec killed [[COPY]], 16, implicit-def dead $cr057 ; CHECK-NEXT: $x3 = COPY killed [[ANDI8_rec]]58 ; CHECK-NEXT: BLR8 implicit $lr8, implicit $rm, implicit killed $x359 %1:g8rc = COPY $x360 %2:g8rc = RLDICR %1:g8rc, 0, 6061 %3:g8rc = ANDI8_rec killed %2:g8rc, 16, implicit-def dead $cr062 $x3 = COPY %3:g8rc63 BLR8 implicit $lr8, implicit $rm, implicit $x364...65---66name: fold_RLDICR_ANDI267tracksRegLiveness: true68body: |69 bb.0.entry:70 liveins: $x371 ; CHECK-LABEL: name: fold_RLDICR_ANDI272 ; CHECK: liveins: $x373 ; CHECK-NEXT: {{ $}}74 ; CHECK-NEXT: [[COPY:%[0-9]+]]:g8rc = COPY killed $x375 ; CHECK-NEXT: dead [[RLDICR:%[0-9]+]]:g8rc = RLDICR [[COPY]], 10, 6076 ; CHECK-NEXT: [[ANDI8_rec:%[0-9]+]]:g8rc = ANDI8_rec killed [[COPY]], 0, implicit-def dead $cr077 ; CHECK-NEXT: $x3 = COPY killed [[ANDI8_rec]]78 ; CHECK-NEXT: BLR8 implicit $lr8, implicit $rm, implicit killed $x379 %1:g8rc = COPY $x380 %2:g8rc = RLDICR %1:g8rc, 10, 6081 %3:g8rc = ANDI8_rec killed %2:g8rc, 1, implicit-def dead $cr082 $x3 = COPY %3:g8rc83 BLR8 implicit $lr8, implicit $rm, implicit $x384...85---86name: fold_RLDICL_ANDIS87tracksRegLiveness: true88body: |89 bb.0.entry:90 liveins: $x391 ; CHECK-LABEL: name: fold_RLDICL_ANDIS92 ; CHECK: liveins: $x393 ; CHECK-NEXT: {{ $}}94 ; CHECK-NEXT: [[COPY:%[0-9]+]]:g8rc = COPY killed $x395 ; CHECK-NEXT: dead [[RLDICL:%[0-9]+]]:g8rc = RLDICL [[COPY]], 0, 3296 ; CHECK-NEXT: [[ANDIS8_rec:%[0-9]+]]:g8rc = ANDIS8_rec killed [[COPY]], 1, implicit-def dead $cr097 ; CHECK-NEXT: $x3 = COPY killed [[ANDIS8_rec]]98 ; CHECK-NEXT: BLR8 implicit $lr8, implicit $rm, implicit killed $x399 %1:g8rc = COPY $x3100 %2:g8rc = RLDICL %1:g8rc, 0, 32101 %3:g8rc = ANDIS8_rec killed %2:g8rc, 1, implicit-def dead $cr0102 $x3 = COPY %3:g8rc103 BLR8 implicit $lr8, implicit $rm, implicit $x3104...105---106name: fold_RLDICL_ANDIS2107tracksRegLiveness: true108body: |109 bb.0.entry:110 liveins: $x3111 ; CHECK-LABEL: name: fold_RLDICL_ANDIS2112 ; CHECK: liveins: $x3113 ; CHECK-NEXT: {{ $}}114 ; CHECK-NEXT: [[COPY:%[0-9]+]]:g8rc = COPY killed $x3115 ; CHECK-NEXT: dead [[RLDICL:%[0-9]+]]:g8rc = RLDICL [[COPY]], 10, 60116 ; CHECK-NEXT: [[ANDIS8_rec:%[0-9]+]]:g8rc = ANDIS8_rec killed [[COPY]], 0, implicit-def dead $cr0117 ; CHECK-NEXT: $x3 = COPY killed [[ANDIS8_rec]]118 ; CHECK-NEXT: BLR8 implicit $lr8, implicit $rm, implicit killed $x3119 %1:g8rc = COPY $x3120 %2:g8rc = RLDICL %1:g8rc, 10, 60121 %3:g8rc = ANDIS8_rec killed %2:g8rc, 16, implicit-def dead $cr0122 $x3 = COPY %3:g8rc123 BLR8 implicit $lr8, implicit $rm, implicit $x3124...125---126name: fold_RLDICR_ANDIS127tracksRegLiveness: true128body: |129 bb.0.entry:130 liveins: $x3131 ; CHECK-LABEL: name: fold_RLDICR_ANDIS132 ; CHECK: liveins: $x3133 ; CHECK-NEXT: {{ $}}134 ; CHECK-NEXT: [[COPY:%[0-9]+]]:g8rc = COPY killed $x3135 ; CHECK-NEXT: dead [[RLDICR:%[0-9]+]]:g8rc = RLDICR [[COPY]], 0, 60136 ; CHECK-NEXT: [[ANDIS8_rec:%[0-9]+]]:g8rc = ANDIS8_rec killed [[COPY]], 16, implicit-def dead $cr0137 ; CHECK-NEXT: $x3 = COPY killed [[ANDIS8_rec]]138 ; CHECK-NEXT: BLR8 implicit $lr8, implicit $rm, implicit killed $x3139 %1:g8rc = COPY $x3140 %2:g8rc = RLDICR %1:g8rc, 0, 60141 %3:g8rc = ANDIS8_rec killed %2:g8rc, 16, implicit-def dead $cr0142 $x3 = COPY %3:g8rc143 BLR8 implicit $lr8, implicit $rm, implicit $x3144...145---146name: fold_RLDICR_ANDIS2147tracksRegLiveness: true148body: |149 bb.0.entry:150 liveins: $x3151 ; CHECK-LABEL: name: fold_RLDICR_ANDIS2152 ; CHECK: liveins: $x3153 ; CHECK-NEXT: {{ $}}154 ; CHECK-NEXT: [[COPY:%[0-9]+]]:g8rc = COPY killed $x3155 ; CHECK-NEXT: dead [[RLDICR:%[0-9]+]]:g8rc = RLDICR [[COPY]], 10, 32156 ; CHECK-NEXT: [[ANDIS8_rec:%[0-9]+]]:g8rc = ANDIS8_rec killed [[COPY]], 0, implicit-def dead $cr0157 ; CHECK-NEXT: $x3 = COPY killed [[ANDIS8_rec]]158 ; CHECK-NEXT: BLR8 implicit $lr8, implicit $rm, implicit killed $x3159 %1:g8rc = COPY $x3160 %2:g8rc = RLDICR %1:g8rc, 10, 32161 %3:g8rc = ANDIS8_rec killed %2:g8rc, 1, implicit-def dead $cr0162 $x3 = COPY %3:g8rc163 BLR8 implicit $lr8, implicit $rm, implicit $x3164...165