brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · 77d30f6 Raw
147 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -run-pass=amdgpu-regbank-combiner %s -o - | FileCheck %s3 4---5name:            lshr_zext_i166tracksRegLiveness: true7body:             |8  bb.0:9    liveins: $sgpr0, $sgpr110 11    ; CHECK-LABEL: name: lshr_zext_i1612    ; CHECK: liveins: $sgpr0, $sgpr113    ; CHECK-NEXT: {{  $}}14    ; CHECK-NEXT: %src:sgpr(s32) = COPY $sgpr015    ; CHECK-NEXT: %regamt:sgpr(s32) = COPY $sgpr116    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 6553517    ; CHECK-NEXT: [[AND:%[0-9]+]]:sgpr(s32) = G_AND %regamt, [[C]]18    ; CHECK-NEXT: %res:sgpr(s32) = G_LSHR %src, [[AND]](s32)19    ; CHECK-NEXT: $sgpr0 = COPY %res(s32)20    %src:sgpr(s32) = COPY $sgpr021    %regamt:sgpr(s32) = COPY $sgpr122    %amt:sgpr(s16) = G_TRUNC %regamt23    %zextamt:sgpr(s32) = G_ZEXT %amt24    %res:sgpr(s32) = G_LSHR %src, %zextamt25    $sgpr0 = COPY %res26...27 28---29name:            ashr_zext_i1630tracksRegLiveness: true31body:             |32  bb.0:33    liveins: $sgpr0, $sgpr134 35    ; CHECK-LABEL: name: ashr_zext_i1636    ; CHECK: liveins: $sgpr0, $sgpr137    ; CHECK-NEXT: {{  $}}38    ; CHECK-NEXT: %src:sgpr(s32) = COPY $sgpr039    ; CHECK-NEXT: %regamt:sgpr(s32) = COPY $sgpr140    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 6553541    ; CHECK-NEXT: [[AND:%[0-9]+]]:sgpr(s32) = G_AND %regamt, [[C]]42    ; CHECK-NEXT: %res:sgpr(s32) = G_ASHR %src, [[AND]](s32)43    ; CHECK-NEXT: $sgpr0 = COPY %res(s32)44    %src:sgpr(s32) = COPY $sgpr045    %regamt:sgpr(s32) = COPY $sgpr146    %amt:sgpr(s16) = G_TRUNC %regamt47    %zextamt:sgpr(s32) = G_ZEXT %amt48    %res:sgpr(s32) = G_ASHR %src, %zextamt49    $sgpr0 = COPY %res50...51 52---53name:            shl_zext_i1654tracksRegLiveness: true55body:             |56  bb.0:57    liveins: $sgpr0, $sgpr158 59    ; CHECK-LABEL: name: shl_zext_i1660    ; CHECK: liveins: $sgpr0, $sgpr161    ; CHECK-NEXT: {{  $}}62    ; CHECK-NEXT: %src:sgpr(s32) = COPY $sgpr063    ; CHECK-NEXT: %regamt:sgpr(s32) = COPY $sgpr164    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 6553565    ; CHECK-NEXT: [[AND:%[0-9]+]]:sgpr(s32) = G_AND %regamt, [[C]]66    ; CHECK-NEXT: %res:sgpr(s32) = G_SHL %src, [[AND]](s32)67    ; CHECK-NEXT: $sgpr0 = COPY %res(s32)68    %src:sgpr(s32) = COPY $sgpr069    %regamt:sgpr(s32) = COPY $sgpr170    %amt:sgpr(s16) = G_TRUNC %regamt71    %zextamt:sgpr(s32) = G_ZEXT %amt72    %res:sgpr(s32) = G_SHL %src, %zextamt73    $sgpr0 = COPY %res74...75 76---77name:            lshr_zext_i878tracksRegLiveness: true79body:             |80  bb.0:81    liveins: $sgpr0, $sgpr182 83    ; CHECK-LABEL: name: lshr_zext_i884    ; CHECK: liveins: $sgpr0, $sgpr185    ; CHECK-NEXT: {{  $}}86    ; CHECK-NEXT: %src:sgpr(s32) = COPY $sgpr087    ; CHECK-NEXT: %regamt:sgpr(s32) = COPY $sgpr188    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 25589    ; CHECK-NEXT: [[AND:%[0-9]+]]:sgpr(s32) = G_AND %regamt, [[C]]90    ; CHECK-NEXT: %res:sgpr(s32) = G_LSHR %src, [[AND]](s32)91    ; CHECK-NEXT: $sgpr0 = COPY %res(s32)92    %src:sgpr(s32) = COPY $sgpr093    %regamt:sgpr(s32) = COPY $sgpr194    %amt:sgpr(s8) = G_TRUNC %regamt95    %zextamt:sgpr(s32) = G_ZEXT %amt96    %res:sgpr(s32) = G_LSHR %src, %zextamt97    $sgpr0 = COPY %res98...99 100---101name:            ashr_zext_i8102tracksRegLiveness: true103body:             |104  bb.0:105    liveins: $sgpr0, $sgpr1106 107    ; CHECK-LABEL: name: ashr_zext_i8108    ; CHECK: liveins: $sgpr0, $sgpr1109    ; CHECK-NEXT: {{  $}}110    ; CHECK-NEXT: %src:sgpr(s32) = COPY $sgpr0111    ; CHECK-NEXT: %regamt:sgpr(s32) = COPY $sgpr1112    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 255113    ; CHECK-NEXT: [[AND:%[0-9]+]]:sgpr(s32) = G_AND %regamt, [[C]]114    ; CHECK-NEXT: %res:sgpr(s32) = G_ASHR %src, [[AND]](s32)115    ; CHECK-NEXT: $sgpr0 = COPY %res(s32)116    %src:sgpr(s32) = COPY $sgpr0117    %regamt:sgpr(s32) = COPY $sgpr1118    %amt:sgpr(s8) = G_TRUNC %regamt119    %zextamt:sgpr(s32) = G_ZEXT %amt120    %res:sgpr(s32) = G_ASHR %src, %zextamt121    $sgpr0 = COPY %res122...123 124---125name:            shl_zext_i8126tracksRegLiveness: true127body:             |128  bb.0:129    liveins: $sgpr0, $sgpr1130 131    ; CHECK-LABEL: name: shl_zext_i8132    ; CHECK: liveins: $sgpr0, $sgpr1133    ; CHECK-NEXT: {{  $}}134    ; CHECK-NEXT: %src:sgpr(s32) = COPY $sgpr0135    ; CHECK-NEXT: %regamt:sgpr(s32) = COPY $sgpr1136    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 255137    ; CHECK-NEXT: [[AND:%[0-9]+]]:sgpr(s32) = G_AND %regamt, [[C]]138    ; CHECK-NEXT: %res:sgpr(s32) = G_SHL %src, [[AND]](s32)139    ; CHECK-NEXT: $sgpr0 = COPY %res(s32)140    %src:sgpr(s32) = COPY $sgpr0141    %regamt:sgpr(s32) = COPY $sgpr1142    %amt:sgpr(s8) = G_TRUNC %regamt143    %zextamt:sgpr(s32) = G_ZEXT %amt144    %res:sgpr(s32) = G_SHL %src, %zextamt145    $sgpr0 = COPY %res146...147