brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.5 KiB · 92eb440 Raw
166 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -O0 -run-pass=legalizer %s -o - | FileCheck %s3 4---5name: bitreverse_s86 7body: |8  bb.0:9    liveins: $vgpr010    ; CHECK-LABEL: name: bitreverse_s811    ; CHECK: liveins: $vgpr012    ; CHECK-NEXT: {{  $}}13    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr014    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s32) = G_BITREVERSE [[COPY]]15    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 2416    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[BITREVERSE]], [[C]](s32)17    ; CHECK-NEXT: $vgpr0 = COPY [[LSHR]](s32)18    %0:_(s32) = COPY $vgpr019    %1:_(s8) = G_TRUNC %020    %2:_(s8) = G_BITREVERSE %121    %3:_(s32) = G_ANYEXT %222    $vgpr0 = COPY %323...24 25---26name: bitreverse_s1627 28body: |29  bb.0:30    liveins: $vgpr031    ; CHECK-LABEL: name: bitreverse_s1632    ; CHECK: liveins: $vgpr033    ; CHECK-NEXT: {{  $}}34    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr035    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s32) = G_BITREVERSE [[COPY]]36    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1637    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[BITREVERSE]], [[C]](s32)38    ; CHECK-NEXT: $vgpr0 = COPY [[LSHR]](s32)39    %0:_(s32) = COPY $vgpr040    %1:_(s16) = G_TRUNC %041    %2:_(s16) = G_BITREVERSE %142    %3:_(s32) = G_ANYEXT %243    $vgpr0 = COPY %344...45 46---47name: bitreverse_s2448 49body: |50  bb.0:51    liveins: $vgpr052    ; CHECK-LABEL: name: bitreverse_s2453    ; CHECK: liveins: $vgpr054    ; CHECK-NEXT: {{  $}}55    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr056    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s32) = G_BITREVERSE [[COPY]]57    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 858    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[BITREVERSE]], [[C]](s32)59    ; CHECK-NEXT: $vgpr0 = COPY [[LSHR]](s32)60    %0:_(s32) = COPY $vgpr061    %1:_(s24) = G_TRUNC %062    %2:_(s24) = G_BITREVERSE %163    %3:_(s32) = G_ANYEXT %264    $vgpr0 = COPY %365...66 67---68name: bitreverse_s3269 70body: |71  bb.0:72    liveins: $vgpr073    ; CHECK-LABEL: name: bitreverse_s3274    ; CHECK: liveins: $vgpr075    ; CHECK-NEXT: {{  $}}76    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr077    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s32) = G_BITREVERSE [[COPY]]78    ; CHECK-NEXT: $vgpr0 = COPY [[BITREVERSE]](s32)79    %0:_(s32) = COPY $vgpr080    %1:_(s32) = G_BITREVERSE %081    $vgpr0 = COPY %182...83 84---85name: bitreverse_v2s1686 87body: |88  bb.0:89    liveins: $vgpr090    ; CHECK-LABEL: name: bitreverse_v2s1691    ; CHECK: liveins: $vgpr092    ; CHECK-NEXT: {{  $}}93    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s16>) = COPY $vgpr094    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(s32) = G_BITCAST [[COPY]](<2 x s16>)95    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1696    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[BITCAST]], [[C]](s32)97    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s32) = G_BITREVERSE [[BITCAST]]98    ; CHECK-NEXT: [[LSHR1:%[0-9]+]]:_(s32) = G_LSHR [[BITREVERSE]], [[C]](s32)99    ; CHECK-NEXT: [[BITREVERSE1:%[0-9]+]]:_(s32) = G_BITREVERSE [[LSHR]]100    ; CHECK-NEXT: [[LSHR2:%[0-9]+]]:_(s32) = G_LSHR [[BITREVERSE1]], [[C]](s32)101    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[LSHR2]], [[C]](s32)102    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[LSHR1]], [[SHL]]103    ; CHECK-NEXT: [[BITCAST1:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR]](s32)104    ; CHECK-NEXT: $vgpr0 = COPY [[BITCAST1]](<2 x s16>)105    %0:_(<2 x s16>) = COPY $vgpr0106    %1:_(<2 x s16>) = G_BITREVERSE %0107    $vgpr0 = COPY %1108...109 110---111name: bitreverse_v2s32112 113body: |114  bb.0:115    liveins: $vgpr0_vgpr1116    ; CHECK-LABEL: name: bitreverse_v2s32117    ; CHECK: liveins: $vgpr0_vgpr1118    ; CHECK-NEXT: {{  $}}119    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $vgpr0_vgpr1120    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](<2 x s32>)121    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s32) = G_BITREVERSE [[UV]]122    ; CHECK-NEXT: [[BITREVERSE1:%[0-9]+]]:_(s32) = G_BITREVERSE [[UV1]]123    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s32>) = G_BUILD_VECTOR [[BITREVERSE]](s32), [[BITREVERSE1]](s32)124    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[BUILD_VECTOR]](<2 x s32>)125    %0:_(<2 x s32>) = COPY $vgpr0_vgpr1126    %1:_(<2 x s32>) = G_BITREVERSE %0127    $vgpr0_vgpr1 = COPY %1128...129 130---131name: bitreverse_s64132 133body: |134  bb.0:135    liveins: $vgpr0_vgpr1136    ; CHECK-LABEL: name: bitreverse_s64137    ; CHECK: liveins: $vgpr0_vgpr1138    ; CHECK-NEXT: {{  $}}139    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr1140    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s64) = G_BITREVERSE [[COPY]]141    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[BITREVERSE]](s64)142    %0:_(s64) = COPY $vgpr0_vgpr1143    %1:_(s64) = G_BITREVERSE %0144    $vgpr0_vgpr1 = COPY %1145...146 147---148name: bitreverse_v2s64149 150body: |151  bb.0:152    liveins: $vgpr0_vgpr1_vgpr2_vgpr3153    ; CHECK-LABEL: name: bitreverse_v2s64154    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3155    ; CHECK-NEXT: {{  $}}156    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3157    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s64), [[UV1:%[0-9]+]]:_(s64) = G_UNMERGE_VALUES [[COPY]](<2 x s64>)158    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s64) = G_BITREVERSE [[UV]]159    ; CHECK-NEXT: [[BITREVERSE1:%[0-9]+]]:_(s64) = G_BITREVERSE [[UV1]]160    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s64>) = G_BUILD_VECTOR [[BITREVERSE]](s64), [[BITREVERSE1]](s64)161    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[BUILD_VECTOR]](<2 x s64>)162    %0:_(<2 x s64>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3163    %1:_(<2 x s64>) = G_BITREVERSE %0164    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1165...166