brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.9 KiB · 66c8c2e Raw
187 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -run-pass=regbankselect -verify-machineinstrs %s -o - | FileCheck %s3#4# Verify register banks for G_DUP.5#6 7...8---9name:            v4s32_gpr10alignment:       411legalized:       true12tracksRegLiveness: true13body:             |14  bb.0.entry:15    liveins: $w016 17    ; CHECK-LABEL: name: v4s32_gpr18    ; CHECK: liveins: $w019    ; CHECK-NEXT: {{  $}}20    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr(s32) = COPY $w021    ; CHECK-NEXT: [[DUP:%[0-9]+]]:fpr(<4 x s32>) = G_DUP [[COPY]](s32)22    ; CHECK-NEXT: $q0 = COPY [[DUP]](<4 x s32>)23    ; CHECK-NEXT: RET_ReallyLR implicit $q024    %0:_(s32) = COPY $w025    %4:_(<4 x s32>) = G_DUP %0(s32)26    $q0 = COPY %4(<4 x s32>)27    RET_ReallyLR implicit $q028 29...30---31name:            v4s64_gpr32alignment:       433legalized:       true34tracksRegLiveness: true35body:             |36  bb.0.entry:37    liveins: $x038 39    ; CHECK-LABEL: name: v4s64_gpr40    ; CHECK: liveins: $x041    ; CHECK-NEXT: {{  $}}42    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr(s64) = COPY $x043    ; CHECK-NEXT: [[DUP:%[0-9]+]]:fpr(<2 x s64>) = G_DUP [[COPY]](s64)44    ; CHECK-NEXT: $q0 = COPY [[DUP]](<2 x s64>)45    ; CHECK-NEXT: RET_ReallyLR implicit $q046    %0:_(s64) = COPY $x047    %4:_(<2 x s64>) = G_DUP %0(s64)48    $q0 = COPY %4(<2 x s64>)49    RET_ReallyLR implicit $q050 51...52---53name:            v2s32_gpr54alignment:       455legalized:       true56tracksRegLiveness: true57body:             |58  bb.0.entry:59    liveins: $w060 61    ; CHECK-LABEL: name: v2s32_gpr62    ; CHECK: liveins: $w063    ; CHECK-NEXT: {{  $}}64    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr(s32) = COPY $w065    ; CHECK-NEXT: [[DUP:%[0-9]+]]:fpr(<2 x s32>) = G_DUP [[COPY]](s32)66    ; CHECK-NEXT: $d0 = COPY [[DUP]](<2 x s32>)67    ; CHECK-NEXT: RET_ReallyLR implicit $d068    %0:_(s32) = COPY $w069    %4:_(<2 x s32>) = G_DUP %0(s32)70    $d0 = COPY %4(<2 x s32>)71    RET_ReallyLR implicit $d072 73...74---75name:            v4s32_fpr76alignment:       477legalized:       true78tracksRegLiveness: true79body:             |80  bb.0.entry:81    liveins: $s082 83    ; CHECK-LABEL: name: v4s32_fpr84    ; CHECK: liveins: $s085    ; CHECK-NEXT: {{  $}}86    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(s32) = COPY $s087    ; CHECK-NEXT: [[DUP:%[0-9]+]]:fpr(<4 x s32>) = G_DUP [[COPY]](s32)88    ; CHECK-NEXT: $q0 = COPY [[DUP]](<4 x s32>)89    ; CHECK-NEXT: RET_ReallyLR implicit $q090    %0:_(s32) = COPY $s091    %4:_(<4 x s32>) = G_DUP %0(s32)92    $q0 = COPY %4(<4 x s32>)93    RET_ReallyLR implicit $q094 95...96---97name:            v2s64_fpr98alignment:       499legalized:       true100tracksRegLiveness: true101body:             |102  bb.0.entry:103    liveins: $d0104 105    ; CHECK-LABEL: name: v2s64_fpr106    ; CHECK: liveins: $d0107    ; CHECK-NEXT: {{  $}}108    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(s64) = COPY $d0109    ; CHECK-NEXT: [[DUP:%[0-9]+]]:fpr(<2 x s64>) = G_DUP [[COPY]](s64)110    ; CHECK-NEXT: $q0 = COPY [[DUP]](<2 x s64>)111    ; CHECK-NEXT: RET_ReallyLR implicit $q0112    %0:_(s64) = COPY $d0113    %4:_(<2 x s64>) = G_DUP %0(s64)114    $q0 = COPY %4(<2 x s64>)115    RET_ReallyLR implicit $q0116 117...118---119name:            v2s32_fpr120alignment:       4121legalized:       true122tracksRegLiveness: true123body:             |124  bb.0.entry:125    liveins: $s0126 127    ; CHECK-LABEL: name: v2s32_fpr128    ; CHECK: liveins: $s0129    ; CHECK-NEXT: {{  $}}130    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(s32) = COPY $s0131    ; CHECK-NEXT: [[DUP:%[0-9]+]]:fpr(<2 x s32>) = G_DUP [[COPY]](s32)132    ; CHECK-NEXT: $d0 = COPY [[DUP]](<2 x s32>)133    ; CHECK-NEXT: RET_ReallyLR implicit $d0134    %0:_(s32) = COPY $s0135    %4:_(<2 x s32>) = G_DUP %0(s32)136    $d0 = COPY %4(<2 x s32>)137    RET_ReallyLR implicit $d0138 139...140---141name:            v2s64_fpr_copy142alignment:       4143legalized:       true144tracksRegLiveness: true145body:             |146  bb.0.entry:147    liveins: $d0148 149    ; CHECK-LABEL: name: v2s64_fpr_copy150    ; CHECK: liveins: $d0151    ; CHECK-NEXT: {{  $}}152    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(s64) = COPY $d0153    ; CHECK-NEXT: [[DUP:%[0-9]+]]:fpr(<2 x s64>) = G_DUP [[COPY]](s64)154    ; CHECK-NEXT: $q0 = COPY [[DUP]](<2 x s64>)155    ; CHECK-NEXT: RET_ReallyLR implicit $q0156    %0:_(s64) = COPY $d0157    %6:_(<2 x s64>) = G_DUP %0(s64)158    $q0 = COPY %6(<2 x s64>)159    RET_ReallyLR implicit $q0160 161...162---163name:            v416s8_gpr164alignment:       4165legalized:       true166tracksRegLiveness: true167body:             |168  bb.0.entry:169    liveins: $w0170 171    ; CHECK-LABEL: name: v416s8_gpr172    ; CHECK: liveins: $w0173    ; CHECK-NEXT: {{  $}}174    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr(s32) = COPY $w0175    ; CHECK-NEXT: %trunc:gpr(s8) = G_TRUNC [[COPY]](s32)176    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:gpr(s32) = G_ANYEXT %trunc(s8)177    ; CHECK-NEXT: [[DUP:%[0-9]+]]:fpr(<16 x s8>) = G_DUP [[ANYEXT]](s32)178    ; CHECK-NEXT: $q0 = COPY [[DUP]](<16 x s8>)179    ; CHECK-NEXT: RET_ReallyLR implicit $q0180    %0:_(s32) = COPY $w0181    %trunc:_(s8) = G_TRUNC %0(s32)182    %1:_(<16 x s8>) = G_DUP %trunc(s8)183    $q0 = COPY %1(<16 x s8>)184    RET_ReallyLR implicit $q0185 186...187