169 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck %s3# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck %s4 5---6name: fshr_sss7legalized: true8 9body: |10 bb.0:11 liveins: $sgpr0, $sgpr1, $sgpr212 ; CHECK-LABEL: name: fshr_sss13 ; CHECK: liveins: $sgpr0, $sgpr1, $sgpr214 ; CHECK-NEXT: {{ $}}15 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr016 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr117 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr218 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)19 ; CHECK-NEXT: [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)20 ; CHECK-NEXT: [[COPY5:%[0-9]+]]:vgpr(s32) = COPY [[COPY2]](s32)21 ; CHECK-NEXT: [[FSHR:%[0-9]+]]:vgpr(s32) = G_FSHR [[COPY3]], [[COPY4]], [[COPY5]](s32)22 %0:_(s32) = COPY $sgpr023 %1:_(s32) = COPY $sgpr124 %2:_(s32) = COPY $sgpr225 %3:_(s32) = G_FSHR %0, %1, %226...27---28name: fshr_vss29legalized: true30 31body: |32 bb.0:33 liveins: $vgpr0, $sgpr0, $sgpr134 ; CHECK-LABEL: name: fshr_vss35 ; CHECK: liveins: $vgpr0, $sgpr0, $sgpr136 ; CHECK-NEXT: {{ $}}37 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr038 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr039 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr140 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)41 ; CHECK-NEXT: [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[COPY2]](s32)42 ; CHECK-NEXT: [[FSHR:%[0-9]+]]:vgpr(s32) = G_FSHR [[COPY]], [[COPY3]], [[COPY4]](s32)43 %0:_(s32) = COPY $vgpr044 %1:_(s32) = COPY $sgpr045 %2:_(s32) = COPY $sgpr146 %3:_(s32) = G_FSHR %0, %1, %247...48---49name: fshr_svs50legalized: true51 52body: |53 bb.0:54 liveins: $sgpr0, $vgpr0, $sgpr155 ; CHECK-LABEL: name: fshr_svs56 ; CHECK: liveins: $sgpr0, $vgpr0, $sgpr157 ; CHECK-NEXT: {{ $}}58 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr059 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr060 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr161 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)62 ; CHECK-NEXT: [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[COPY2]](s32)63 ; CHECK-NEXT: [[FSHR:%[0-9]+]]:vgpr(s32) = G_FSHR [[COPY3]], [[COPY1]], [[COPY4]](s32)64 %0:_(s32) = COPY $sgpr065 %1:_(s32) = COPY $vgpr066 %2:_(s32) = COPY $sgpr167 %3:_(s32) = G_FSHR %0, %1, %268...69---70name: fshr_ssv71legalized: true72 73body: |74 bb.0:75 liveins: $sgpr0, $sgpr1, $vgpr076 ; CHECK-LABEL: name: fshr_ssv77 ; CHECK: liveins: $sgpr0, $sgpr1, $vgpr078 ; CHECK-NEXT: {{ $}}79 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr080 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr181 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr082 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)83 ; CHECK-NEXT: [[COPY4:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)84 ; CHECK-NEXT: [[FSHR:%[0-9]+]]:vgpr(s32) = G_FSHR [[COPY3]], [[COPY4]], [[COPY2]](s32)85 %0:_(s32) = COPY $sgpr086 %1:_(s32) = COPY $sgpr187 %2:_(s32) = COPY $vgpr088 %3:_(s32) = G_FSHR %0, %1, %289...90---91name: fshr_vvs92legalized: true93 94body: |95 bb.0:96 liveins: $vgpr0, $vgpr1, $sgpr097 ; CHECK-LABEL: name: fshr_vvs98 ; CHECK: liveins: $vgpr0, $vgpr1, $sgpr099 ; CHECK-NEXT: {{ $}}100 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0101 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1102 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:sgpr(s32) = COPY $sgpr0103 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY2]](s32)104 ; CHECK-NEXT: [[FSHR:%[0-9]+]]:vgpr(s32) = G_FSHR [[COPY]], [[COPY1]], [[COPY3]](s32)105 %0:_(s32) = COPY $vgpr0106 %1:_(s32) = COPY $vgpr1107 %2:_(s32) = COPY $sgpr0108 %3:_(s32) = G_FSHR %0, %1, %2109...110---111name: fshr_vsv112legalized: true113 114body: |115 bb.0:116 liveins: $vgpr0, $sgpr0, $vgpr1117 ; CHECK-LABEL: name: fshr_vsv118 ; CHECK: liveins: $vgpr0, $sgpr0, $vgpr1119 ; CHECK-NEXT: {{ $}}120 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0121 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1122 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr1123 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)124 ; CHECK-NEXT: [[FSHR:%[0-9]+]]:vgpr(s32) = G_FSHR [[COPY]], [[COPY3]], [[COPY2]](s32)125 %0:_(s32) = COPY $vgpr0126 %1:_(s32) = COPY $sgpr1127 %2:_(s32) = COPY $vgpr1128 %3:_(s32) = G_FSHR %0, %1, %2129...130---131name: fshr_svv132legalized: true133 134body: |135 bb.0:136 liveins: $sgpr0, $vgpr0, $vgpr1137 ; CHECK-LABEL: name: fshr_svv138 ; CHECK: liveins: $sgpr0, $vgpr0, $vgpr1139 ; CHECK-NEXT: {{ $}}140 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0141 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0142 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr1143 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)144 ; CHECK-NEXT: [[FSHR:%[0-9]+]]:vgpr(s32) = G_FSHR [[COPY3]], [[COPY1]], [[COPY2]](s32)145 %0:_(s32) = COPY $sgpr0146 %1:_(s32) = COPY $vgpr0147 %2:_(s32) = COPY $vgpr1148 %3:_(s32) = G_FSHR %0, %1, %2149...150---151name: fshr_vvv152legalized: true153 154body: |155 bb.0:156 liveins: $vgpr0, $vgpr1, $vgpr2157 ; CHECK-LABEL: name: fshr_vvv158 ; CHECK: liveins: $vgpr0, $vgpr1, $vgpr2159 ; CHECK-NEXT: {{ $}}160 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0161 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1162 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY $vgpr2163 ; CHECK-NEXT: [[FSHR:%[0-9]+]]:vgpr(s32) = G_FSHR [[COPY]], [[COPY1]], [[COPY2]](s32)164 %0:_(s32) = COPY $vgpr0165 %1:_(s32) = COPY $vgpr1166 %2:_(s32) = COPY $vgpr2167 %3:_(s32) = G_FSHR %0, %1, %2168...169