brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.9 KiB · d6288d1 Raw
195 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---4name:            f64_faddp5alignment:       46legalized:       true7tracksRegLiveness: true8liveins:9  - { reg: '$q0' }10body:             |11  bb.1:12    liveins: $q013 14    ; CHECK-LABEL: name: f64_faddp15    ; CHECK: liveins: $q016    ; CHECK-NEXT: {{  $}}17    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q018    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 019    ; CHECK-NEXT: [[EVEC:%[0-9]+]]:_(s64) = G_EXTRACT_VECTOR_ELT [[COPY]](<2 x s64>), [[C]](s64)20    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 121    ; CHECK-NEXT: [[EVEC1:%[0-9]+]]:_(s64) = G_EXTRACT_VECTOR_ELT [[COPY]](<2 x s64>), [[C1]](s64)22    ; CHECK-NEXT: [[FADD:%[0-9]+]]:_(s64) = G_FADD [[EVEC]], [[EVEC1]]23    ; CHECK-NEXT: $d0 = COPY [[FADD]](s64)24    ; CHECK-NEXT: RET_ReallyLR implicit $d025    %0:_(<2 x s64>) = COPY $q026    %2:_(<2 x s64>) = G_IMPLICIT_DEF27    %5:_(s64) = G_CONSTANT i64 028    %1:_(<2 x s64>) = G_SHUFFLE_VECTOR %0(<2 x s64>), %2, shufflemask(1, undef)29    %3:_(<2 x s64>) = G_FADD %1, %030    %4:_(s64) = G_EXTRACT_VECTOR_ELT %3(<2 x s64>), %5(s64)31    $d0 = COPY %4(s64)32    RET_ReallyLR implicit $d033 34...35---36name:            f64_faddp_commuted37alignment:       438legalized:       true39tracksRegLiveness: true40liveins:41  - { reg: '$q0' }42body:             |43  bb.1:44    liveins: $q045 46    ; CHECK-LABEL: name: f64_faddp_commuted47    ; CHECK: liveins: $q048    ; CHECK-NEXT: {{  $}}49    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q050    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 051    ; CHECK-NEXT: [[EVEC:%[0-9]+]]:_(s64) = G_EXTRACT_VECTOR_ELT [[COPY]](<2 x s64>), [[C]](s64)52    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 153    ; CHECK-NEXT: [[EVEC1:%[0-9]+]]:_(s64) = G_EXTRACT_VECTOR_ELT [[COPY]](<2 x s64>), [[C1]](s64)54    ; CHECK-NEXT: [[FADD:%[0-9]+]]:_(s64) = G_FADD [[EVEC]], [[EVEC1]]55    ; CHECK-NEXT: $d0 = COPY [[FADD]](s64)56    ; CHECK-NEXT: RET_ReallyLR implicit $d057    %0:_(<2 x s64>) = COPY $q058    %2:_(<2 x s64>) = G_IMPLICIT_DEF59    %5:_(s64) = G_CONSTANT i64 060    %1:_(<2 x s64>) = G_SHUFFLE_VECTOR %0(<2 x s64>), %2, shufflemask(1, undef)61    %3:_(<2 x s64>) = G_FADD %0, %162    %4:_(s64) = G_EXTRACT_VECTOR_ELT %3(<2 x s64>), %5(s64)63    $d0 = COPY %4(s64)64    RET_ReallyLR implicit $d065 66...67---68name:            f32_faddp69alignment:       470legalized:       true71tracksRegLiveness: true72liveins:73  - { reg: '$d0' }74body:             |75  bb.1:76    liveins: $d077 78    ; CHECK-LABEL: name: f32_faddp79    ; CHECK: liveins: $d080    ; CHECK-NEXT: {{  $}}81    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d082    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 083    ; CHECK-NEXT: [[EVEC:%[0-9]+]]:_(s32) = G_EXTRACT_VECTOR_ELT [[COPY]](<2 x s32>), [[C]](s64)84    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 185    ; CHECK-NEXT: [[EVEC1:%[0-9]+]]:_(s32) = G_EXTRACT_VECTOR_ELT [[COPY]](<2 x s32>), [[C1]](s64)86    ; CHECK-NEXT: [[FADD:%[0-9]+]]:_(s32) = G_FADD [[EVEC]], [[EVEC1]]87    ; CHECK-NEXT: $s0 = COPY [[FADD]](s32)88    ; CHECK-NEXT: RET_ReallyLR implicit $s089    %0:_(<2 x s32>) = COPY $d090    %2:_(<2 x s32>) = G_IMPLICIT_DEF91    %5:_(s64) = G_CONSTANT i64 092    %1:_(<2 x s32>) = G_SHUFFLE_VECTOR %0(<2 x s32>), %2, shufflemask(1, undef)93    %3:_(<2 x s32>) = G_FADD %1, %094    %4:_(s32) = G_EXTRACT_VECTOR_ELT %3(<2 x s32>), %5(s64)95    $s0 = COPY %4(s32)96    RET_ReallyLR implicit $s097 98...99---100name:            f32_faddp_commuted101alignment:       4102legalized:       true103tracksRegLiveness: true104liveins:105  - { reg: '$d0' }106body:             |107  bb.1:108    liveins: $d0109 110    ; CHECK-LABEL: name: f32_faddp_commuted111    ; CHECK: liveins: $d0112    ; CHECK-NEXT: {{  $}}113    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d0114    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0115    ; CHECK-NEXT: [[EVEC:%[0-9]+]]:_(s32) = G_EXTRACT_VECTOR_ELT [[COPY]](<2 x s32>), [[C]](s64)116    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 1117    ; CHECK-NEXT: [[EVEC1:%[0-9]+]]:_(s32) = G_EXTRACT_VECTOR_ELT [[COPY]](<2 x s32>), [[C1]](s64)118    ; CHECK-NEXT: [[FADD:%[0-9]+]]:_(s32) = G_FADD [[EVEC]], [[EVEC1]]119    ; CHECK-NEXT: $s0 = COPY [[FADD]](s32)120    ; CHECK-NEXT: RET_ReallyLR implicit $s0121    %0:_(<2 x s32>) = COPY $d0122    %2:_(<2 x s32>) = G_IMPLICIT_DEF123    %5:_(s64) = G_CONSTANT i64 0124    %1:_(<2 x s32>) = G_SHUFFLE_VECTOR %0(<2 x s32>), %2, shufflemask(1, undef)125    %3:_(<2 x s32>) = G_FADD %0, %1126    %4:_(s32) = G_EXTRACT_VECTOR_ELT %3(<2 x s32>), %5(s64)127    $s0 = COPY %4(s32)128    RET_ReallyLR implicit $s0129 130...131---132name:            wrong_extract_idx133alignment:       4134legalized:       true135tracksRegLiveness: true136liveins:137  - { reg: '$q0' }138body:             |139  bb.1:140    liveins: $q0141 142    ; CHECK-LABEL: name: wrong_extract_idx143    ; CHECK: liveins: $q0144    ; CHECK-NEXT: {{  $}}145    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q0146    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<2 x s64>) = G_IMPLICIT_DEF147    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1148    ; CHECK-NEXT: [[SHUF:%[0-9]+]]:_(<2 x s64>) = G_SHUFFLE_VECTOR [[COPY]](<2 x s64>), [[DEF]], shufflemask(1, undef)149    ; CHECK-NEXT: [[FADD:%[0-9]+]]:_(<2 x s64>) = G_FADD [[SHUF]], [[COPY]]150    ; CHECK-NEXT: [[EVEC:%[0-9]+]]:_(s64) = G_EXTRACT_VECTOR_ELT [[FADD]](<2 x s64>), [[C]](s64)151    ; CHECK-NEXT: $d0 = COPY [[EVEC]](s64)152    ; CHECK-NEXT: RET_ReallyLR implicit $d0153    %0:_(<2 x s64>) = COPY $q0154    %2:_(<2 x s64>) = G_IMPLICIT_DEF155    %5:_(s64) = G_CONSTANT i64 1156    %1:_(<2 x s64>) = G_SHUFFLE_VECTOR %0(<2 x s64>), %2, shufflemask(1, undef)157    %3:_(<2 x s64>) = G_FADD %1, %0158    %4:_(s64) = G_EXTRACT_VECTOR_ELT %3(<2 x s64>), %5(s64)159    $d0 = COPY %4(s64)160    RET_ReallyLR implicit $d0161 162...163---164name:            wrong_shuffle_mask165alignment:       4166legalized:       true167tracksRegLiveness: true168liveins:169  - { reg: '$q0' }170body:             |171  bb.1:172    liveins: $q0173 174    ; CHECK-LABEL: name: wrong_shuffle_mask175    ; CHECK: liveins: $q0176    ; CHECK-NEXT: {{  $}}177    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q0178    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<2 x s64>) = G_IMPLICIT_DEF179    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0180    ; CHECK-NEXT: [[SHUF:%[0-9]+]]:_(<2 x s64>) = G_SHUFFLE_VECTOR [[COPY]](<2 x s64>), [[DEF]], shufflemask(0, undef)181    ; CHECK-NEXT: [[FADD:%[0-9]+]]:_(<2 x s64>) = G_FADD [[SHUF]], [[COPY]]182    ; CHECK-NEXT: [[EVEC:%[0-9]+]]:_(s64) = G_EXTRACT_VECTOR_ELT [[FADD]](<2 x s64>), [[C]](s64)183    ; CHECK-NEXT: $d0 = COPY [[EVEC]](s64)184    ; CHECK-NEXT: RET_ReallyLR implicit $d0185    %0:_(<2 x s64>) = COPY $q0186    %2:_(<2 x s64>) = G_IMPLICIT_DEF187    %5:_(s64) = G_CONSTANT i64 0188    %1:_(<2 x s64>) = G_SHUFFLE_VECTOR %0(<2 x s64>), %2, shufflemask(0, undef)189    %3:_(<2 x s64>) = G_FADD %1, %0190    %4:_(s64) = G_EXTRACT_VECTOR_ELT %3(<2 x s64>), %5(s64)191    $d0 = COPY %4(s64)192    RET_ReallyLR implicit $d0193 194...195