146 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv64 -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s3 4---5name: p0_s646body: |7 bb.0:8 liveins: $x109 10 ; CHECK-LABEL: name: p0_s6411 ; CHECK: liveins: $x1012 ; CHECK-NEXT: {{ $}}13 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1014 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[COPY]](p0)15 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s64)16 ; CHECK-NEXT: PseudoRET implicit $x1017 %0:_(p0) = COPY $x1018 %1:_(s64) = G_PTRTOINT %0(p0)19 $x10 = COPY %1(s64)20 PseudoRET implicit $x1021 22...23---24name: p0_s3225body: |26 bb.0:27 liveins: $x1028 29 ; CHECK-LABEL: name: p0_s3230 ; CHECK: liveins: $x1031 ; CHECK-NEXT: {{ $}}32 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1033 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[COPY]](p0)34 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s64)35 ; CHECK-NEXT: PseudoRET implicit $x1036 %0:_(p0) = COPY $x1037 %1:_(s32) = G_PTRTOINT %0(p0)38 %2:_(s64) = G_ANYEXT %1(s32)39 $x10 = COPY %2(s64)40 PseudoRET implicit $x1041 42...43---44name: p0_s1645body: |46 bb.0:47 liveins: $x1048 49 ; CHECK-LABEL: name: p0_s1650 ; CHECK: liveins: $x1051 ; CHECK-NEXT: {{ $}}52 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1053 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[COPY]](p0)54 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s64)55 ; CHECK-NEXT: PseudoRET implicit $x1056 %0:_(p0) = COPY $x1057 %1:_(s16) = G_PTRTOINT %0(p0)58 %2:_(s64) = G_ANYEXT %1(s16)59 $x10 = COPY %2(s64)60 PseudoRET implicit $x1061 62...63---64name: p0_s865body: |66 bb.0:67 liveins: $x1068 69 ; CHECK-LABEL: name: p0_s870 ; CHECK: liveins: $x1071 ; CHECK-NEXT: {{ $}}72 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1073 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[COPY]](p0)74 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s64)75 ; CHECK-NEXT: PseudoRET implicit $x1076 %0:_(p0) = COPY $x1077 %1:_(s8) = G_PTRTOINT %0(p0)78 %2:_(s64) = G_ANYEXT %1(s8)79 $x10 = COPY %2(s64)80 PseudoRET implicit $x1081 82...83---84name: p0_s185body: |86 bb.0:87 liveins: $x1088 89 ; CHECK-LABEL: name: p0_s190 ; CHECK: liveins: $x1091 ; CHECK-NEXT: {{ $}}92 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1093 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[COPY]](p0)94 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s64)95 ; CHECK-NEXT: PseudoRET implicit $x1096 %0:_(p0) = COPY $x1097 %1:_(s1) = G_PTRTOINT %0(p0)98 %2:_(s64) = G_ANYEXT %1(s1)99 $x10 = COPY %2(s64)100 PseudoRET implicit $x10101 102...103---104name: p0_s128105body: |106 bb.0:107 liveins: $x10108 109 ; CHECK-LABEL: name: p0_s128110 ; CHECK: liveins: $x10111 ; CHECK-NEXT: {{ $}}112 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10113 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[COPY]](p0)114 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0115 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s64)116 ; CHECK-NEXT: $x11 = COPY [[C]](s64)117 ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11118 %0:_(p0) = COPY $x10119 %1:_(s128) = G_PTRTOINT %0(p0)120 %2:_(s64), %3:_(s64) = G_UNMERGE_VALUES %1(s128)121 $x10 = COPY %2(s64)122 $x11 = COPY %3(s64)123 PseudoRET implicit $x10, implicit $x11124 125...126---127name: p0_s88128body: |129 bb.0:130 liveins: $x10131 132 ; CHECK-LABEL: name: p0_s88133 ; CHECK: liveins: $x10134 ; CHECK-NEXT: {{ $}}135 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10136 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[COPY]](p0)137 ; CHECK-NEXT: $x10 = COPY [[PTRTOINT]](s64)138 ; CHECK-NEXT: PseudoRET implicit $x10139 %0:_(p0) = COPY $x10140 %1:_(s88) = G_PTRTOINT %0(p0)141 %4:_(s64) = G_TRUNC %1142 $x10 = COPY %4(s64)143 PseudoRET implicit $x10144 145...146