brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 9e7c573 Raw
101 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple aarch64 -run-pass=aarch64-postlegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s3 4---5name:            merge_unmerge6alignment:       47legalized:       true8liveins:9  - { reg: '$w0' }10body:             |11  bb.1.entry:12    liveins: $x013 14    ; CHECK-LABEL: name: merge_unmerge15    ; CHECK: liveins: $x016    ; CHECK-NEXT: {{  $}}17    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x018    ; CHECK-NEXT: $x0 = COPY [[COPY]](s64)19    ; CHECK-NEXT: RET_ReallyLR implicit $x020    %0:_(s64) = COPY $x021    %a:_(s32), %b:_(s32) = G_UNMERGE_VALUES %022    %merge:_(s64) = G_MERGE_VALUES %a, %b23    $x0 = COPY %merge(s64)24    RET_ReallyLR implicit $x025 26...27---28name:            merge_unmerge_mismatched_order29alignment:       430legalized:       true31liveins:32  - { reg: '$w0' }33body:             |34  bb.1.entry:35    liveins: $x036 37    ; CHECK-LABEL: name: merge_unmerge_mismatched_order38    ; CHECK: liveins: $x039    ; CHECK-NEXT: {{  $}}40    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x041    ; CHECK-NEXT: %b:_(s32), %a:_(s32) = G_UNMERGE_VALUES [[COPY]](s64)42    ; CHECK-NEXT: %merge:_(s64) = G_MERGE_VALUES %a(s32), %b(s32)43    ; CHECK-NEXT: $x0 = COPY %merge(s64)44    ; CHECK-NEXT: RET_ReallyLR implicit $x045    %0:_(s64) = COPY $x046    %b:_(s32), %a:_(s32) = G_UNMERGE_VALUES %047    %merge:_(s64) = G_MERGE_VALUES %a, %b48    $x0 = COPY %merge(s64)49    RET_ReallyLR implicit $x050 51...52---53name:            merge_unmerge_mismatched_num_defs54alignment:       455legalized:       true56liveins:57  - { reg: '$w0' }58body:             |59  bb.1.entry:60    liveins: $q061 62    ; CHECK-LABEL: name: merge_unmerge_mismatched_num_defs63    ; CHECK: liveins: $q064    ; CHECK-NEXT: {{  $}}65    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s128) = COPY $q066    ; CHECK-NEXT: %a:_(s32), %b:_(s32), %c:_(s32), %d:_(s32) = G_UNMERGE_VALUES [[COPY]](s128)67    ; CHECK-NEXT: %merge:_(s64) = G_MERGE_VALUES %a(s32), %b(s32)68    ; CHECK-NEXT: $x0 = COPY %merge(s64)69    ; CHECK-NEXT: RET_ReallyLR implicit $x070    %0:_(s128) = COPY $q071    %a:_(s32), %b:_(s32), %c:_(s32), %d:_(s32) = G_UNMERGE_VALUES %072    %merge:_(s64) = G_MERGE_VALUES %a, %b73    $x0 = COPY %merge(s64)74    RET_ReallyLR implicit $x075 76...77---78name:            merge_to_zext79alignment:       480legalized:       true81liveins:82  - { reg: '$w0' }83body:             |84  bb.1.entry:85    liveins: $w086 87    ; CHECK-LABEL: name: merge_to_zext88    ; CHECK: liveins: $w089    ; CHECK-NEXT: {{  $}}90    ; CHECK-NEXT: %v:_(s32) = COPY $w091    ; CHECK-NEXT: %merge:_(s64) = G_ZEXT %v(s32)92    ; CHECK-NEXT: $x0 = COPY %merge(s64)93    ; CHECK-NEXT: RET_ReallyLR implicit $x094    %v:_(s32) = COPY $w095    %zero:_(s32) = G_CONSTANT i32 096    %merge:_(s64) = G_MERGE_VALUES %v, %zero97    $x0 = COPY %merge(s64)98    RET_ReallyLR implicit $x099 100...101