brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.9 KiB · 2452c30 Raw
155 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple aarch64 -run-pass=aarch64-postlegalizer-lowering -global-isel -verify-machineinstrs %s -o - | FileCheck %s3 4---5name:            v4s326legalized:       true7body: |8  bb.0.entry:9    liveins: $q010    ; CHECK-LABEL: name: v4s3211    ; CHECK: liveins: $q012    ; CHECK-NEXT: {{  $}}13    ; CHECK-NEXT: %v1:_(<4 x s32>) = COPY $q014    ; CHECK-NEXT: %unused:_(<2 x s32>), %unmerge:_(<2 x s32>) = G_UNMERGE_VALUES %v1(<4 x s32>)15    ; CHECK-NEXT: %fpext:_(<2 x s64>) = G_FPEXT %unmerge(<2 x s32>)16    ; CHECK-NEXT: $q0 = COPY %fpext(<2 x s64>)17    ; CHECK-NEXT: RET_ReallyLR implicit $q018    %v1:_(<4 x s32>) = COPY $q019    %implicit:_(<4 x s32>) = G_IMPLICIT_DEF20    %C:_(s32) = G_CONSTANT i32 821    %ext:_(<4 x s32>) = G_EXT %v1:_, %implicit:_, %C:_(s32)22    %unmerge:_(<2 x s32>), %unused:_(<2 x s32>) = G_UNMERGE_VALUES %ext:_(<4 x s32>)23    %fpext:_(<2 x s64>) = G_FPEXT %unmerge:_(<2 x s32>)24    $q0 = COPY %fpext25    RET_ReallyLR implicit $q026...27---28name:            v8s1629legalized:       true30body: |31  bb.0.entry:32    liveins: $q033    ; CHECK-LABEL: name: v8s1634    ; CHECK: liveins: $q035    ; CHECK-NEXT: {{  $}}36    ; CHECK-NEXT: %v1:_(<8 x s16>) = COPY $q037    ; CHECK-NEXT: %unused:_(<4 x s16>), %unmerge:_(<4 x s16>) = G_UNMERGE_VALUES %v1(<8 x s16>)38    ; CHECK-NEXT: %fpext:_(<4 x s32>) = G_FPEXT %unmerge(<4 x s16>)39    ; CHECK-NEXT: $q0 = COPY %fpext(<4 x s32>)40    ; CHECK-NEXT: RET_ReallyLR implicit $q041    %v1:_(<8 x s16>) = COPY $q042    %implicit:_(<8 x s16>) = G_IMPLICIT_DEF43    %C:_(s32) = G_CONSTANT i32 844    %ext:_(<8 x s16>) = G_EXT %v1:_, %implicit:_, %C:_(s32)45    %unmerge:_(<4 x s16>), %unused:_(<4 x s16>) = G_UNMERGE_VALUES %ext:_(<8 x s16>)46    %fpext:_(<4 x s32>) = G_FPEXT %unmerge:_(<4 x s16>)47    $q0 = COPY %fpext48    RET_ReallyLR implicit $q049...50---51name:            v16s852legalized:       true53body: |54  bb.0.entry:55    liveins: $q056    ; CHECK-LABEL: name: v16s857    ; CHECK: liveins: $q058    ; CHECK-NEXT: {{  $}}59    ; CHECK-NEXT: %v1:_(<16 x s8>) = COPY $q060    ; CHECK-NEXT: %unused:_(<8 x s8>), %unmerge:_(<8 x s8>) = G_UNMERGE_VALUES %v1(<16 x s8>)61    ; CHECK-NEXT: %fpext:_(<8 x s16>) = G_FPEXT %unmerge(<8 x s8>)62    ; CHECK-NEXT: $q0 = COPY %fpext(<8 x s16>)63    ; CHECK-NEXT: RET_ReallyLR implicit $q064    %v1:_(<16 x s8>) = COPY $q065    %implicit:_(<16 x s8>) = G_IMPLICIT_DEF66    %C:_(s32) = G_CONSTANT i32 867    %ext:_(<16 x s8>) = G_EXT %v1:_, %implicit:_, %C:_(s32)68    %unmerge:_(<8 x s8>), %unused:_(<8 x s8>) = G_UNMERGE_VALUES %ext:_(<16 x s8>)69    %fpext:_(<8 x s16>) = G_FPEXT %unmerge:_(<8 x s8>)70    $q0 = COPY %fpext71    RET_ReallyLR implicit $q072...73---74name:            skip_not_const75legalized:       true76body: |77  bb.0.entry:78    liveins: $q0, $w079    ; CHECK-LABEL: name: skip_not_const80    ; CHECK: liveins: $q0, $w081    ; CHECK-NEXT: {{  $}}82    ; CHECK-NEXT: %v1:_(<16 x s8>) = COPY $q083    ; CHECK-NEXT: %implicit:_(<16 x s8>) = G_IMPLICIT_DEF84    ; CHECK-NEXT: %C:_(s32) = COPY $w085    ; CHECK-NEXT: %ext:_(<16 x s8>) = G_EXT %v1, %implicit, %C(s32)86    ; CHECK-NEXT: %unmerge:_(<8 x s8>), %unused:_(<8 x s8>) = G_UNMERGE_VALUES %ext(<16 x s8>)87    ; CHECK-NEXT: %fpext:_(<8 x s16>) = G_FPEXT %unmerge(<8 x s8>)88    ; CHECK-NEXT: $q0 = COPY %fpext(<8 x s16>)89    ; CHECK-NEXT: RET_ReallyLR implicit $q090    %v1:_(<16 x s8>) = COPY $q091    %implicit:_(<16 x s8>) = G_IMPLICIT_DEF92    %C:_(s32) = COPY $w093    %ext:_(<16 x s8>) = G_EXT %v1:_, %implicit:_, %C:_(s32)94    %unmerge:_(<8 x s8>), %unused:_(<8 x s8>) = G_UNMERGE_VALUES %ext:_(<16 x s8>)95    %fpext:_(<8 x s16>) = G_FPEXT %unmerge:_(<8 x s8>)96    $q0 = COPY %fpext97    RET_ReallyLR implicit $q098...99---100name:            skip_not_unused101legalized:       true102body: |103  bb.0.entry:104    liveins: $q0105    ; CHECK-LABEL: name: skip_not_unused106    ; CHECK: liveins: $q0107    ; CHECK-NEXT: {{  $}}108    ; CHECK-NEXT: %v1:_(<16 x s8>) = COPY $q0109    ; CHECK-NEXT: %implicit:_(<16 x s8>) = G_IMPLICIT_DEF110    ; CHECK-NEXT: %C:_(s32) = G_CONSTANT i32 8111    ; CHECK-NEXT: %ext:_(<16 x s8>) = G_EXT %v1, %implicit, %C(s32)112    ; CHECK-NEXT: %unmerge:_(<8 x s8>), %unused:_(<8 x s8>) = G_UNMERGE_VALUES %ext(<16 x s8>)113    ; CHECK-NEXT: %fpext:_(<8 x s16>) = G_FPEXT %unmerge(<8 x s8>)114    ; CHECK-NEXT: %fpext2:_(<8 x s16>) = G_FPEXT %unused(<8 x s8>)115    ; CHECK-NEXT: $q0 = COPY %fpext(<8 x s16>)116    ; CHECK-NEXT: $q1 = COPY %fpext2(<8 x s16>)117    ; CHECK-NEXT: RET_ReallyLR implicit $q0, implicit $q1118    %v1:_(<16 x s8>) = COPY $q0119    %implicit:_(<16 x s8>) = G_IMPLICIT_DEF120    %C:_(s32) = G_CONSTANT i32 8121    %ext:_(<16 x s8>) = G_EXT %v1:_, %implicit:_, %C:_(s32)122    %unmerge:_(<8 x s8>), %unused:_(<8 x s8>) = G_UNMERGE_VALUES %ext:_(<16 x s8>)123    %fpext:_(<8 x s16>) = G_FPEXT %unmerge:_(<8 x s8>)124    %fpext2:_(<8 x s16>) = G_FPEXT %unused:_(<8 x s8>)125    $q0 = COPY %fpext126    $q1 = COPY %fpext2127    RET_ReallyLR implicit $q0, implicit $q1128...129---130name:            skip_borders131legalized:       true132body: |133  bb.0.entry:134    liveins: $q0135    ; CHECK-LABEL: name: skip_borders136    ; CHECK: liveins: $q0137    ; CHECK-NEXT: {{  $}}138    ; CHECK-NEXT: %v1:_(<4 x s32>) = COPY $q0139    ; CHECK-NEXT: %implicit:_(<4 x s32>) = G_IMPLICIT_DEF140    ; CHECK-NEXT: %C:_(s32) = G_CONSTANT i32 9141    ; CHECK-NEXT: %ext:_(<4 x s32>) = G_EXT %v1, %implicit, %C(s32)142    ; CHECK-NEXT: %unmerge:_(<2 x s32>), %unused:_(<2 x s32>) = G_UNMERGE_VALUES %ext(<4 x s32>)143    ; CHECK-NEXT: %fpext:_(<2 x s64>) = G_FPEXT %unmerge(<2 x s32>)144    ; CHECK-NEXT: $q0 = COPY %fpext(<2 x s64>)145    ; CHECK-NEXT: RET_ReallyLR implicit $q0146    %v1:_(<4 x s32>) = COPY $q0147    %implicit:_(<4 x s32>) = G_IMPLICIT_DEF148    %C:_(s32) = G_CONSTANT i32 9149    %ext:_(<4 x s32>) = G_EXT %v1:_, %implicit:_, %C:_(s32)150    %unmerge:_(<2 x s32>), %unused:_(<2 x s32>) = G_UNMERGE_VALUES %ext:_(<4 x s32>)151    %fpext:_(<2 x s64>) = G_FPEXT %unmerge:_(<2 x s32>)152    $q0 = COPY %fpext153    RET_ReallyLR implicit $q0154...155