brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.0 KiB · 4f0ca34 Raw
119 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -O0 -run-pass=legalizer %s -o -  | FileCheck %s --check-prefixes=CHECK,CHECK-O03# RUN: llc -mtriple=aarch64 -run-pass=legalizer %s -o -  | FileCheck %s --check-prefixes=CHECK,CHECK-O24 5---6name:  test_unmerge_s4_constant7body: |8  bb.0:9    ; CHECK-O0-LABEL: name: test_unmerge_s4_constant10    ; CHECK-O0: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 011    ; CHECK-O0-NEXT: $x0 = COPY [[C]](s64)12    ;13    ; CHECK-O2-LABEL: name: test_unmerge_s4_constant14    ; CHECK-O2: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 015    ; CHECK-O2-NEXT: [[TRUNC:%[0-9]+]]:_(s4) = G_TRUNC [[C]](s8)16    ; CHECK-O2-NEXT: [[COPY:%[0-9]+]]:_(s4) = COPY [[TRUNC]](s4)17    ; CHECK-O2-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 018    ; CHECK-O2-NEXT: $x0 = COPY [[C1]](s64)19    %0:_(s8) = G_CONSTANT i8 020    %1:_(s4), %2:_(s4)= G_UNMERGE_VALUES %021    %3:_(s64) = G_ANYEXT %122    $x0 = COPY %323 24...25 26---27name:  test_unmerge_s428body: |29  bb.0:30    liveins: $w031    ; CHECK-LABEL: name: test_unmerge_s432    ; CHECK: liveins: $w033    ; CHECK-NEXT: {{  $}}34    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w035    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s8), [[UV1:%[0-9]+]]:_(s8), [[UV2:%[0-9]+]]:_(s8), [[UV3:%[0-9]+]]:_(s8) = G_UNMERGE_VALUES [[COPY]](s32)36    ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[UV]](s8)37    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 438    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[ZEXT]], [[C]](s64)39    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[UV]](s8)40    ; CHECK-NEXT: [[ANYEXT1:%[0-9]+]]:_(s64) = G_ANYEXT [[LSHR]](s32)41    ; CHECK-NEXT: $x0 = COPY [[ANYEXT]](s64)42    ; CHECK-NEXT: $x1 = COPY [[ANYEXT1]](s64)43    %0:_(s32) = COPY $w044    %1:_(s8) = G_TRUNC %045    %2:_(s4), %3:_(s4)= G_UNMERGE_VALUES %146    %4:_(s64) = G_ANYEXT %247    %5:_(s64) = G_ANYEXT %348    $x0 = COPY %449    $x1 = COPY %550 51...52 53---54name:  test_unmerge_unmerge_s6455body: |56  bb.0:57    liveins: $x0,$d0,$d1,$d258    ; CHECK-LABEL: name: test_unmerge_unmerge_s6459    ; CHECK: liveins: $x0, $d0, $d1, $d260    ; CHECK-NEXT: {{  $}}61    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x062    ; CHECK-NEXT: $x0 = COPY [[COPY]](s64)63    ; CHECK-NEXT: $x1 = COPY [[COPY]](s64)64    ; CHECK-NEXT: $x2 = COPY [[COPY]](s64)65    %0:_(s64) = COPY $x066    %1:_(<3 x s64>) = G_BUILD_VECTOR %0:_(s64), %0:_(s64), %0:_(s64)67    %2:_(s64), %3:_(s64), %4:_(s64) = G_UNMERGE_VALUES %1:_(<3 x s64>)68    $x0 = COPY %2:_(s64)69    $x1 = COPY %3:_(s64)70    $x2 = COPY %3:_(s64)71 72...73 74---75name:  test_unmerge_unmerge_to_p076body: |77  bb.0:78    liveins: $x0,$d0,$d1,$d279    ; CHECK-LABEL: name: test_unmerge_unmerge_to_p080    ; CHECK: liveins: $x0, $d0, $d1, $d281    ; CHECK-NEXT: {{  $}}82    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x083    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[COPY]](s64)84    ; CHECK-NEXT: [[INTTOPTR1:%[0-9]+]]:_(p0) = G_INTTOPTR [[COPY]](s64)85    ; CHECK-NEXT: $x0 = COPY [[INTTOPTR]](p0)86    ; CHECK-NEXT: $x1 = COPY [[INTTOPTR1]](p0)87    ; CHECK-NEXT: $x2 = COPY [[INTTOPTR1]](p0)88    %0:_(s64) = COPY $x089    %1:_(<3 x s64>) = G_BUILD_VECTOR %0:_(s64), %0:_(s64), %0:_(s64)90    %2:_(p0), %3:_(p0), %4:_(p0) = G_UNMERGE_VALUES %1:_(<3 x s64>)91    $x0 = COPY %2:_(p0)92    $x1 = COPY %3:_(p0)93    $x2 = COPY %3:_(p0)94 95...96 97---98name:  test_unmerge_unmerge_from_p099body: |100  bb.0:101    liveins: $x0,$d0,$d1,$d2102    ; CHECK-LABEL: name: test_unmerge_unmerge_from_p0103    ; CHECK: liveins: $x0, $d0, $d1, $d2104    ; CHECK-NEXT: {{  $}}105    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0106    ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[COPY]](p0)107    ; CHECK-NEXT: [[PTRTOINT1:%[0-9]+]]:_(s64) = G_PTRTOINT [[COPY]](p0)108    ; CHECK-NEXT: $d0 = COPY [[PTRTOINT]](s64)109    ; CHECK-NEXT: $d1 = COPY [[PTRTOINT1]](s64)110    ; CHECK-NEXT: $d2 = COPY [[PTRTOINT1]](s64)111    %0:_(p0) = COPY $x0112    %1:_(<3 x p0>) = G_BUILD_VECTOR %0:_(p0), %0:_(p0), %0:_(p0)113    %2:_(s64), %3:_(s64), %4:_(s64) = G_UNMERGE_VALUES %1:_(<3 x p0>)114    $d0 = COPY %2:_(s64)115    $d1 = COPY %3:_(s64)116    $d2 = COPY %3:_(s64)117 118...119