brintos

brintos / llvm-project-archived public Read only

0
0
Text · 14.8 KiB · 990d830 Raw
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