126 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]+]]:_(p0) = COPY $x1014 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p0)15 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s32)16 ; CHECK-NEXT: PseudoRET implicit $x1017 %0:_(p0) = COPY $x1018 %1:_(s32) = G_PTRTOINT %0(p0)19 $x10 = COPY %1(s32)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]+]]:_(p0) = COPY $x1033 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p0)34 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s32)35 ; CHECK-NEXT: PseudoRET implicit $x1036 %0:_(p0) = COPY $x1037 %1:_(s16) = G_PTRTOINT %0(p0)38 %2:_(s32) = G_ANYEXT %1(s16)39 $x10 = COPY %2(s32)40 PseudoRET implicit $x1041 42...43---44name: p0_s845body: |46 bb.0:47 liveins: $x1048 49 ; CHECK-LABEL: name: p0_s850 ; CHECK: liveins: $x1051 ; CHECK-NEXT: {{ $}}52 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1053 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p0)54 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s32)55 ; CHECK-NEXT: PseudoRET implicit $x1056 %0:_(p0) = COPY $x1057 %1:_(s8) = G_PTRTOINT %0(p0)58 %2:_(s32) = G_ANYEXT %1(s8)59 $x10 = COPY %2(s32)60 PseudoRET implicit $x1061 62...63---64name: p0_s165body: |66 bb.0:67 liveins: $x1068 69 ; CHECK-LABEL: name: p0_s170 ; CHECK: liveins: $x1071 ; CHECK-NEXT: {{ $}}72 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1073 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p0)74 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s32)75 ; CHECK-NEXT: PseudoRET implicit $x1076 %0:_(p0) = COPY $x1077 %1:_(s1) = G_PTRTOINT %0(p0)78 %2:_(s32) = G_ANYEXT %1(s1)79 $x10 = COPY %2(s32)80 PseudoRET implicit $x1081 82...83---84name: p0_s6485body: |86 bb.0:87 liveins: $x1088 89 ; CHECK-LABEL: name: p0_s6490 ; CHECK: liveins: $x1091 ; CHECK-NEXT: {{ $}}92 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1093 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p0)94 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 095 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s32)96 ; CHECK-NEXT: $x11 = COPY [[C]](s32)97 ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x1198 %0:_(p0) = COPY $x1099 %1:_(s64) = G_PTRTOINT %0(p0)100 %2:_(s32), %3:_(s32) = G_UNMERGE_VALUES %1(s64)101 $x10 = COPY %2(s32)102 $x11 = COPY %3(s32)103 PseudoRET implicit $x10, implicit $x11104 105...106---107name: p0_s44108body: |109 bb.0:110 liveins: $x10111 112 ; CHECK-LABEL: name: p0_s44113 ; CHECK: liveins: $x10114 ; CHECK-NEXT: {{ $}}115 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10116 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p0)117 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s32)118 ; CHECK-NEXT: PseudoRET implicit $x10119 %0:_(p0) = COPY $x10120 %1:_(s44) = G_PTRTOINT %0(p0)121 %4:_(s32) = G_TRUNC %1122 $x10 = COPY %4(s32)123 PseudoRET implicit $x10124 125...126