132 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s3 4---5name: p0_s326body: |7 bb.0:8 liveins: $x109 10 ; CHECK-LABEL: name: p0_s3211 ; CHECK: liveins: $x1012 ; CHECK-NEXT: {{ $}}13 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1014 ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[COPY]](s32)15 ; CHECK-NEXT: $x10 = COPY [[INTTOPTR]](p0)16 ; CHECK-NEXT: PseudoRET implicit $x1017 %0:_(s32) = COPY $x1018 %1:_(p0) = G_INTTOPTR %0(s32)19 $x10 = COPY %1(p0)20 PseudoRET implicit $x1021 22...23---24name: p0_s1625body: |26 bb.0:27 liveins: $x1028 29 ; CHECK-LABEL: name: p0_s1630 ; CHECK: liveins: $x1031 ; CHECK-NEXT: {{ $}}32 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1033 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 6553534 ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]35 ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[AND]](s32)36 ; CHECK-NEXT: $x10 = COPY [[INTTOPTR]](p0)37 ; CHECK-NEXT: PseudoRET implicit $x1038 %1:_(s32) = COPY $x1039 %0:_(s16) = G_TRUNC %1(s32)40 %2:_(p0) = G_INTTOPTR %0(s16)41 $x10 = COPY %2(p0)42 PseudoRET implicit $x1043 44...45---46name: p0_s847body: |48 bb.0:49 liveins: $x1050 51 ; CHECK-LABEL: name: p0_s852 ; CHECK: liveins: $x1053 ; CHECK-NEXT: {{ $}}54 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1055 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 25556 ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]57 ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[AND]](s32)58 ; CHECK-NEXT: $x10 = COPY [[INTTOPTR]](p0)59 ; CHECK-NEXT: PseudoRET implicit $x1060 %1:_(s32) = COPY $x1061 %0:_(s8) = G_TRUNC %1(s32)62 %2:_(p0) = G_INTTOPTR %0(s8)63 $x10 = COPY %2(p0)64 PseudoRET implicit $x1065 66...67---68name: p0_s169body: |70 bb.0:71 liveins: $x1072 73 ; CHECK-LABEL: name: p0_s174 ; CHECK: liveins: $x1075 ; CHECK-NEXT: {{ $}}76 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1077 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 178 ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]79 ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[AND]](s32)80 ; CHECK-NEXT: $x10 = COPY [[INTTOPTR]](p0)81 ; CHECK-NEXT: PseudoRET implicit $x1082 %1:_(s32) = COPY $x1083 %0:_(s1) = G_TRUNC %1(s32)84 %2:_(p0) = G_INTTOPTR %0(s1)85 $x10 = COPY %2(p0)86 PseudoRET implicit $x1087 88...89---90name: p0_s6491body: |92 bb.0:93 liveins: $x10, $x1194 95 ; CHECK-LABEL: name: p0_s6496 ; CHECK: liveins: $x10, $x1197 ; CHECK-NEXT: {{ $}}98 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1099 ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[COPY]](s32)100 ; CHECK-NEXT: $x10 = COPY [[INTTOPTR]](p0)101 ; CHECK-NEXT: PseudoRET implicit $x10102 %1:_(s32) = COPY $x10103 %2:_(s32) = COPY $x11104 %0:_(s64) = G_MERGE_VALUES %1(s32), %2(s32)105 %3:_(p0) = G_INTTOPTR %0(s64)106 $x10 = COPY %3(p0)107 PseudoRET implicit $x10108 109...110---111name: p0_s44112body: |113 bb.0:114 liveins: $x10, $x11115 116 ; CHECK-LABEL: name: p0_s44117 ; CHECK: liveins: $x10, $x11118 ; CHECK-NEXT: {{ $}}119 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10120 ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[COPY]](s32)121 ; CHECK-NEXT: $x10 = COPY [[INTTOPTR]](p0)122 ; CHECK-NEXT: PseudoRET implicit $x10123 %1:_(s32) = COPY $x10124 %2:_(s32) = COPY $x11125 %3:_(s64) = G_MERGE_VALUES %1(s32), %2(s32)126 %0:_(s44) = G_TRUNC %3(s64)127 %4:_(p0) = G_INTTOPTR %0(s44)128 $x10 = COPY %4(p0)129 PseudoRET implicit $x10130 131...132