brintos

brintos / llvm-project-archived public Read only

0
0
Text · 13.2 KiB · 4bb9eb8 Raw
430 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s -check-prefix=GCN3 4---5name:            g_phi_s32_ss_sbranch6legalized:       true7regBankSelected: true8tracksRegLiveness: true9machineFunctionInfo: {}10body:             |11  ; GCN-LABEL: name: g_phi_s32_ss_sbranch12  ; GCN: bb.0:13  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)14  ; GCN-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr215  ; GCN-NEXT: {{  $}}16  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr017  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr118  ; GCN-NEXT:   [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr219  ; GCN-NEXT:   [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 020  ; GCN-NEXT:   S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc21  ; GCN-NEXT:   [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc22  ; GCN-NEXT:   $scc = COPY [[COPY3]]23  ; GCN-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit $scc24  ; GCN-NEXT:   S_BRANCH %bb.225  ; GCN-NEXT: {{  $}}26  ; GCN-NEXT: bb.1:27  ; GCN-NEXT:   successors: %bb.2(0x80000000)28  ; GCN-NEXT: {{  $}}29  ; GCN-NEXT:   S_BRANCH %bb.230  ; GCN-NEXT: {{  $}}31  ; GCN-NEXT: bb.2:32  ; GCN-NEXT:   [[PHI:%[0-9]+]]:sreg_32 = PHI [[COPY]], %bb.0, [[COPY1]], %bb.133  ; GCN-NEXT:   $sgpr0 = COPY [[PHI]]34  ; GCN-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr3135  bb.0:36    liveins: $sgpr0, $sgpr1, $sgpr237 38    %0:sgpr(s32) = COPY $sgpr039    %1:sgpr(s32) = COPY $sgpr140    %2:sgpr(s32) = COPY $sgpr241    %3:sgpr(s32) = G_CONSTANT i32 042    %4:sgpr(s32) = G_ICMP intpred(eq), %2(s32), %343    G_BRCOND %4, %bb.144    G_BR %bb.245 46  bb.1:47    %5:sgpr(s32) = COPY %148    G_BR %bb.249 50  bb.2:51    %6:sgpr(s32) = G_PHI %0(s32), %bb.0, %5(s32), %bb.152    $sgpr0 = COPY %653    S_SETPC_B64 undef $sgpr30_sgpr3154 55...56 57---58name:            g_phi_s32_vv_sbranch59legalized:       true60regBankSelected: true61tracksRegLiveness: true62machineFunctionInfo: {}63body:             |64  ; GCN-LABEL: name: g_phi_s32_vv_sbranch65  ; GCN: bb.0:66  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)67  ; GCN-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr268  ; GCN-NEXT: {{  $}}69  ; GCN-NEXT:   [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr070  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr171  ; GCN-NEXT:   [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr272  ; GCN-NEXT:   [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 073  ; GCN-NEXT:   S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc74  ; GCN-NEXT:   [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc75  ; GCN-NEXT:   $scc = COPY [[COPY3]]76  ; GCN-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit $scc77  ; GCN-NEXT:   S_BRANCH %bb.278  ; GCN-NEXT: {{  $}}79  ; GCN-NEXT: bb.1:80  ; GCN-NEXT:   successors: %bb.2(0x80000000)81  ; GCN-NEXT: {{  $}}82  ; GCN-NEXT:   [[COPY4:%[0-9]+]]:sreg_32 = COPY [[COPY1]]83  ; GCN-NEXT:   S_BRANCH %bb.284  ; GCN-NEXT: {{  $}}85  ; GCN-NEXT: bb.2:86  ; GCN-NEXT:   [[PHI:%[0-9]+]]:vgpr_32 = PHI [[COPY]], %bb.0, [[COPY4]], %bb.187  ; GCN-NEXT:   $vgpr0 = COPY [[PHI]]88  ; GCN-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr3189  bb.0:90    liveins: $vgpr0, $vgpr1, $sgpr291 92    %0:vgpr(s32) = COPY $vgpr093    %1:vgpr(s32) = COPY $vgpr194    %2:sgpr(s32) = COPY $sgpr295    %3:sgpr(s32) = G_CONSTANT i32 096    %4:sgpr(s32) = G_ICMP intpred(eq), %2(s32), %397    G_BRCOND %4, %bb.198    G_BR %bb.299 100  bb.1:101    %5:sgpr(s32) = COPY %1102    G_BR %bb.2103 104  bb.2:105    %6:vgpr(s32) = G_PHI %0(s32), %bb.0, %5(s32), %bb.1106    $vgpr0 = COPY %6(s32)107    S_SETPC_B64 undef $sgpr30_sgpr31108 109...110 111---112name:            g_phi_s32_sv_sbranch113legalized:       true114regBankSelected: true115tracksRegLiveness: true116machineFunctionInfo: {}117body:             |118  ; GCN-LABEL: name: g_phi_s32_sv_sbranch119  ; GCN: bb.0:120  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)121  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0, $sgpr1, $sgpr2122  ; GCN-NEXT: {{  $}}123  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0124  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0125  ; GCN-NEXT:   [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2126  ; GCN-NEXT:   [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0127  ; GCN-NEXT:   S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc128  ; GCN-NEXT:   [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc129  ; GCN-NEXT:   $scc = COPY [[COPY3]]130  ; GCN-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit $scc131  ; GCN-NEXT:   S_BRANCH %bb.2132  ; GCN-NEXT: {{  $}}133  ; GCN-NEXT: bb.1:134  ; GCN-NEXT:   successors: %bb.2(0x80000000)135  ; GCN-NEXT: {{  $}}136  ; GCN-NEXT:   S_BRANCH %bb.2137  ; GCN-NEXT: {{  $}}138  ; GCN-NEXT: bb.2:139  ; GCN-NEXT:   [[PHI:%[0-9]+]]:vgpr_32 = PHI [[COPY]], %bb.0, [[COPY1]], %bb.1140  ; GCN-NEXT:   $vgpr0 = COPY [[PHI]]141  ; GCN-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31142  bb.0:143    liveins: $sgpr0, $vgpr0, $sgpr1, $sgpr2144 145    %0:sgpr(s32) = COPY $sgpr0146    %1:vgpr(s32) = COPY $vgpr0147    %2:sgpr(s32) = COPY $sgpr2148    %3:sgpr(s32) = G_CONSTANT i32 0149    %4:sgpr(s32) = G_ICMP intpred(eq), %2(s32), %3150    G_BRCOND %4, %bb.1151    G_BR %bb.2152 153  bb.1:154    %5:vgpr(s32) = COPY %1155    G_BR %bb.2156 157  bb.2:158    %6:vgpr(s32) = G_PHI %0(s32), %bb.0, %5(s32), %bb.1159    $vgpr0 = COPY %6160    S_SETPC_B64 undef $sgpr30_sgpr31161 162...163 164---165name:            g_phi_s32_vs_sbranch166legalized:       true167regBankSelected: true168tracksRegLiveness: true169machineFunctionInfo: {}170body:             |171  ; GCN-LABEL: name: g_phi_s32_vs_sbranch172  ; GCN: bb.0:173  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)174  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0, $sgpr1175  ; GCN-NEXT: {{  $}}176  ; GCN-NEXT:   [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0177  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr0178  ; GCN-NEXT:   [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr1179  ; GCN-NEXT:   [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0180  ; GCN-NEXT:   S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc181  ; GCN-NEXT:   [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc182  ; GCN-NEXT:   $scc = COPY [[COPY3]]183  ; GCN-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit $scc184  ; GCN-NEXT:   S_BRANCH %bb.2185  ; GCN-NEXT: {{  $}}186  ; GCN-NEXT: bb.1:187  ; GCN-NEXT:   successors: %bb.2(0x80000000)188  ; GCN-NEXT: {{  $}}189  ; GCN-NEXT:   [[COPY4:%[0-9]+]]:vgpr_32 = COPY [[COPY1]]190  ; GCN-NEXT:   S_BRANCH %bb.2191  ; GCN-NEXT: {{  $}}192  ; GCN-NEXT: bb.2:193  ; GCN-NEXT:   [[PHI:%[0-9]+]]:vgpr_32 = PHI [[COPY]], %bb.0, [[COPY4]], %bb.1194  ; GCN-NEXT:   $vgpr0 = COPY [[PHI]]195  ; GCN-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31196  bb.0:197    liveins: $sgpr0, $vgpr0, $sgpr1198 199    %0:vgpr(s32) = COPY $vgpr0200    %1:sgpr(s32) = COPY $sgpr0201    %2:sgpr(s32) = COPY $sgpr1202    %3:sgpr(s32) = G_CONSTANT i32 0203    %4:sgpr(s32) = G_ICMP intpred(eq), %2(s32), %3204    G_BRCOND %4, %bb.1205    G_BR %bb.2206 207  bb.1:208    %5:vgpr(s32) = COPY %1209    G_BR %bb.2210 211  bb.2:212    %6:vgpr(s32) = G_PHI %0(s32), %bb.0, %5(s32), %bb.1213    $vgpr0 = COPY %6214    S_SETPC_B64 undef $sgpr30_sgpr31215 216...217 218---219name:            g_phi_s64_ss_sbranch220legalized:       true221regBankSelected: true222tracksRegLiveness: true223machineFunctionInfo: {}224body:             |225  ; GCN-LABEL: name: g_phi_s64_ss_sbranch226  ; GCN: bb.0:227  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)228  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $sgpr2_sgpr3, $sgpr4229  ; GCN-NEXT: {{  $}}230  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1231  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:sreg_64 = COPY $sgpr2_sgpr3232  ; GCN-NEXT:   [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr4233  ; GCN-NEXT:   [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0234  ; GCN-NEXT:   S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc235  ; GCN-NEXT:   [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc236  ; GCN-NEXT:   $scc = COPY [[COPY3]]237  ; GCN-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit $scc238  ; GCN-NEXT:   S_BRANCH %bb.2239  ; GCN-NEXT: {{  $}}240  ; GCN-NEXT: bb.1:241  ; GCN-NEXT:   successors: %bb.2(0x80000000)242  ; GCN-NEXT: {{  $}}243  ; GCN-NEXT:   S_BRANCH %bb.2244  ; GCN-NEXT: {{  $}}245  ; GCN-NEXT: bb.2:246  ; GCN-NEXT:   [[PHI:%[0-9]+]]:sreg_64 = PHI [[COPY]], %bb.0, [[COPY1]], %bb.1247  ; GCN-NEXT:   $sgpr0_sgpr1 = COPY [[PHI]]248  ; GCN-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31249  bb.0:250    liveins: $sgpr0_sgpr1, $sgpr2_sgpr3, $sgpr4251 252    %0:sgpr(s64) = COPY $sgpr0_sgpr1253    %1:sgpr(s64) = COPY $sgpr2_sgpr3254    %2:sgpr(s32) = COPY $sgpr4255    %3:sgpr(s32) = G_CONSTANT i32 0256    %4:sgpr(s32) = G_ICMP intpred(eq), %2(s32), %3257    G_BRCOND %4, %bb.1258    G_BR %bb.2259 260  bb.1:261    %5:sgpr(s64) = COPY %1262    G_BR %bb.2263 264  bb.2:265    %6:sgpr(s64) = G_PHI %0(s64), %bb.0, %5(s64), %bb.1266    $sgpr0_sgpr1 = COPY %6267    S_SETPC_B64 undef $sgpr30_sgpr31268 269...270---271name:            g_phi_v2s16_vv_sbranch272legalized:       true273regBankSelected: true274tracksRegLiveness: true275machineFunctionInfo: {}276body:             |277  ; GCN-LABEL: name: g_phi_v2s16_vv_sbranch278  ; GCN: bb.0:279  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)280  ; GCN-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr2281  ; GCN-NEXT: {{  $}}282  ; GCN-NEXT:   [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0283  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1284  ; GCN-NEXT:   [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2285  ; GCN-NEXT:   [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0286  ; GCN-NEXT:   S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc287  ; GCN-NEXT:   [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc288  ; GCN-NEXT:   $scc = COPY [[COPY3]]289  ; GCN-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit $scc290  ; GCN-NEXT:   S_BRANCH %bb.2291  ; GCN-NEXT: {{  $}}292  ; GCN-NEXT: bb.1:293  ; GCN-NEXT:   successors: %bb.2(0x80000000)294  ; GCN-NEXT: {{  $}}295  ; GCN-NEXT:   [[COPY4:%[0-9]+]]:sreg_32 = COPY [[COPY1]]296  ; GCN-NEXT:   S_BRANCH %bb.2297  ; GCN-NEXT: {{  $}}298  ; GCN-NEXT: bb.2:299  ; GCN-NEXT:   [[PHI:%[0-9]+]]:vgpr_32 = PHI [[COPY]], %bb.0, [[COPY4]], %bb.1300  ; GCN-NEXT:   $vgpr0 = COPY [[PHI]]301  ; GCN-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31302  bb.0:303    liveins: $vgpr0, $vgpr1, $sgpr2304 305    %0:vgpr(<2 x s16>) = COPY $vgpr0306    %1:vgpr(<2 x s16>) = COPY $vgpr1307    %2:sgpr(s32) = COPY $sgpr2308    %3:sgpr(s32) = G_CONSTANT i32 0309    %4:sgpr(s32) = G_ICMP intpred(eq), %2(s32), %3310    G_BRCOND %4, %bb.1311    G_BR %bb.2312 313  bb.1:314    %5:sgpr(<2 x s16>) = COPY %1315    G_BR %bb.2316 317  bb.2:318    %6:vgpr(<2 x s16>) = G_PHI %0(<2 x s16>), %bb.0, %5(<2 x s16>), %bb.1319    $vgpr0 = COPY %6320    S_SETPC_B64 undef $sgpr30_sgpr31321 322...323 324---325name:            phi_s32_ss_sbranch326legalized:       true327regBankSelected: true328tracksRegLiveness: true329machineFunctionInfo: {}330body:             |331  ; GCN-LABEL: name: phi_s32_ss_sbranch332  ; GCN: bb.0:333  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)334  ; GCN-NEXT:   liveins: $sgpr0, $sgpr1, $sgpr2335  ; GCN-NEXT: {{  $}}336  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0337  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1338  ; GCN-NEXT:   [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2339  ; GCN-NEXT:   [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0340  ; GCN-NEXT:   S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc341  ; GCN-NEXT:   [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc342  ; GCN-NEXT:   $scc = COPY [[COPY3]]343  ; GCN-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit $scc344  ; GCN-NEXT:   S_BRANCH %bb.2345  ; GCN-NEXT: {{  $}}346  ; GCN-NEXT: bb.1:347  ; GCN-NEXT:   successors: %bb.2(0x80000000)348  ; GCN-NEXT: {{  $}}349  ; GCN-NEXT:   S_BRANCH %bb.2350  ; GCN-NEXT: {{  $}}351  ; GCN-NEXT: bb.2:352  ; GCN-NEXT:   [[PHI:%[0-9]+]]:sreg_32 = PHI [[COPY]], %bb.0, [[COPY1]], %bb.1353  ; GCN-NEXT:   $sgpr0 = COPY [[PHI]]354  ; GCN-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31355  bb.0:356    liveins: $sgpr0, $sgpr1, $sgpr2357 358    %0:sgpr(s32) = COPY $sgpr0359    %1:sgpr(s32) = COPY $sgpr1360    %2:sgpr(s32) = COPY $sgpr2361    %3:sgpr(s32) = G_CONSTANT i32 0362    %4:sgpr(s32) = G_ICMP intpred(eq), %2(s32), %3363    G_BRCOND %4, %bb.1364    G_BR %bb.2365 366  bb.1:367    %5:sgpr(s32) = COPY %1368    G_BR %bb.2369 370  bb.2:371    %6:sgpr(s32) = G_PHI %0(s32), %bb.0, %5(s32), %bb.1372    $sgpr0 = COPY %6(s32)373    S_SETPC_B64 undef $sgpr30_sgpr31374 375...376 377---378name:            phi_s32_vv_sbranch379legalized:       true380regBankSelected: true381tracksRegLiveness: true382machineFunctionInfo: {}383body:             |384  ; GCN-LABEL: name: phi_s32_vv_sbranch385  ; GCN: bb.0:386  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)387  ; GCN-NEXT:   liveins: $vgpr0, $vgpr1, $sgpr2388  ; GCN-NEXT: {{  $}}389  ; GCN-NEXT:   [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0390  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1391  ; GCN-NEXT:   [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2392  ; GCN-NEXT:   [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0393  ; GCN-NEXT:   S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc394  ; GCN-NEXT:   [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc395  ; GCN-NEXT:   $scc = COPY [[COPY3]]396  ; GCN-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit $scc397  ; GCN-NEXT:   S_BRANCH %bb.2398  ; GCN-NEXT: {{  $}}399  ; GCN-NEXT: bb.1:400  ; GCN-NEXT:   successors: %bb.2(0x80000000)401  ; GCN-NEXT: {{  $}}402  ; GCN-NEXT:   [[COPY4:%[0-9]+]]:sreg_32 = COPY [[COPY1]]403  ; GCN-NEXT:   S_BRANCH %bb.2404  ; GCN-NEXT: {{  $}}405  ; GCN-NEXT: bb.2:406  ; GCN-NEXT:   [[PHI:%[0-9]+]]:vgpr_32 = PHI [[COPY]], %bb.0, [[COPY4]], %bb.1407  ; GCN-NEXT:   $vgpr0 = COPY [[PHI]]408  ; GCN-NEXT:   S_SETPC_B64 undef $sgpr30_sgpr31409  bb.0:410    liveins: $vgpr0, $vgpr1, $sgpr2411 412    %0:vgpr(s32) = COPY $vgpr0413    %1:vgpr(s32) = COPY $vgpr1414    %2:sgpr(s32) = COPY $sgpr2415    %3:sgpr(s32) = G_CONSTANT i32 0416    %4:sgpr(s32) = G_ICMP intpred(eq), %2(s32), %3417    G_BRCOND %4, %bb.1418    G_BR %bb.2419 420  bb.1:421    %5:sgpr(s32) = COPY %1422    G_BR %bb.2423 424  bb.2:425    %6:vgpr(s32) = G_PHI %0(s32), %bb.0, %5(s32), %bb.1426    $vgpr0 = COPY %6427    S_SETPC_B64 undef $sgpr30_sgpr31428 429...430