brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.2 KiB · dfd4dd8 Raw
249 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple aarch64 -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s3 4...5---6name:            s32_legal7tracksRegLiveness: true8body: |9  bb.0:10    liveins: $w011    ; CHECK-LABEL: name: s32_legal12    ; CHECK: liveins: $w013    ; CHECK-NEXT: {{  $}}14    ; CHECK-NEXT: %copy:_(s32) = COPY $w015    ; CHECK-NEXT: %bitreverse:_(s32) = G_BITREVERSE %copy16    ; CHECK-NEXT: $w0 = COPY %bitreverse(s32)17    ; CHECK-NEXT: RET_ReallyLR implicit $w018    %copy:_(s32) = COPY $w019    %bitreverse:_(s32) = G_BITREVERSE %copy20    $w0 = COPY %bitreverse21    RET_ReallyLR implicit $w022...23---24name:            s64_legal25tracksRegLiveness: true26body: |27  bb.0:28    liveins: $x029    ; CHECK-LABEL: name: s64_legal30    ; CHECK: liveins: $x031    ; CHECK-NEXT: {{  $}}32    ; CHECK-NEXT: %copy:_(s64) = COPY $x033    ; CHECK-NEXT: %bitreverse:_(s64) = G_BITREVERSE %copy34    ; CHECK-NEXT: $x0 = COPY %bitreverse(s64)35    ; CHECK-NEXT: RET_ReallyLR implicit $x036    %copy:_(s64) = COPY $x037    %bitreverse:_(s64) = G_BITREVERSE %copy38    $x0 = COPY %bitreverse39    RET_ReallyLR implicit $x040...41---42name:            v8s8_legal43tracksRegLiveness: true44body: |45  bb.0:46    liveins: $x047    ; CHECK-LABEL: name: v8s8_legal48    ; CHECK: liveins: $x049    ; CHECK-NEXT: {{  $}}50    ; CHECK-NEXT: %vec:_(<8 x s8>) = G_IMPLICIT_DEF51    ; CHECK-NEXT: %bitreverse:_(<8 x s8>) = G_BITREVERSE %vec52    ; CHECK-NEXT: $x0 = COPY %bitreverse(<8 x s8>)53    ; CHECK-NEXT: RET_ReallyLR implicit $x054    %vec:_(<8 x s8>) = G_IMPLICIT_DEF55    %bitreverse:_(<8 x s8>) = G_BITREVERSE %vec56    $x0 = COPY %bitreverse57    RET_ReallyLR implicit $x058...59---60name:            v16s8_legal61tracksRegLiveness: true62body: |63  bb.0:64    liveins: $q065    ; CHECK-LABEL: name: v16s8_legal66    ; CHECK: liveins: $q067    ; CHECK-NEXT: {{  $}}68    ; CHECK-NEXT: %vec:_(<16 x s8>) = G_IMPLICIT_DEF69    ; CHECK-NEXT: %bitreverse:_(<16 x s8>) = G_BITREVERSE %vec70    ; CHECK-NEXT: $q0 = COPY %bitreverse(<16 x s8>)71    ; CHECK-NEXT: RET_ReallyLR implicit $q072    %vec:_(<16 x s8>) = G_IMPLICIT_DEF73    %bitreverse:_(<16 x s8>) = G_BITREVERSE %vec74    $q0 = COPY %bitreverse75    RET_ReallyLR implicit $q076...77---78name:            s8_widen79tracksRegLiveness: true80body: |81  bb.0:82    liveins: $b083    ; CHECK-LABEL: name: s8_widen84    ; CHECK: liveins: $b085    ; CHECK-NEXT: {{  $}}86    ; CHECK-NEXT: %copy:_(s8) = COPY $b087    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT %copy(s8)88    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s32) = G_BITREVERSE [[ANYEXT]]89    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 2490    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[BITREVERSE]], [[C]](s64)91    ; CHECK-NEXT: %bitreverse:_(s8) = G_TRUNC [[LSHR]](s32)92    ; CHECK-NEXT: $b0 = COPY %bitreverse(s8)93    ; CHECK-NEXT: RET_ReallyLR implicit $b094    %copy:_(s8) = COPY $b095    %bitreverse:_(s8) = G_BITREVERSE %copy96    $b0 = COPY %bitreverse97    RET_ReallyLR implicit $b098...99---100name:            s3_widen101tracksRegLiveness: true102body: |103  bb.0:104    liveins: $b0105    ; CHECK-LABEL: name: s3_widen106    ; CHECK: liveins: $b0107    ; CHECK-NEXT: {{  $}}108    ; CHECK-NEXT: %copy:_(s8) = COPY $b0109    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT %copy(s8)110    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s32) = G_BITREVERSE [[ANYEXT]]111    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 29112    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[BITREVERSE]], [[C]](s64)113    ; CHECK-NEXT: %ext:_(s8) = G_TRUNC [[LSHR]](s32)114    ; CHECK-NEXT: $b0 = COPY %ext(s8)115    ; CHECK-NEXT: RET_ReallyLR implicit $b0116    %copy:_(s8) = COPY $b0117    %trunc:_(s3) = G_TRUNC %copy118    %bitreverse:_(s3) = G_BITREVERSE %trunc119    %ext:_(s8) = G_ANYEXT %bitreverse120    $b0 = COPY %ext121    RET_ReallyLR implicit $b0122...123---124name:            s128_narrow125tracksRegLiveness: true126body: |127  bb.0:128    liveins: $q0129    ; CHECK-LABEL: name: s128_narrow130    ; CHECK: liveins: $q0131    ; CHECK-NEXT: {{  $}}132    ; CHECK-NEXT: %copy:_(s128) = COPY $q0133    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s64), [[UV1:%[0-9]+]]:_(s64) = G_UNMERGE_VALUES %copy(s128)134    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s64) = G_BITREVERSE [[UV1]]135    ; CHECK-NEXT: [[BITREVERSE1:%[0-9]+]]:_(s64) = G_BITREVERSE [[UV]]136    ; CHECK-NEXT: %bitreverse:_(s128) = G_MERGE_VALUES [[BITREVERSE]](s64), [[BITREVERSE1]](s64)137    ; CHECK-NEXT: $q0 = COPY %bitreverse(s128)138    ; CHECK-NEXT: RET_ReallyLR implicit $q0139    %copy:_(s128) = COPY $q0140    %bitreverse:_(s128) = G_BITREVERSE %copy141    $q0 = COPY %bitreverse142    RET_ReallyLR implicit $q0143...144---145name:            v4s16146tracksRegLiveness: true147body: |148  bb.0:149    liveins: $d0150    ; CHECK-LABEL: name: v4s16151    ; CHECK: liveins: $d0152    ; CHECK-NEXT: {{  $}}153    ; CHECK-NEXT: %vec:_(<4 x s16>) = COPY $d0154    ; CHECK-NEXT: [[BSWAP:%[0-9]+]]:_(<4 x s16>) = G_BSWAP %vec155    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<8 x s8>) = G_BITCAST [[BSWAP]](<4 x s16>)156    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(<8 x s8>) = G_BITREVERSE [[BITCAST]]157    ; CHECK-NEXT: %bitreverse:_(<4 x s16>) = G_BITCAST [[BITREVERSE]](<8 x s8>)158    ; CHECK-NEXT: $d0 = COPY %bitreverse(<4 x s16>)159    ; CHECK-NEXT: RET_ReallyLR implicit $q0160    %vec:_(<4 x s16>) = COPY $d0161    %bitreverse:_(<4 x s16>) = G_BITREVERSE %vec162    $d0 = COPY %bitreverse163    RET_ReallyLR implicit $q0164...165---166name:            v2s32167tracksRegLiveness: true168body: |169  bb.0:170    liveins: $d0171    ; CHECK-LABEL: name: v2s32172    ; CHECK: liveins: $d0173    ; CHECK-NEXT: {{  $}}174    ; CHECK-NEXT: %vec:_(<2 x s32>) = COPY $d0175    ; CHECK-NEXT: [[BSWAP:%[0-9]+]]:_(<2 x s32>) = G_BSWAP %vec176    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<8 x s8>) = G_BITCAST [[BSWAP]](<2 x s32>)177    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(<8 x s8>) = G_BITREVERSE [[BITCAST]]178    ; CHECK-NEXT: %bitreverse:_(<2 x s32>) = G_BITCAST [[BITREVERSE]](<8 x s8>)179    ; CHECK-NEXT: $d0 = COPY %bitreverse(<2 x s32>)180    ; CHECK-NEXT: RET_ReallyLR implicit $d0181    %vec:_(<2 x s32>) = COPY $d0182    %bitreverse:_(<2 x s32>) = G_BITREVERSE %vec183    $d0 = COPY %bitreverse184    RET_ReallyLR implicit $d0185...186---187name:            v2s64188tracksRegLiveness: true189body: |190  bb.0:191    liveins: $q0192    ; CHECK-LABEL: name: v2s64193    ; CHECK: liveins: $q0194    ; CHECK-NEXT: {{  $}}195    ; CHECK-NEXT: %vec:_(<2 x s64>) = COPY $q0196    ; CHECK-NEXT: [[BSWAP:%[0-9]+]]:_(<2 x s64>) = G_BSWAP %vec197    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<16 x s8>) = G_BITCAST [[BSWAP]](<2 x s64>)198    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(<16 x s8>) = G_BITREVERSE [[BITCAST]]199    ; CHECK-NEXT: %bitreverse:_(<2 x s64>) = G_BITCAST [[BITREVERSE]](<16 x s8>)200    ; CHECK-NEXT: $q0 = COPY %bitreverse(<2 x s64>)201    ; CHECK-NEXT: RET_ReallyLR implicit $q0202    %vec:_(<2 x s64>) = COPY $q0203    %bitreverse:_(<2 x s64>) = G_BITREVERSE %vec204    $q0 = COPY %bitreverse205    RET_ReallyLR implicit $q0206...207---208name:            v4s32209tracksRegLiveness: true210body: |211  bb.0:212    liveins: $q0213    ; CHECK-LABEL: name: v4s32214    ; CHECK: liveins: $q0215    ; CHECK-NEXT: {{  $}}216    ; CHECK-NEXT: %vec:_(<4 x s32>) = COPY $q0217    ; CHECK-NEXT: [[BSWAP:%[0-9]+]]:_(<4 x s32>) = G_BSWAP %vec218    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<16 x s8>) = G_BITCAST [[BSWAP]](<4 x s32>)219    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(<16 x s8>) = G_BITREVERSE [[BITCAST]]220    ; CHECK-NEXT: %bitreverse:_(<4 x s32>) = G_BITCAST [[BITREVERSE]](<16 x s8>)221    ; CHECK-NEXT: $q0 = COPY %bitreverse(<4 x s32>)222    ; CHECK-NEXT: RET_ReallyLR implicit $q0223    %vec:_(<4 x s32>) = COPY $q0224    %bitreverse:_(<4 x s32>) = G_BITREVERSE %vec225    $q0 = COPY %bitreverse226    RET_ReallyLR implicit $q0227...228---229name:            v8s16230tracksRegLiveness: true231body: |232  bb.0:233    liveins: $q0234    ; CHECK-LABEL: name: v8s16235    ; CHECK: liveins: $q0236    ; CHECK-NEXT: {{  $}}237    ; CHECK-NEXT: %vec:_(<8 x s16>) = COPY $q0238    ; CHECK-NEXT: [[BSWAP:%[0-9]+]]:_(<8 x s16>) = G_BSWAP %vec239    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<16 x s8>) = G_BITCAST [[BSWAP]](<8 x s16>)240    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(<16 x s8>) = G_BITREVERSE [[BITCAST]]241    ; CHECK-NEXT: %bitreverse:_(<8 x s16>) = G_BITCAST [[BITREVERSE]](<16 x s8>)242    ; CHECK-NEXT: $q0 = COPY %bitreverse(<8 x s16>)243    ; CHECK-NEXT: RET_ReallyLR implicit $q0244    %vec:_(<8 x s16>) = COPY $q0245    %bitreverse:_(<8 x s16>) = G_BITREVERSE %vec246    $q0 = COPY %bitreverse247    RET_ReallyLR implicit $q0248...249