106 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -run-pass=si-insert-waitcnts %s -o - | FileCheck -check-prefix=GCN %s3 4---5name: signal_isfirst_imm_same_barrier_wait6body: |7 bb.0:8 ; GCN-LABEL: name: signal_isfirst_imm_same_barrier_wait9 ; GCN: S_WAIT_LOADCNT_DSCNT 010 ; GCN-NEXT: S_WAIT_EXPCNT 011 ; GCN-NEXT: S_WAIT_SAMPLECNT 012 ; GCN-NEXT: S_WAIT_BVHCNT 013 ; GCN-NEXT: S_WAIT_KMCNT 014 ; GCN-NEXT: S_CMP_EQ_U32 0, 0, implicit-def $scc15 ; GCN-NEXT: S_BARRIER_SIGNAL_ISFIRST_IMM -1, implicit-def $scc, implicit killed $scc16 ; GCN-NEXT: S_BARRIER_WAIT -117 ; GCN-NEXT: renamable $sgpr0 = S_CSELECT_B32 -1, 0, implicit killed $scc18 ; GCN-NEXT: renamable $vgpr0 = V_CNDMASK_B32_e64 0, 0, 0, 1, killed $sgpr0, implicit $exec19 ; GCN-NEXT: S_SETPC_B64_return undef $sgpr30_sgpr31, implicit killed $vgpr020 S_CMP_EQ_U32 0, 0, implicit-def $scc21 S_BARRIER_SIGNAL_ISFIRST_IMM -1, implicit-def $scc, implicit killed $scc22 S_BARRIER_WAIT -123 renamable $sgpr0 = S_CSELECT_B32 -1, 0, implicit killed $scc24 renamable $vgpr0 = V_CNDMASK_B32_e64 0, 0, 0, 1, killed $sgpr0, implicit $exec25 S_SETPC_B64_return undef $sgpr30_sgpr31, implicit killed $vgpr026...27 28---29name: signal_isfirst_imm_different_barrier_wait30body: |31 bb.0:32 ; GCN-LABEL: name: signal_isfirst_imm_different_barrier_wait33 ; GCN: S_WAIT_LOADCNT_DSCNT 034 ; GCN-NEXT: S_WAIT_EXPCNT 035 ; GCN-NEXT: S_WAIT_SAMPLECNT 036 ; GCN-NEXT: S_WAIT_BVHCNT 037 ; GCN-NEXT: S_WAIT_KMCNT 038 ; GCN-NEXT: S_CMP_EQ_U32 0, 0, implicit-def $scc39 ; GCN-NEXT: S_BARRIER_SIGNAL_ISFIRST_IMM -1, implicit-def $scc, implicit killed $scc40 ; GCN-NEXT: S_BARRIER_WAIT 041 ; GCN-NEXT: S_WAIT_KMCNT 042 ; GCN-NEXT: renamable $sgpr0 = S_CSELECT_B32 -1, 0, implicit killed $scc43 ; GCN-NEXT: renamable $vgpr0 = V_CNDMASK_B32_e64 0, 0, 0, 1, killed $sgpr0, implicit $exec44 ; GCN-NEXT: S_SETPC_B64_return undef $sgpr30_sgpr31, implicit killed $vgpr045 S_CMP_EQ_U32 0, 0, implicit-def $scc46 S_BARRIER_SIGNAL_ISFIRST_IMM -1, implicit-def $scc, implicit killed $scc47 S_BARRIER_WAIT 048 renamable $sgpr0 = S_CSELECT_B32 -1, 0, implicit killed $scc49 renamable $vgpr0 = V_CNDMASK_B32_e64 0, 0, 0, 1, killed $sgpr0, implicit $exec50 S_SETPC_B64_return undef $sgpr30_sgpr31, implicit killed $vgpr051...52 53---54name: signal_isfirst_m0_same_barrier_wait55body: |56 bb.0:57 ; GCN-LABEL: name: signal_isfirst_m0_same_barrier_wait58 ; GCN: S_WAIT_LOADCNT_DSCNT 059 ; GCN-NEXT: S_WAIT_EXPCNT 060 ; GCN-NEXT: S_WAIT_SAMPLECNT 061 ; GCN-NEXT: S_WAIT_BVHCNT 062 ; GCN-NEXT: S_WAIT_KMCNT 063 ; GCN-NEXT: S_CMP_EQ_U32 0, 0, implicit-def $scc64 ; GCN-NEXT: $m0 = S_MOV_B32 -165 ; GCN-NEXT: S_BARRIER_SIGNAL_ISFIRST_M0 implicit $m0, implicit-def $scc, implicit killed $scc66 ; GCN-NEXT: S_BARRIER_WAIT -167 ; GCN-NEXT: S_WAIT_KMCNT 068 ; GCN-NEXT: renamable $sgpr0 = S_CSELECT_B32 -1, 0, implicit killed $scc69 ; GCN-NEXT: renamable $vgpr0 = V_CNDMASK_B32_e64 0, 0, 0, 1, killed $sgpr0, implicit $exec70 ; GCN-NEXT: S_SETPC_B64_return undef $sgpr30_sgpr31, implicit killed $vgpr071 S_CMP_EQ_U32 0, 0, implicit-def $scc72 $m0 = S_MOV_B32 -173 S_BARRIER_SIGNAL_ISFIRST_M0 implicit $m0, implicit-def $scc, implicit killed $scc74 S_BARRIER_WAIT -175 renamable $sgpr0 = S_CSELECT_B32 -1, 0, implicit killed $scc76 renamable $vgpr0 = V_CNDMASK_B32_e64 0, 0, 0, 1, killed $sgpr0, implicit $exec77 S_SETPC_B64_return undef $sgpr30_sgpr31, implicit killed $vgpr078...79 80---81name: signal_isfirst_m0_different_barrier_wait82body: |83 bb.0:84 ; GCN-LABEL: name: signal_isfirst_m0_different_barrier_wait85 ; GCN: S_WAIT_LOADCNT_DSCNT 086 ; GCN-NEXT: S_WAIT_EXPCNT 087 ; GCN-NEXT: S_WAIT_SAMPLECNT 088 ; GCN-NEXT: S_WAIT_BVHCNT 089 ; GCN-NEXT: S_WAIT_KMCNT 090 ; GCN-NEXT: S_CMP_EQ_U32 0, 0, implicit-def $scc91 ; GCN-NEXT: $m0 = S_MOV_B32 -192 ; GCN-NEXT: S_BARRIER_SIGNAL_ISFIRST_M0 implicit $m0, implicit-def $scc, implicit killed $scc93 ; GCN-NEXT: S_BARRIER_WAIT 094 ; GCN-NEXT: S_WAIT_KMCNT 095 ; GCN-NEXT: renamable $sgpr0 = S_CSELECT_B32 -1, 0, implicit killed $scc96 ; GCN-NEXT: renamable $vgpr0 = V_CNDMASK_B32_e64 0, 0, 0, 1, killed $sgpr0, implicit $exec97 ; GCN-NEXT: S_SETPC_B64_return undef $sgpr30_sgpr31, implicit killed $vgpr098 S_CMP_EQ_U32 0, 0, implicit-def $scc99 $m0 = S_MOV_B32 -1100 S_BARRIER_SIGNAL_ISFIRST_M0 implicit $m0, implicit-def $scc, implicit killed $scc101 S_BARRIER_WAIT 0102 renamable $sgpr0 = S_CSELECT_B32 -1, 0, implicit killed $scc103 renamable $vgpr0 = V_CNDMASK_B32_e64 0, 0, 0, 1, killed $sgpr0, implicit $exec104 S_SETPC_B64_return undef $sgpr30_sgpr31, implicit killed $vgpr0105...106