420 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -run-pass=amdgpu-prelegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s3 4---5name: ushlsat_and_16tracksRegLiveness: true7body: |8 bb.0:9 liveins: $sgpr010 11 ; CHECK-LABEL: name: ushlsat_and_112 ; CHECK: liveins: $sgpr013 ; CHECK-NEXT: {{ $}}14 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr015 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 216 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 107374182017 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 418 ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s32) = G_USHLSAT [[COPY]], [[C2]](s32)19 ; CHECK-NEXT: [[USHLSAT1:%[0-9]+]]:_(s32) = G_USHLSAT [[C1]], [[C]](s32)20 ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[USHLSAT]], [[USHLSAT1]]21 ; CHECK-NEXT: $sgpr0 = COPY [[AND]](s32)22 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr023 %0:_(s32) = COPY $sgpr024 %2:_(s32) = G_CONSTANT i32 225 %4:_(s32) = G_CONSTANT i32 107374182026 %3:_(s32) = G_USHLSAT %0, %2(s32)27 %5:_(s32) = G_AND %3, %428 %6:_(s32) = G_USHLSAT %5, %2(s32)29 $sgpr0 = COPY %6(s32)30 SI_RETURN_TO_EPILOG implicit $sgpr031 32...33---34name: ushlsat_and_235tracksRegLiveness: true36body: |37 bb.0:38 liveins: $sgpr039 40 ; CHECK-LABEL: name: ushlsat_and_241 ; CHECK: liveins: $sgpr042 ; CHECK-NEXT: {{ $}}43 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr044 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 53687088045 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 346 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 847 ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s32) = G_USHLSAT [[COPY]], [[C2]](s32)48 ; CHECK-NEXT: [[USHLSAT1:%[0-9]+]]:_(s32) = G_USHLSAT [[C]], [[C1]](s32)49 ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[USHLSAT]], [[USHLSAT1]]50 ; CHECK-NEXT: $sgpr0 = COPY [[AND]](s32)51 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr052 %0:_(s32) = COPY $sgpr053 %2:_(s32) = G_CONSTANT i32 554 %4:_(s32) = G_CONSTANT i32 53687088055 %6:_(s32) = G_CONSTANT i32 356 %3:_(s32) = G_USHLSAT %0, %2(s32)57 %5:_(s32) = G_AND %3, %458 %7:_(s32) = G_USHLSAT %5, %6(s32)59 $sgpr0 = COPY %7(s32)60 SI_RETURN_TO_EPILOG implicit $sgpr061 62...63---64name: ushlsat_and_365tracksRegLiveness: true66body: |67 bb.0:68 liveins: $sgpr069 70 ; CHECK-LABEL: name: ushlsat_and_371 ; CHECK: liveins: $sgpr072 ; CHECK-NEXT: {{ $}}73 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr074 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 6553675 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 1676 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 1977 ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s32) = G_USHLSAT [[COPY]], [[C2]](s32)78 ; CHECK-NEXT: [[USHLSAT1:%[0-9]+]]:_(s32) = G_USHLSAT [[C]], [[C1]](s32)79 ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[USHLSAT]], [[USHLSAT1]]80 ; CHECK-NEXT: $sgpr0 = COPY [[AND]](s32)81 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr082 %0:_(s32) = COPY $sgpr083 %2:_(s32) = G_CONSTANT i32 384 %4:_(s32) = G_CONSTANT i32 6553685 %6:_(s32) = G_CONSTANT i32 1686 %3:_(s32) = G_USHLSAT %0, %2(s32)87 %5:_(s32) = G_AND %3, %488 %7:_(s32) = G_USHLSAT %5, %6(s32)89 $sgpr0 = COPY %7(s32)90 SI_RETURN_TO_EPILOG implicit $sgpr091 92...93---94name: ushlsat_or_195tracksRegLiveness: true96body: |97 bb.0:98 liveins: $sgpr099 100 ; CHECK-LABEL: name: ushlsat_or_1101 ; CHECK: liveins: $sgpr0102 ; CHECK-NEXT: {{ $}}103 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0104 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 2105 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 -1073741821106 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 4107 ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s32) = G_USHLSAT [[COPY]], [[C2]](s32)108 ; CHECK-NEXT: [[USHLSAT1:%[0-9]+]]:_(s32) = G_USHLSAT [[C1]], [[C]](s32)109 ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[USHLSAT]], [[USHLSAT1]]110 ; CHECK-NEXT: $sgpr0 = COPY [[OR]](s32)111 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0112 %0:_(s32) = COPY $sgpr0113 %2:_(s32) = G_CONSTANT i32 2114 %4:_(s32) = G_CONSTANT i32 -1073741821115 %3:_(s32) = G_USHLSAT %0, %2(s32)116 %5:_(s32) = G_OR %3, %4117 %6:_(s32) = G_USHLSAT %5, %2(s32)118 $sgpr0 = COPY %6(s32)119 SI_RETURN_TO_EPILOG implicit $sgpr0120 121...122---123name: ushlsat_or_2124tracksRegLiveness: true125body: |126 bb.0:127 liveins: $sgpr0128 129 ; CHECK-LABEL: name: ushlsat_or_2130 ; CHECK: liveins: $sgpr0131 ; CHECK-NEXT: {{ $}}132 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0133 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -536870881134 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 3135 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 8136 ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s32) = G_USHLSAT [[COPY]], [[C2]](s32)137 ; CHECK-NEXT: [[USHLSAT1:%[0-9]+]]:_(s32) = G_USHLSAT [[C]], [[C1]](s32)138 ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[USHLSAT]], [[USHLSAT1]]139 ; CHECK-NEXT: $sgpr0 = COPY [[OR]](s32)140 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0141 %0:_(s32) = COPY $sgpr0142 %2:_(s32) = G_CONSTANT i32 5143 %4:_(s32) = G_CONSTANT i32 -536870881144 %6:_(s32) = G_CONSTANT i32 3145 %3:_(s32) = G_USHLSAT %0, %2(s32)146 %5:_(s32) = G_OR %3, %4147 %7:_(s32) = G_USHLSAT %5, %6(s32)148 $sgpr0 = COPY %7(s32)149 SI_RETURN_TO_EPILOG implicit $sgpr0150 151...152---153name: ushlsat_or_3154tracksRegLiveness: true155body: |156 bb.0:157 liveins: $sgpr0158 159 ; CHECK-LABEL: name: ushlsat_or_3160 ; CHECK: liveins: $sgpr0161 ; CHECK-NEXT: {{ $}}162 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0163 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 65536164 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 16165 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 19166 ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s32) = G_USHLSAT [[COPY]], [[C2]](s32)167 ; CHECK-NEXT: [[USHLSAT1:%[0-9]+]]:_(s32) = G_USHLSAT [[C]], [[C1]](s32)168 ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[USHLSAT]], [[USHLSAT1]]169 ; CHECK-NEXT: $sgpr0 = COPY [[OR]](s32)170 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0171 %0:_(s32) = COPY $sgpr0172 %2:_(s32) = G_CONSTANT i32 3173 %4:_(s32) = G_CONSTANT i32 65536174 %6:_(s32) = G_CONSTANT i32 16175 %3:_(s32) = G_USHLSAT %0, %2(s32)176 %5:_(s32) = G_OR %3, %4177 %7:_(s32) = G_USHLSAT %5, %6(s32)178 $sgpr0 = COPY %7(s32)179 SI_RETURN_TO_EPILOG implicit $sgpr0180 181...182---183name: ushlsat_xor184tracksRegLiveness: true185body: |186 bb.0:187 liveins: $sgpr0188 189 ; CHECK-LABEL: name: ushlsat_xor190 ; CHECK: liveins: $sgpr0191 ; CHECK-NEXT: {{ $}}192 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0193 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 43690194 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 5195 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 8196 ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s32) = G_USHLSAT [[COPY]], [[C2]](s32)197 ; CHECK-NEXT: [[USHLSAT1:%[0-9]+]]:_(s32) = G_USHLSAT [[C]], [[C1]](s32)198 ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR [[USHLSAT]], [[USHLSAT1]]199 ; CHECK-NEXT: $sgpr0 = COPY [[XOR]](s32)200 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0201 %0:_(s32) = COPY $sgpr0202 %2:_(s32) = G_CONSTANT i32 3203 %4:_(s32) = G_CONSTANT i32 43690204 %6:_(s32) = G_CONSTANT i32 5205 %3:_(s32) = G_USHLSAT %0, %2(s32)206 %5:_(s32) = G_XOR %3, %4207 %7:_(s32) = G_USHLSAT %5, %6(s32)208 $sgpr0 = COPY %7(s32)209 SI_RETURN_TO_EPILOG implicit $sgpr0210 211...212---213name: sshlsat_and_1214tracksRegLiveness: true215body: |216 bb.0:217 liveins: $sgpr0218 219 ; CHECK-LABEL: name: sshlsat_and_1220 ; CHECK: liveins: $sgpr0221 ; CHECK-NEXT: {{ $}}222 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0223 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 2224 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 1073741820225 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 4226 ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s32) = G_SSHLSAT [[COPY]], [[C2]](s32)227 ; CHECK-NEXT: [[SSHLSAT1:%[0-9]+]]:_(s32) = G_SSHLSAT [[C1]], [[C]](s32)228 ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[SSHLSAT]], [[SSHLSAT1]]229 ; CHECK-NEXT: $sgpr0 = COPY [[AND]](s32)230 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0231 %0:_(s32) = COPY $sgpr0232 %2:_(s32) = G_CONSTANT i32 2233 %4:_(s32) = G_CONSTANT i32 1073741820234 %3:_(s32) = G_SSHLSAT %0, %2(s32)235 %5:_(s32) = G_AND %3, %4236 %6:_(s32) = G_SSHLSAT %5, %2(s32)237 $sgpr0 = COPY %6(s32)238 SI_RETURN_TO_EPILOG implicit $sgpr0239 240...241---242name: sshlsat_and_2243tracksRegLiveness: true244body: |245 bb.0:246 liveins: $sgpr0247 248 ; CHECK-LABEL: name: sshlsat_and_2249 ; CHECK: liveins: $sgpr0250 ; CHECK-NEXT: {{ $}}251 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0252 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 536870880253 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 3254 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 8255 ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s32) = G_SSHLSAT [[COPY]], [[C2]](s32)256 ; CHECK-NEXT: [[SSHLSAT1:%[0-9]+]]:_(s32) = G_SSHLSAT [[C]], [[C1]](s32)257 ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[SSHLSAT]], [[SSHLSAT1]]258 ; CHECK-NEXT: $sgpr0 = COPY [[AND]](s32)259 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0260 %0:_(s32) = COPY $sgpr0261 %2:_(s32) = G_CONSTANT i32 5262 %4:_(s32) = G_CONSTANT i32 536870880263 %6:_(s32) = G_CONSTANT i32 3264 %3:_(s32) = G_SSHLSAT %0, %2(s32)265 %5:_(s32) = G_AND %3, %4266 %7:_(s32) = G_SSHLSAT %5, %6(s32)267 $sgpr0 = COPY %7(s32)268 SI_RETURN_TO_EPILOG implicit $sgpr0269 270...271---272name: sshlsat_and_3273tracksRegLiveness: true274body: |275 bb.0:276 liveins: $sgpr0277 278 ; CHECK-LABEL: name: sshlsat_and_3279 ; CHECK: liveins: $sgpr0280 ; CHECK-NEXT: {{ $}}281 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0282 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 65536283 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 16284 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 19285 ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s32) = G_SSHLSAT [[COPY]], [[C2]](s32)286 ; CHECK-NEXT: [[SSHLSAT1:%[0-9]+]]:_(s32) = G_SSHLSAT [[C]], [[C1]](s32)287 ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[SSHLSAT]], [[SSHLSAT1]]288 ; CHECK-NEXT: $sgpr0 = COPY [[AND]](s32)289 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0290 %0:_(s32) = COPY $sgpr0291 %2:_(s32) = G_CONSTANT i32 3292 %4:_(s32) = G_CONSTANT i32 65536293 %6:_(s32) = G_CONSTANT i32 16294 %3:_(s32) = G_SSHLSAT %0, %2(s32)295 %5:_(s32) = G_AND %3, %4296 %7:_(s32) = G_SSHLSAT %5, %6(s32)297 $sgpr0 = COPY %7(s32)298 SI_RETURN_TO_EPILOG implicit $sgpr0299 300...301---302name: sshlsat_or_1303tracksRegLiveness: true304body: |305 bb.0:306 liveins: $sgpr0307 308 ; CHECK-LABEL: name: sshlsat_or_1309 ; CHECK: liveins: $sgpr0310 ; CHECK-NEXT: {{ $}}311 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0312 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 2313 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 -1073741821314 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 4315 ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s32) = G_SSHLSAT [[COPY]], [[C2]](s32)316 ; CHECK-NEXT: [[SSHLSAT1:%[0-9]+]]:_(s32) = G_SSHLSAT [[C1]], [[C]](s32)317 ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[SSHLSAT]], [[SSHLSAT1]]318 ; CHECK-NEXT: $sgpr0 = COPY [[OR]](s32)319 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0320 %0:_(s32) = COPY $sgpr0321 %2:_(s32) = G_CONSTANT i32 2322 %4:_(s32) = G_CONSTANT i32 -1073741821323 %3:_(s32) = G_SSHLSAT %0, %2(s32)324 %5:_(s32) = G_OR %3, %4325 %6:_(s32) = G_SSHLSAT %5, %2(s32)326 $sgpr0 = COPY %6(s32)327 SI_RETURN_TO_EPILOG implicit $sgpr0328 329...330---331name: sshlsat_or_2332tracksRegLiveness: true333body: |334 bb.0:335 liveins: $sgpr0336 337 ; CHECK-LABEL: name: sshlsat_or_2338 ; CHECK: liveins: $sgpr0339 ; CHECK-NEXT: {{ $}}340 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0341 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -536870881342 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 3343 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 8344 ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s32) = G_SSHLSAT [[COPY]], [[C2]](s32)345 ; CHECK-NEXT: [[SSHLSAT1:%[0-9]+]]:_(s32) = G_SSHLSAT [[C]], [[C1]](s32)346 ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[SSHLSAT]], [[SSHLSAT1]]347 ; CHECK-NEXT: $sgpr0 = COPY [[OR]](s32)348 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0349 %0:_(s32) = COPY $sgpr0350 %2:_(s32) = G_CONSTANT i32 5351 %4:_(s32) = G_CONSTANT i32 -536870881352 %6:_(s32) = G_CONSTANT i32 3353 %3:_(s32) = G_SSHLSAT %0, %2(s32)354 %5:_(s32) = G_OR %3, %4355 %7:_(s32) = G_SSHLSAT %5, %6(s32)356 $sgpr0 = COPY %7(s32)357 SI_RETURN_TO_EPILOG implicit $sgpr0358 359...360---361name: sshlsat_or_3362tracksRegLiveness: true363body: |364 bb.0:365 liveins: $sgpr0366 367 ; CHECK-LABEL: name: sshlsat_or_3368 ; CHECK: liveins: $sgpr0369 ; CHECK-NEXT: {{ $}}370 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0371 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 65536372 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 16373 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 19374 ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s32) = G_SSHLSAT [[COPY]], [[C2]](s32)375 ; CHECK-NEXT: [[SSHLSAT1:%[0-9]+]]:_(s32) = G_SSHLSAT [[C]], [[C1]](s32)376 ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[SSHLSAT]], [[SSHLSAT1]]377 ; CHECK-NEXT: $sgpr0 = COPY [[OR]](s32)378 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0379 %0:_(s32) = COPY $sgpr0380 %2:_(s32) = G_CONSTANT i32 3381 %4:_(s32) = G_CONSTANT i32 65536382 %6:_(s32) = G_CONSTANT i32 16383 %3:_(s32) = G_SSHLSAT %0, %2(s32)384 %5:_(s32) = G_OR %3, %4385 %7:_(s32) = G_SSHLSAT %5, %6(s32)386 $sgpr0 = COPY %7(s32)387 SI_RETURN_TO_EPILOG implicit $sgpr0388 389...390---391name: sshlsat_xor392tracksRegLiveness: true393body: |394 bb.0:395 liveins: $sgpr0396 397 ; CHECK-LABEL: name: sshlsat_xor398 ; CHECK: liveins: $sgpr0399 ; CHECK-NEXT: {{ $}}400 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0401 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 43690402 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 5403 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 8404 ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s32) = G_SSHLSAT [[COPY]], [[C2]](s32)405 ; CHECK-NEXT: [[SSHLSAT1:%[0-9]+]]:_(s32) = G_SSHLSAT [[C]], [[C1]](s32)406 ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR [[SSHLSAT]], [[SSHLSAT1]]407 ; CHECK-NEXT: $sgpr0 = COPY [[XOR]](s32)408 ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0409 %0:_(s32) = COPY $sgpr0410 %2:_(s32) = G_CONSTANT i32 3411 %4:_(s32) = G_CONSTANT i32 43690412 %6:_(s32) = G_CONSTANT i32 5413 %3:_(s32) = G_SSHLSAT %0, %2(s32)414 %5:_(s32) = G_XOR %3, %4415 %7:_(s32) = G_SSHLSAT %5, %6(s32)416 $sgpr0 = COPY %7(s32)417 SI_RETURN_TO_EPILOG implicit $sgpr0418 419...420