74 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -o - -mtriple=aarch64 -run-pass=legalizer %s | FileCheck %s3 4# Make sure we don't lose the register bank constraints when5# artifact combining G_UNMERGE_VALUES instructions.6---7name: test_none_none8body: |9 bb.0.entry:10 ; CHECK-LABEL: name: test_none_none11 ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w012 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w113 ; CHECK-NEXT: $w0 = COPY [[COPY]](s32)14 ; CHECK-NEXT: $w1 = COPY [[COPY1]](s32)15 %0:_(s32) = COPY $w016 %1:_(s32) = COPY $w117 %2:_(s64) = G_MERGE_VALUES %0(s32), %118 %3:_(s32), %4:_(s32) = G_UNMERGE_VALUES %2(s64)19 $w0 = COPY %3(s32)20 $w1 = COPY %4(s32)21...22---23name: test_gpr_none24body: |25 bb.0.entry:26 ; CHECK-LABEL: name: test_gpr_none27 ; CHECK: [[COPY:%[0-9]+]]:gpr(s32) = COPY $w028 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr(s32) = COPY $w129 ; CHECK-NEXT: $w0 = COPY [[COPY]](s32)30 ; CHECK-NEXT: $w1 = COPY [[COPY1]](s32)31 %0:gpr(s32) = COPY $w032 %1:gpr(s32) = COPY $w133 %2:_(s64) = G_MERGE_VALUES %0(s32), %134 %3:_(s32), %4:_(s32) = G_UNMERGE_VALUES %2(s64)35 $w0 = COPY %3(s32)36 $w1 = COPY %4(s32)37...38---39name: test_none_gpr40body: |41 bb.0.entry:42 ; CHECK-LABEL: name: test_none_gpr43 ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w044 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w145 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr(s32) = COPY [[COPY]](s32)46 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr(s32) = COPY [[COPY1]](s32)47 ; CHECK-NEXT: $w0 = COPY [[COPY2]](s32)48 ; CHECK-NEXT: $w1 = COPY [[COPY3]](s32)49 %0:_(s32) = COPY $w050 %1:_(s32) = COPY $w151 %2:_(s64) = G_MERGE_VALUES %0(s32), %152 %3:gpr(s32), %4:gpr(s32) = G_UNMERGE_VALUES %2(s64)53 $w0 = COPY %3(s32)54 $w1 = COPY %4(s32)55...56---57name: test_fpr_gpr58body: |59 bb.0.entry:60 ; CHECK-LABEL: name: test_fpr_gpr61 ; CHECK: [[COPY:%[0-9]+]]:fpr(s32) = COPY $w062 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr(s32) = COPY $w163 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr(s32) = COPY [[COPY]](s32)64 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr(s32) = COPY [[COPY1]](s32)65 ; CHECK-NEXT: $w0 = COPY [[COPY2]](s32)66 ; CHECK-NEXT: $w1 = COPY [[COPY3]](s32)67 %0:fpr(s32) = COPY $w068 %1:fpr(s32) = COPY $w169 %2:_(s64) = G_MERGE_VALUES %0(s32), %170 %3:gpr(s32), %4:gpr(s32) = G_UNMERGE_VALUES %2(s64)71 $w0 = COPY %3(s32)72 $w1 = COPY %4(s32)73...74