222 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN:llc %s -verify-machineinstrs -mtriple=aarch64-unknown-unknown -run-pass=legalizer -global-isel-abort=1 -o - | FileCheck %s3 4---5name: smin_s326alignment: 47tracksRegLiveness: true8liveins:9 - { reg: '$w0' }10 - { reg: '$w1' }11body: |12 bb.1:13 liveins: $w0, $w114 15 ; CHECK-LABEL: name: smin_s3216 ; CHECK: liveins: $w0, $w117 ; CHECK-NEXT: {{ $}}18 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w019 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w120 ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[COPY]](s32), [[COPY1]]21 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[COPY]], [[COPY1]]22 ; CHECK-NEXT: $w0 = COPY [[SELECT]](s32)23 ; CHECK-NEXT: RET_ReallyLR implicit $w024 %0:_(s32) = COPY $w025 %1:_(s32) = COPY $w126 %2:_(s32) = G_SMIN %0, %127 $w0 = COPY %2(s32)28 RET_ReallyLR implicit $w029 30...31---32name: smin_s6433alignment: 434tracksRegLiveness: true35liveins:36 - { reg: '$x0' }37 - { reg: '$x1' }38body: |39 bb.1:40 liveins: $x0, $x141 42 ; CHECK-LABEL: name: smin_s6443 ; CHECK: liveins: $x0, $x144 ; CHECK-NEXT: {{ $}}45 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x046 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x147 ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[COPY]](s64), [[COPY1]]48 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[ICMP]](s32), [[COPY]], [[COPY1]]49 ; CHECK-NEXT: $x0 = COPY [[SELECT]](s64)50 ; CHECK-NEXT: RET_ReallyLR implicit $x051 %0:_(s64) = COPY $x052 %1:_(s64) = COPY $x153 %2:_(s64) = G_SMIN %0, %154 $x0 = COPY %2(s64)55 RET_ReallyLR implicit $x056 57...58---59name: smax_s3260alignment: 461tracksRegLiveness: true62liveins:63 - { reg: '$w0' }64 - { reg: '$w1' }65body: |66 bb.1:67 liveins: $w0, $w168 69 ; CHECK-LABEL: name: smax_s3270 ; CHECK: liveins: $w0, $w171 ; CHECK-NEXT: {{ $}}72 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w073 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w174 ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[COPY]](s32), [[COPY1]]75 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[COPY]], [[COPY1]]76 ; CHECK-NEXT: $w0 = COPY [[SELECT]](s32)77 ; CHECK-NEXT: RET_ReallyLR implicit $w078 %0:_(s32) = COPY $w079 %1:_(s32) = COPY $w180 %2:_(s32) = G_SMAX %0, %181 $w0 = COPY %2(s32)82 RET_ReallyLR implicit $w083 84...85---86name: smax_s6487alignment: 488tracksRegLiveness: true89liveins:90 - { reg: '$x0' }91 - { reg: '$x1' }92body: |93 bb.1:94 liveins: $x0, $x195 96 ; CHECK-LABEL: name: smax_s6497 ; CHECK: liveins: $x0, $x198 ; CHECK-NEXT: {{ $}}99 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x0100 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1101 ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[COPY]](s64), [[COPY1]]102 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[ICMP]](s32), [[COPY]], [[COPY1]]103 ; CHECK-NEXT: $x0 = COPY [[SELECT]](s64)104 ; CHECK-NEXT: RET_ReallyLR implicit $x0105 %0:_(s64) = COPY $x0106 %1:_(s64) = COPY $x1107 %2:_(s64) = G_SMAX %0, %1108 $x0 = COPY %2(s64)109 RET_ReallyLR implicit $x0110 111...112 113 114---115name: umin_s32116alignment: 4117tracksRegLiveness: true118liveins:119 - { reg: '$w0' }120 - { reg: '$w1' }121body: |122 bb.1:123 liveins: $w0, $w1124 125 ; CHECK-LABEL: name: umin_s32126 ; CHECK: liveins: $w0, $w1127 ; CHECK-NEXT: {{ $}}128 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0129 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1130 ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[COPY]](s32), [[COPY1]]131 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[COPY]], [[COPY1]]132 ; CHECK-NEXT: $w0 = COPY [[SELECT]](s32)133 ; CHECK-NEXT: RET_ReallyLR implicit $w0134 %0:_(s32) = COPY $w0135 %1:_(s32) = COPY $w1136 %2:_(s32) = G_UMIN %0, %1137 $w0 = COPY %2(s32)138 RET_ReallyLR implicit $w0139 140...141---142name: umin_s64143alignment: 4144tracksRegLiveness: true145liveins:146 - { reg: '$x0' }147 - { reg: '$x1' }148body: |149 bb.1:150 liveins: $x0, $x1151 152 ; CHECK-LABEL: name: umin_s64153 ; CHECK: liveins: $x0, $x1154 ; CHECK-NEXT: {{ $}}155 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x0156 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1157 ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[COPY]](s64), [[COPY1]]158 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[ICMP]](s32), [[COPY]], [[COPY1]]159 ; CHECK-NEXT: $x0 = COPY [[SELECT]](s64)160 ; CHECK-NEXT: RET_ReallyLR implicit $x0161 %0:_(s64) = COPY $x0162 %1:_(s64) = COPY $x1163 %2:_(s64) = G_UMIN %0, %1164 $x0 = COPY %2(s64)165 RET_ReallyLR implicit $x0166 167...168---169name: umax_s32170alignment: 4171tracksRegLiveness: true172liveins:173 - { reg: '$w0' }174 - { reg: '$w1' }175body: |176 bb.1:177 liveins: $w0, $w1178 179 ; CHECK-LABEL: name: umax_s32180 ; CHECK: liveins: $w0, $w1181 ; CHECK-NEXT: {{ $}}182 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0183 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1184 ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[COPY]](s32), [[COPY1]]185 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[COPY]], [[COPY1]]186 ; CHECK-NEXT: $w0 = COPY [[SELECT]](s32)187 ; CHECK-NEXT: RET_ReallyLR implicit $w0188 %0:_(s32) = COPY $w0189 %1:_(s32) = COPY $w1190 %2:_(s32) = G_UMAX %0, %1191 $w0 = COPY %2(s32)192 RET_ReallyLR implicit $w0193 194...195---196name: umax_s64197alignment: 4198tracksRegLiveness: true199liveins:200 - { reg: '$x0' }201 - { reg: '$x1' }202body: |203 bb.1:204 liveins: $x0, $x1205 206 ; CHECK-LABEL: name: umax_s64207 ; CHECK: liveins: $x0, $x1208 ; CHECK-NEXT: {{ $}}209 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x0210 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1211 ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[COPY]](s64), [[COPY1]]212 ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[ICMP]](s32), [[COPY]], [[COPY1]]213 ; CHECK-NEXT: $x0 = COPY [[SELECT]](s64)214 ; CHECK-NEXT: RET_ReallyLR implicit $x0215 %0:_(s64) = COPY $x0216 %1:_(s64) = COPY $x1217 %2:_(s64) = G_UMAX %0, %1218 $x0 = COPY %2(s64)219 RET_ReallyLR implicit $x0220 221...222