117 lines · plain
1# RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx803 -run-pass=register-coalescer -o - %s | FileCheck -check-prefix=GCN %s2 3# GCN: {{^body}}4 5---6name: foo7tracksRegLiveness: true8body: |9 bb.0:10 successors: %bb.211 %0:sreg_32_xm0 = S_MOV_B32 112 %1:vgpr_32 = COPY %013 INLINEASM &"; %1", 1, 327690, def %1, 2147483657, %1(tied-def 3)14 %2:sreg_64 = V_CMP_NE_U32_e64 0, %1, implicit $exec15 undef %3.sub0:sgpr_128 = COPY %016 %3.sub1:sgpr_128 = COPY %017 %3.sub2:sgpr_128 = COPY %018 %4:sgpr_128 = COPY %319 %5:vgpr_32 = V_MOV_B32_e32 -64, implicit $exec20 %6:vreg_128 = COPY %421 %7:sreg_32_xm0 = S_AND_B32 target-flags(amdgpu-gotprel) 1, %2.sub0, implicit-def dead $scc22 %8:sreg_32_xm0 = S_MOV_B32 023 %9:vgpr_32 = COPY %524 %10:vreg_128 = COPY %625 S_BRANCH %bb.226 27 bb.1:28 %11:vgpr_32 = V_OR_B32_e32 %12.sub0, %12.sub1, implicit $exec29 %13:vgpr_32 = V_OR_B32_e32 %11, %12.sub2, implicit $exec30 %14:vgpr_32 = V_AND_B32_e32 1, %13, implicit $exec31 %15:sreg_64_xexec = V_CMP_EQ_U32_e64 0, %14, implicit $exec32 %16:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %15, implicit $exec33 BUFFER_STORE_DWORD_OFFEN_exact %16, undef %17:vgpr_32, undef %18:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable store (s32) into constant-pool, align 1, addrspace 4)34 S_ENDPGM 035 36 bb.2:37 successors: %bb.3, %bb.438 %19:sreg_64 = V_CMP_EQ_U32_e64 1, %7, implicit $exec39 %20:sreg_64 = COPY $exec, implicit-def $exec40 %21:sreg_64 = S_AND_B64 %20, %19, implicit-def dead $scc41 $exec = S_MOV_B64_term %2142 S_CBRANCH_EXECZ %bb.4, implicit $exec43 S_BRANCH %bb.344 45 bb.3:46 successors: %bb.447 undef %22.sub0:sgpr_128 = COPY %848 %22.sub1:sgpr_128 = COPY %849 %22.sub2:sgpr_128 = COPY %850 %23:sgpr_128 = COPY %2251 %24:vreg_128 = COPY %2352 %10:vreg_128 = COPY %2453 54 bb.4:55 successors: %bb.556 $exec = S_OR_B64 $exec, %20, implicit-def $scc57 58 bb.5:59 successors: %bb.7, %bb.660 S_CBRANCH_SCC0 %bb.7, implicit undef $scc61 62 bb.6:63 successors: %bb.964 %12:vreg_128 = COPY %1065 S_BRANCH %bb.966 67 bb.7:68 successors: %bb.8, %bb.1069 %25:vgpr_32 = V_AND_B32_e32 target-flags(amdgpu-gotprel32-hi) 1, %10.sub2, implicit $exec70 %26:sreg_64 = V_CMP_EQ_U32_e64 1, %25, implicit $exec71 %27:vgpr_32 = V_MOV_B32_e32 0, implicit $exec72 %28:vgpr_32 = COPY %2773 %29:sreg_64 = COPY $exec, implicit-def $exec74 %30:sreg_64 = S_AND_B64 %29, %26, implicit-def dead $scc75 $exec = S_MOV_B64_term %3076 S_CBRANCH_EXECZ %bb.10, implicit $exec77 S_BRANCH %bb.878 79 bb.8:80 successors: %bb.1081 %31:vgpr_32 = BUFFER_LOAD_DWORD_OFFEN undef %32:vgpr_32, undef %33:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32) from constant-pool, align 1, addrspace 4)82 %34:sreg_64_xexec = V_CMP_NE_U32_e64 0, %31, implicit $exec83 %35:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, -1, %34, implicit $exec84 %28:vgpr_32 = COPY %3585 S_BRANCH %bb.1086 87 bb.9:88 successors: %bb.1189 S_BRANCH %bb.1190 91 bb.10:92 successors: %bb.993 $exec = S_OR_B64 $exec, %29, implicit-def $scc94 %36:vgpr_32 = COPY %2895 %37:sreg_64_xexec = V_CMP_NE_U32_e64 0, %36, implicit $exec96 %38:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %37, implicit $exec97 %39:vgpr_32 = V_MOV_B32_e32 0, implicit $exec98 undef %40.sub0:vreg_128 = COPY %3999 %40.sub1:vreg_128 = COPY %39100 %40.sub2:vreg_128 = COPY %38101 %41:vreg_128 = COPY %40102 %12:vreg_128 = COPY %41103 S_BRANCH %bb.9104 105 bb.11:106 successors: %bb.2, %bb.1107 %42:vgpr_32 = V_ADD_CO_U32_e32 32, %9, implicit-def dead $vcc, implicit $exec108 V_CMP_EQ_U32_e32 0, %42, implicit-def $vcc, implicit $exec109 %43:vgpr_32 = COPY %42110 $vcc = S_AND_B64 $exec, killed $vcc, implicit-def dead $scc111 %44:vreg_128 = COPY %12112 %9:vgpr_32 = COPY %43113 %10:vreg_128 = COPY %44114 S_CBRANCH_VCCNZ %bb.1, implicit killed $vcc115 S_BRANCH %bb.2116...117