brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.3 KiB · ab82a1b Raw
210 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: cttz_zero_undef_s32_s326 7body: |8  bb.0:9    liveins: $vgpr010    ; CHECK-LABEL: name: cttz_zero_undef_s32_s3211    ; CHECK: liveins: $vgpr012    ; CHECK-NEXT: {{  $}}13    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr014    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[COPY]](s32)15    ; CHECK-NEXT: $vgpr0 = COPY [[CTTZ_ZERO_UNDEF]](s32)16    %0:_(s32) = COPY $vgpr017    %1:_(s32) = G_CTTZ_ZERO_UNDEF %018    $vgpr0 = COPY %119...20 21---22name: cttz_zero_undef_s32_s6423 24body: |25  bb.0:26    liveins: $vgpr0_vgpr127    ; CHECK-LABEL: name: cttz_zero_undef_s32_s6428    ; CHECK: liveins: $vgpr0_vgpr129    ; CHECK-NEXT: {{  $}}30    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr131    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[COPY]](s64)32    ; CHECK-NEXT: $vgpr0 = COPY [[CTTZ_ZERO_UNDEF]](s32)33    %0:_(s64) = COPY $vgpr0_vgpr134    %1:_(s32) = G_CTTZ_ZERO_UNDEF %035    $vgpr0 = COPY %136...37 38---39name: cttz_zero_undef_s64_s6440 41body: |42  bb.0:43    liveins: $vgpr0_vgpr144    ; CHECK-LABEL: name: cttz_zero_undef_s64_s6445    ; CHECK: liveins: $vgpr0_vgpr146    ; CHECK-NEXT: {{  $}}47    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr148    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[COPY]](s64)49    ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[CTTZ_ZERO_UNDEF]](s32)50    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[ZEXT]](s64)51    %0:_(s64) = COPY $vgpr0_vgpr152    %1:_(s64) = G_CTTZ_ZERO_UNDEF %053    $vgpr0_vgpr1 = COPY %154...55 56---57name: cttz_zero_undef_s16_s3258 59body: |60  bb.0:61    liveins: $vgpr062    ; CHECK-LABEL: name: cttz_zero_undef_s16_s3263    ; CHECK: liveins: $vgpr064    ; CHECK-NEXT: {{  $}}65    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr066    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[COPY]](s32)67    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 6553568    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[CTTZ_ZERO_UNDEF]], [[C]]69    ; CHECK-NEXT: $vgpr0 = COPY [[AND]](s32)70    %0:_(s32) = COPY $vgpr071    %1:_(s16) = G_CTTZ_ZERO_UNDEF %072    %2:_(s32) = G_ZEXT %173    $vgpr0 = COPY %274...75 76---77name: cttz_zero_undef_s16_s1678 79body: |80  bb.0:81    liveins: $vgpr082    ; CHECK-LABEL: name: cttz_zero_undef_s16_s1683    ; CHECK: liveins: $vgpr084    ; CHECK-NEXT: {{  $}}85    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr086    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[COPY]](s32)87    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY [[CTTZ_ZERO_UNDEF]](s32)88    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 6553589    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]90    ; CHECK-NEXT: $vgpr0 = COPY [[AND]](s32)91    %0:_(s32) = COPY $vgpr092    %1:_(s16) = G_TRUNC %093    %2:_(s16) = G_CTTZ_ZERO_UNDEF %194    %3:_(s32) = G_ZEXT %295    $vgpr0 = COPY %396...97 98---99name: cttz_zero_undef_v2s32_v2s32100 101body: |102  bb.0:103    liveins: $vgpr0_vgpr1104    ; CHECK-LABEL: name: cttz_zero_undef_v2s32_v2s32105    ; CHECK: liveins: $vgpr0_vgpr1106    ; CHECK-NEXT: {{  $}}107    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $vgpr0_vgpr1108    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](<2 x s32>)109    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[UV]](s32)110    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF1:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[UV1]](s32)111    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s32>) = G_BUILD_VECTOR [[CTTZ_ZERO_UNDEF]](s32), [[CTTZ_ZERO_UNDEF1]](s32)112    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[BUILD_VECTOR]](<2 x s32>)113    %0:_(<2 x s32>) = COPY $vgpr0_vgpr1114    %1:_(<2 x s32>) = G_CTTZ_ZERO_UNDEF %0115    $vgpr0_vgpr1 = COPY %1116...117 118---119name: cttz_zero_undef_v2s32_v2s64120 121body: |122  bb.0:123    liveins: $vgpr0_vgpr1_vgpr2_vgpr3124    ; CHECK-LABEL: name: cttz_zero_undef_v2s32_v2s64125    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3126    ; CHECK-NEXT: {{  $}}127    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3128    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s64), [[UV1:%[0-9]+]]:_(s64) = G_UNMERGE_VALUES [[COPY]](<2 x s64>)129    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[UV]](s64)130    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF1:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[UV1]](s64)131    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s32>) = G_BUILD_VECTOR [[CTTZ_ZERO_UNDEF]](s32), [[CTTZ_ZERO_UNDEF1]](s32)132    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[BUILD_VECTOR]](<2 x s32>)133    %0:_(<2 x s64>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3134    %1:_(<2 x s32>) = G_CTTZ_ZERO_UNDEF %0135    $vgpr0_vgpr1 = COPY %1136...137 138---139name: cttz_zero_undef_v2s16_v2s16140 141body: |142  bb.0:143    liveins: $vgpr0144    ; CHECK-LABEL: name: cttz_zero_undef_v2s16_v2s16145    ; CHECK: liveins: $vgpr0146    ; CHECK-NEXT: {{  $}}147    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s16>) = COPY $vgpr0148    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(s32) = G_BITCAST [[COPY]](<2 x s16>)149    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16150    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[BITCAST]], [[C]](s32)151    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[BITCAST]](s32)152    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY [[CTTZ_ZERO_UNDEF]](s32)153    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF1:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[LSHR]](s32)154    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY [[CTTZ_ZERO_UNDEF1]](s32)155    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535156    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C1]]157    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C1]]158    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C]](s32)159    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[AND]], [[SHL]]160    ; CHECK-NEXT: [[BITCAST1:%[0-9]+]]:_(<2 x s16>) = G_BITCAST [[OR]](s32)161    ; CHECK-NEXT: $vgpr0 = COPY [[BITCAST1]](<2 x s16>)162    %0:_(<2 x s16>) = COPY $vgpr0163    %1:_(<2 x s16>) = G_CTTZ_ZERO_UNDEF %0164    $vgpr0 = COPY %1165...166 167---168name: cttz_zero_undef_s7_s7169 170body: |171  bb.0:172    liveins: $vgpr0173 174    ; CHECK-LABEL: name: cttz_zero_undef_s7_s7175    ; CHECK: liveins: $vgpr0176    ; CHECK-NEXT: {{  $}}177    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0178    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[COPY]](s32)179    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY [[CTTZ_ZERO_UNDEF]](s32)180    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 127181    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]182    ; CHECK-NEXT: $vgpr0 = COPY [[AND]](s32)183    %0:_(s32) = COPY $vgpr0184    %1:_(s7) = G_TRUNC %0185    %2:_(s7) = G_CTTZ_ZERO_UNDEF %1186    %3:_(s32) = G_ZEXT %2187    $vgpr0 = COPY %3188...189 190---191name: cttz_zero_undef_s33_s33192 193body: |194  bb.0:195    liveins: $vgpr0_vgpr1196 197    ; CHECK-LABEL: name: cttz_zero_undef_s33_s33198    ; CHECK: liveins: $vgpr0_vgpr1199    ; CHECK-NEXT: {{  $}}200    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr1201    ; CHECK-NEXT: [[CTTZ_ZERO_UNDEF:%[0-9]+]]:_(s32) = G_CTTZ_ZERO_UNDEF [[COPY]](s64)202    ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[CTTZ_ZERO_UNDEF]](s32)203    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[ZEXT]](s64)204    %0:_(s64) = COPY $vgpr0_vgpr1205    %1:_(s33) = G_TRUNC %0206    %2:_(s33) = G_CTTZ_ZERO_UNDEF %1207    %3:_(s64) = G_ANYEXT %2208    $vgpr0_vgpr1 = COPY %3209...210