brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · 5189582 Raw
150 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -o - -mtriple=aarch64 -run-pass=aarch64-prelegalizer-combiner -verify-machineinstrs %s | FileCheck %s3---4name:            full_extracts_from_build_vector5alignment:       46tracksRegLiveness: true7liveins:8  - { reg: '$x0' }9  - { reg: '$x1' }10frameInfo:11  maxAlignment:    112  maxCallFrameSize: 013machineFunctionInfo: {}14body:             |15  bb.0:16    liveins: $x0, $x117 18    ; CHECK-LABEL: name: full_extracts_from_build_vector19    ; CHECK: liveins: $x0, $x120    ; CHECK-NEXT: {{  $}}21    ; CHECK-NEXT: %arg1:_(s64) = COPY $x022    ; CHECK-NEXT: %arg2:_(s64) = COPY $x123    ; CHECK-NEXT: $x0 = COPY %arg1(s64)24    ; CHECK-NEXT: $x1 = COPY %arg2(s64)25    ; CHECK-NEXT: RET_ReallyLR implicit $x026    %arg1:_(s64) = COPY $x027    %arg2:_(s64) = COPY $x128    %zero:_(s64) = G_CONSTANT i64 029    %one:_(s64) = G_CONSTANT i64 130    %bv:_(<2 x s64>) = G_BUILD_VECTOR %arg1(s64), %arg2(s64)31    %extract:_(s64) = G_EXTRACT_VECTOR_ELT %bv(<2 x s64>), %zero(s64)32    %extract2:_(s64) = G_EXTRACT_VECTOR_ELT %bv(<2 x s64>), %one(s64)33    $x0 = COPY %extract(s64)34    $x1 = COPY %extract2(s64)35    RET_ReallyLR implicit $x036 37...38---39name:            full_extracts_from_build_vector_other_use40alignment:       441tracksRegLiveness: true42liveins:43  - { reg: '$x0' }44  - { reg: '$x1' }45frameInfo:46  maxAlignment:    147  maxCallFrameSize: 048machineFunctionInfo: {}49body:             |50  bb.0:51    liveins: $x0, $x152 53    ; CHECK-LABEL: name: full_extracts_from_build_vector_other_use54    ; CHECK: liveins: $x0, $x155    ; CHECK-NEXT: {{  $}}56    ; CHECK-NEXT: %arg1:_(s64) = COPY $x057    ; CHECK-NEXT: %arg2:_(s64) = COPY $x158    ; CHECK-NEXT: %bv:_(<2 x s64>) = G_BUILD_VECTOR %arg1(s64), %arg2(s64)59    ; CHECK-NEXT: $x0 = COPY %arg1(s64)60    ; CHECK-NEXT: $x1 = COPY %arg2(s64)61    ; CHECK-NEXT: $q0 = COPY %bv(<2 x s64>)62    ; CHECK-NEXT: RET_ReallyLR implicit $x063    %arg1:_(s64) = COPY $x064    %arg2:_(s64) = COPY $x165    %zero:_(s64) = G_CONSTANT i64 066    %one:_(s64) = G_CONSTANT i64 167    %bv:_(<2 x s64>) = G_BUILD_VECTOR %arg1(s64), %arg2(s64)68    %extract:_(s64) = G_EXTRACT_VECTOR_ELT %bv(<2 x s64>), %zero(s64)69    %extract2:_(s64) = G_EXTRACT_VECTOR_ELT %bv(<2 x s64>), %one(s64)70    $x0 = COPY %extract(s64)71    $x1 = COPY %extract2(s64)72    $q0 = COPY %bv(<2 x s64>)73    RET_ReallyLR implicit $x074 75...76---77name:            partial_extracts_from_build_vector_multiple_per_elt78alignment:       479tracksRegLiveness: true80liveins:81  - { reg: '$x0' }82  - { reg: '$x1' }83frameInfo:84  maxAlignment:    185  maxCallFrameSize: 086machineFunctionInfo: {}87body:             |88  bb.0:89    liveins: $x0, $x190 91    ; CHECK-LABEL: name: partial_extracts_from_build_vector_multiple_per_elt92    ; CHECK: liveins: $x0, $x193    ; CHECK-NEXT: {{  $}}94    ; CHECK-NEXT: %arg1:_(s64) = COPY $x095    ; CHECK-NEXT: %arg2:_(s64) = COPY $x196    ; CHECK-NEXT: $x0 = COPY %arg1(s64)97    ; CHECK-NEXT: $x1 = COPY %arg2(s64)98    ; CHECK-NEXT: $x2 = COPY %arg2(s64)99    ; CHECK-NEXT: RET_ReallyLR implicit $x0100    %arg1:_(s64) = COPY $x0101    %arg2:_(s64) = COPY $x1102    %zero:_(s64) = G_CONSTANT i64 0103    %one:_(s64) = G_CONSTANT i64 1104    %bv:_(<2 x s64>) = G_BUILD_VECTOR %arg1(s64), %arg2(s64)105    %extract:_(s64) = G_EXTRACT_VECTOR_ELT %bv(<2 x s64>), %zero(s64)106    %extract2:_(s64) = G_EXTRACT_VECTOR_ELT %bv(<2 x s64>), %one(s64)107    %extract3:_(s64) = G_EXTRACT_VECTOR_ELT %bv(<2 x s64>), %one(s64)108    $x0 = COPY %extract(s64)109    $x1 = COPY %extract2(s64)110    $x2 = COPY %extract3(s64)111    RET_ReallyLR implicit $x0112 113...114---115name:            full_extracts_from_build_vector_idx_out_of_range116alignment:       4117tracksRegLiveness: true118liveins:119  - { reg: '$x0' }120  - { reg: '$x1' }121frameInfo:122  maxAlignment:    1123  maxCallFrameSize: 0124machineFunctionInfo: {}125body:             |126  bb.0:127    liveins: $x0, $x1128 129    ; CHECK-LABEL: name: full_extracts_from_build_vector_idx_out_of_range130    ; CHECK: liveins: $x0, $x1131    ; CHECK-NEXT: {{  $}}132    ; CHECK-NEXT: %arg1:_(s64) = COPY $x0133    ; CHECK-NEXT: %extract2:_(s64) = G_IMPLICIT_DEF134    ; CHECK-NEXT: $x0 = COPY %arg1(s64)135    ; CHECK-NEXT: $x1 = COPY %extract2(s64)136    ; CHECK-NEXT: RET_ReallyLR implicit $x0137    %arg1:_(s64) = COPY $x0138    %arg2:_(s64) = COPY $x1139    %zero:_(s64) = G_CONSTANT i64 0140    %one:_(s64) = G_CONSTANT i64 1141    %two:_(s64) = G_CONSTANT i64 2142    %bv:_(<2 x s64>) = G_BUILD_VECTOR %arg1(s64), %arg2(s64)143    %extract:_(s64) = G_EXTRACT_VECTOR_ELT %bv(<2 x s64>), %zero(s64)144    %extract2:_(s64) = G_EXTRACT_VECTOR_ELT %bv(<2 x s64>), %two(s64)145    $x0 = COPY %extract(s64)146    $x1 = COPY %extract2(s64)147    RET_ReallyLR implicit $x0148 149...150