brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.9 KiB · 46a7df4 Raw
134 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -run-pass=legalizer %s -o - \3# RUN:   | FileCheck --check-prefix=RV32 %s4 5---6name:            merge_i327body:             |8  bb.0.entry:9    liveins: $x1010    ; RV32-LABEL: name: merge_i3211    ; RV32: liveins: $x1012    ; RV32-NEXT: {{  $}}13    ; RV32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1014    ; RV32-NEXT: [[ASSERT_ZEXT:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY]], 1615    ; RV32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1616    ; RV32-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[ASSERT_ZEXT]], [[C]](s32)17    ; RV32-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[ASSERT_ZEXT]], [[SHL]]18    ; RV32-NEXT: $x10 = COPY [[OR]](s32)19    ; RV32-NEXT: PseudoRET implicit $x1020    %0:_(s32) = COPY $x1021    %1:_(s32) = G_ASSERT_ZEXT %0, 1622    %2:_(s16) = G_TRUNC %1(s32)23    %3:_(s32) = G_MERGE_VALUES %2(s16), %2(s16)24    $x10 = COPY %3(s32)25    PseudoRET implicit $x1026...27---28name:            merge_i6429body:             |30  bb.0.entry:31    liveins: $x1032    ; RV32-LABEL: name: merge_i6433    ; RV32: liveins: $x1034    ; RV32-NEXT: {{  $}}35    ; RV32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1036    ; RV32-NEXT: $x10 = COPY [[COPY]](s32)37    ; RV32-NEXT: PseudoRET implicit $x1038    %0:_(s32) = COPY $x1039    %1:_(s64) = G_MERGE_VALUES %0(s32), %0(s32)40    %2:_(s32) = G_TRUNC %1(s64)41    $x10 = COPY %2(s32)42    PseudoRET implicit $x1043...44---45name:            merge_i12846body:             |47  bb.0.entry:48    liveins: $x1049    ; RV32-LABEL: name: merge_i12850    ; RV32: liveins: $x1051    ; RV32-NEXT: {{  $}}52    ; RV32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1053    ; RV32-NEXT: $x10 = COPY [[COPY]](s32)54    ; RV32-NEXT: PseudoRET implicit $x1055    %1:_(s32) = COPY $x1056    %2:_(s64) = G_ZEXT %1(s32)57    %0:_(s128) = G_MERGE_VALUES %2(s64), %2(s64)58    %3:_(s32) = G_TRUNC %0(s128)59    $x10 = COPY %3(s32)60    PseudoRET implicit $x1061...62---63name:            unmerge_i3264body:             |65  bb.0.entry:66    liveins: $x1067    ; RV32-LABEL: name: unmerge_i3268    ; RV32: liveins: $x1069    ; RV32-NEXT: {{  $}}70    ; RV32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1071    ; RV32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 6553572    ; RV32-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]73    ; RV32-NEXT: $x10 = COPY [[AND]](s32)74    ; RV32-NEXT: PseudoRET implicit $x1075    %0:_(s32) = COPY $x1076    %2:_(s16), %3:_(s16) = G_UNMERGE_VALUES %0(s32)77    %4:_(s32) = G_ZEXT %2(s16)78    $x10 = COPY %4(s32)79    PseudoRET implicit $x1080...81---82name:            unmerge_i6483body:             |84  bb.0.entry:85    liveins: $x1086    ; RV32-LABEL: name: unmerge_i6487    ; RV32: liveins: $x1088    ; RV32-NEXT: {{  $}}89    ; RV32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1090    ; RV32-NEXT: $x10 = COPY [[COPY]](s32)91    ; RV32-NEXT: PseudoRET implicit $x1092    %0:_(s32) = COPY $x1093    %1:_(s64) = G_ZEXT %0(s32)94    %2:_(s32), %3:_(s32) = G_UNMERGE_VALUES %1(s64)95    $x10 = COPY %2(s32)96    PseudoRET implicit $x1097...98---99name:            unmerge_i128100body:             |101  bb.0.entry:102    liveins: $x10103    ; RV32-LABEL: name: unmerge_i128104    ; RV32: liveins: $x10105    ; RV32-NEXT: {{  $}}106    ; RV32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0107    ; RV32-NEXT: $x10 = COPY [[C]](s32)108    ; RV32-NEXT: PseudoRET implicit $x10109    %0:_(s32) = COPY $x10110    %1:_(s128) = G_ZEXT %0(s32)111    %2:_(s64), %3:_(s64) = G_UNMERGE_VALUES %1(s128)112    %4:_(s32) = G_TRUNC %3(s64)113    $x10 = COPY %4(s32)114    PseudoRET implicit $x10115...116---117name:            unmerge_i256118body:             |119  bb.0.entry:120    liveins: $x10121    ; RV32-LABEL: name: unmerge_i256122    ; RV32: liveins: $x10123    ; RV32-NEXT: {{  $}}124    ; RV32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10125    ; RV32-NEXT: $x10 = COPY [[COPY]](s32)126    ; RV32-NEXT: PseudoRET implicit $x10127    %0:_(s32) = COPY $x10128    %1:_(s256) = G_ZEXT %0(s32)129    %2:_(s128), %3:_(s128) = G_UNMERGE_VALUES %1(s256)130    %4:_(s32) = G_TRUNC %2(s128)131    $x10 = COPY %4(s32)132    PseudoRET implicit $x10133...134