brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.7 KiB · 77fb05e Raw
243 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv64 -run-pass=regbankselect \3# RUN:   -simplify-mir -verify-machineinstrs %s \4# RUN:   -o - | FileCheck -check-prefix=RV64I %s5 6---7name:            load_i88legalized:       true9tracksRegLiveness: true10body:             |11  bb.0:12    liveins: $x1013 14    ; RV64I-LABEL: name: load_i815    ; RV64I: liveins: $x1016    ; RV64I-NEXT: {{  $}}17    ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x1018    ; RV64I-NEXT: [[LOAD:%[0-9]+]]:gprb(s32) = G_LOAD [[COPY]](p0) :: (load (s8))19    ; RV64I-NEXT: [[ANYEXT:%[0-9]+]]:gprb(s64) = G_ANYEXT [[LOAD]](s32)20    ; RV64I-NEXT: $x10 = COPY [[ANYEXT]](s64)21    ; RV64I-NEXT: PseudoRET implicit $x1022    %0:_(p0) = COPY $x1023    %3:_(s32) = G_LOAD %0(p0) :: (load (s8))24    %2:_(s64) = G_ANYEXT %3(s32)25    $x10 = COPY %2(s64)26    PseudoRET implicit $x1027 28...29---30name:            load_i1631legalized:       true32tracksRegLiveness: true33body:             |34  bb.0:35    liveins: $x1036 37    ; RV64I-LABEL: name: load_i1638    ; RV64I: liveins: $x1039    ; RV64I-NEXT: {{  $}}40    ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x1041    ; RV64I-NEXT: [[LOAD:%[0-9]+]]:gprb(s32) = G_LOAD [[COPY]](p0) :: (load (s16))42    ; RV64I-NEXT: [[ANYEXT:%[0-9]+]]:gprb(s64) = G_ANYEXT [[LOAD]](s32)43    ; RV64I-NEXT: $x10 = COPY [[ANYEXT]](s64)44    ; RV64I-NEXT: PseudoRET implicit $x1045    %0:_(p0) = COPY $x1046    %3:_(s32) = G_LOAD %0(p0) :: (load (s16))47    %2:_(s64) = G_ANYEXT %3(s32)48    $x10 = COPY %2(s64)49    PseudoRET implicit $x1050 51...52---53name:            load_i3254legalized:       true55tracksRegLiveness: true56body:             |57  bb.0:58    liveins: $x1059 60    ; RV64I-LABEL: name: load_i3261    ; RV64I: liveins: $x1062    ; RV64I-NEXT: {{  $}}63    ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x1064    ; RV64I-NEXT: [[LOAD:%[0-9]+]]:gprb(s32) = G_LOAD [[COPY]](p0) :: (load (s32))65    ; RV64I-NEXT: [[ANYEXT:%[0-9]+]]:gprb(s64) = G_ANYEXT [[LOAD]](s32)66    ; RV64I-NEXT: $x10 = COPY [[ANYEXT]](s64)67    ; RV64I-NEXT: PseudoRET implicit $x1068    %0:_(p0) = COPY $x1069    %1:_(s32) = G_LOAD %0(p0) :: (load (s32))70    %2:_(s64) = G_ANYEXT %1(s32)71    $x10 = COPY %2(s64)72    PseudoRET implicit $x1073 74...75---76name:            load_i6477legalized:       true78tracksRegLiveness: true79body:             |80  bb.0:81    liveins: $x1082 83    ; RV64I-LABEL: name: load_i6484    ; RV64I: liveins: $x1085    ; RV64I-NEXT: {{  $}}86    ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x1087    ; RV64I-NEXT: [[LOAD:%[0-9]+]]:gprb(s64) = G_LOAD [[COPY]](p0) :: (load (s64))88    ; RV64I-NEXT: $x10 = COPY [[LOAD]](s64)89    ; RV64I-NEXT: PseudoRET implicit $x1090    %0:_(p0) = COPY $x1091    %1:_(s64) = G_LOAD %0(p0) :: (load (s64))92    $x10 = COPY %1(s64)93    PseudoRET implicit $x1094 95...96---97name:            load_ptr98legalized:       true99tracksRegLiveness: true100body:             |101  bb.0:102    liveins: $x10103 104    ; RV64I-LABEL: name: load_ptr105    ; RV64I: liveins: $x10106    ; RV64I-NEXT: {{  $}}107    ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10108    ; RV64I-NEXT: [[LOAD:%[0-9]+]]:gprb(p0) = G_LOAD [[COPY]](p0) :: (load (p0))109    ; RV64I-NEXT: $x10 = COPY [[LOAD]](p0)110    ; RV64I-NEXT: PseudoRET implicit $x10111    %0:_(p0) = COPY $x10112    %1:_(p0) = G_LOAD %0(p0) :: (load (p0))113    $x10 = COPY %1(p0)114    PseudoRET implicit $x10115 116...117---118name:            zextload_i8119legalized:       true120tracksRegLiveness: true121body:             |122  bb.0:123    liveins: $x10124 125    ; RV64I-LABEL: name: zextload_i8126    ; RV64I: liveins: $x10127    ; RV64I-NEXT: {{  $}}128    ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10129    ; RV64I-NEXT: [[ZEXTLOAD:%[0-9]+]]:gprb(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s8))130    ; RV64I-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)131    ; RV64I-NEXT: PseudoRET implicit $x10132    %0:_(p0) = COPY $x10133    %3:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s8))134    $x10 = COPY %3(s64)135    PseudoRET implicit $x10136 137...138---139name:            zextload_i16140legalized:       true141tracksRegLiveness: true142body:             |143  bb.0:144    liveins: $x10145 146    ; RV64I-LABEL: name: zextload_i16147    ; RV64I: liveins: $x10148    ; RV64I-NEXT: {{  $}}149    ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10150    ; RV64I-NEXT: [[ZEXTLOAD:%[0-9]+]]:gprb(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s16))151    ; RV64I-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)152    ; RV64I-NEXT: PseudoRET implicit $x10153    %0:_(p0) = COPY $x10154    %3:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s16))155    $x10 = COPY %3(s64)156    PseudoRET implicit $x10157 158...159---160name:            zextload_i32161legalized:       true162tracksRegLiveness: true163body:             |164  bb.0:165    liveins: $x10166 167    ; RV64I-LABEL: name: zextload_i32168    ; RV64I: liveins: $x10169    ; RV64I-NEXT: {{  $}}170    ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10171    ; RV64I-NEXT: [[ZEXTLOAD:%[0-9]+]]:gprb(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s32))172    ; RV64I-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)173    ; RV64I-NEXT: PseudoRET implicit $x10174    %0:_(p0) = COPY $x10175    %1:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s32))176    $x10 = COPY %1(s64)177    PseudoRET implicit $x10178 179...180---181name:            sextload_i8182legalized:       true183tracksRegLiveness: true184body:             |185  bb.0:186    liveins: $x10187 188    ; RV64I-LABEL: name: sextload_i8189    ; RV64I: liveins: $x10190    ; RV64I-NEXT: {{  $}}191    ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10192    ; RV64I-NEXT: [[SEXTLOAD:%[0-9]+]]:gprb(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s8))193    ; RV64I-NEXT: $x10 = COPY [[SEXTLOAD]](s64)194    ; RV64I-NEXT: PseudoRET implicit $x10195    %0:_(p0) = COPY $x10196    %3:_(s64) = G_SEXTLOAD %0(p0) :: (load (s8))197    $x10 = COPY %3(s64)198    PseudoRET implicit $x10199 200...201---202name:            sextload_i16203legalized:       true204tracksRegLiveness: true205body:             |206  bb.0:207    liveins: $x10208 209    ; RV64I-LABEL: name: sextload_i16210    ; RV64I: liveins: $x10211    ; RV64I-NEXT: {{  $}}212    ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10213    ; RV64I-NEXT: [[SEXTLOAD:%[0-9]+]]:gprb(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s16))214    ; RV64I-NEXT: $x10 = COPY [[SEXTLOAD]](s64)215    ; RV64I-NEXT: PseudoRET implicit $x10216    %0:_(p0) = COPY $x10217    %3:_(s64) = G_SEXTLOAD %0(p0) :: (load (s16))218    $x10 = COPY %3(s64)219    PseudoRET implicit $x10220 221...222---223name:            sextload_i32224legalized:       true225tracksRegLiveness: true226body:             |227  bb.0:228    liveins: $x10229 230    ; RV64I-LABEL: name: sextload_i32231    ; RV64I: liveins: $x10232    ; RV64I-NEXT: {{  $}}233    ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10234    ; RV64I-NEXT: [[SEXTLOAD:%[0-9]+]]:gprb(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s32))235    ; RV64I-NEXT: $x10 = COPY [[SEXTLOAD]](s64)236    ; RV64I-NEXT: PseudoRET implicit $x10237    %0:_(p0) = COPY $x10238    %1:_(s64) = G_SEXTLOAD %0(p0) :: (load (s32))239    $x10 = COPY %1(s64)240    PseudoRET implicit $x10241 242...243