1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -march=amdgcn -mcpu=gfx90a -start-before=machine-scheduler -stop-after=postmisched %s -o - 2>&1 | FileCheck -check-prefix=DEFAULT %s 3# RUN: llc -march=amdgcn -mcpu=gfx90a -start-before=machine-scheduler -stop-after=postmisched %s -o - -amdgpu-igrouplp=1 2>&1 | FileCheck -check-prefix=PIPELINE %s 4 5--- 6name: no_pipeline 7tracksRegLiveness: true 8body: | 9 bb.0: 10 liveins: $sgpr0, $vgpr10_vgpr11 11 ; DEFAULT-LABEL: name: no_pipeline 12 ; DEFAULT: liveins: $sgpr0, $vgpr10_vgpr11 13 ; DEFAULT-NEXT: {{ $}} 14 ; DEFAULT-NEXT: $vgpr1 = V_MOV_B32_e32 1, implicit $exec 15 ; DEFAULT-NEXT: $vgpr0 = V_MOV_B32_e32 1, implicit $exec 16 ; DEFAULT-NEXT: $vgpr1 = V_ADD_F16_e32 killed $vgpr1, $vgpr0, implicit $mode, implicit $exec 17 ; DEFAULT-NEXT: GLOBAL_STORE_DWORD killed $vgpr10_vgpr11, $vgpr1, 0, 0, implicit $exec 18 ; DEFAULT-NEXT: $vgpr2 = V_MOV_B32_e32 1, implicit $exec 19 ; DEFAULT-NEXT: $vgpr3 = DS_READ_U16_gfx9 killed $vgpr2, 0, 0, implicit $exec 20 ; DEFAULT-NEXT: $vgpr5 = V_XOR_B32_e32 $vgpr1, killed $vgpr0, implicit $exec 21 ; DEFAULT-NEXT: $vgpr6 = V_MUL_LO_U32_e64 killed $vgpr1, killed $sgpr0, implicit $exec 22 ; DEFAULT-NEXT: $vgpr8 = V_MOV_B32_e32 0, implicit $exec 23 ; DEFAULT-NEXT: $vgpr9 = V_MOV_B32_e32 9, implicit $exec 24 ; PIPELINE-LABEL: name: no_pipeline 25 ; PIPELINE: liveins: $sgpr0, $vgpr10_vgpr11 26 ; PIPELINE-NEXT: {{ $}} 27 ; PIPELINE-NEXT: $vgpr1 = V_MOV_B32_e32 1, implicit $exec 28 ; PIPELINE-NEXT: $vgpr0 = V_MOV_B32_e32 1, implicit $exec 29 ; PIPELINE-NEXT: $vgpr1 = V_ADD_F16_e32 killed $vgpr1, $vgpr0, implicit $mode, implicit $exec 30 ; PIPELINE-NEXT: GLOBAL_STORE_DWORD killed $vgpr10_vgpr11, $vgpr1, 0, 0, implicit $exec 31 ; PIPELINE-NEXT: $vgpr2 = V_MOV_B32_e32 1, implicit $exec 32 ; PIPELINE-NEXT: $vgpr3 = DS_READ_U16_gfx9 killed $vgpr2, 0, 0, implicit $exec 33 ; PIPELINE-NEXT: $vgpr5 = V_XOR_B32_e32 $vgpr1, killed $vgpr0, implicit $exec 34 ; PIPELINE-NEXT: $vgpr6 = V_MUL_LO_U32_e64 killed $vgpr1, killed $sgpr0, implicit $exec 35 ; PIPELINE-NEXT: $vgpr8 = V_MOV_B32_e32 0, implicit $exec 36 ; PIPELINE-NEXT: $vgpr9 = V_MOV_B32_e32 9, implicit $exec 37 $vgpr1 = V_MOV_B32_e32 1, implicit $exec 38 $vgpr0 = V_MOV_B32_e32 1, implicit $exec 39 $vgpr8 = V_MOV_B32_e32 0, implicit $exec 40 $vgpr9 = V_MOV_B32_e32 9, implicit $exec 41 $vgpr1 = V_ADD_F16_e32 $vgpr1, $vgpr0, implicit $mode, implicit $exec 42 GLOBAL_STORE_DWORD $vgpr10_vgpr11, $vgpr1, 0, 0, implicit $exec 43 $vgpr2 = V_MOV_B32_e32 1, implicit $exec 44 $vgpr3 = DS_READ_U16_gfx9 $vgpr2, 0, 0, implicit $exec 45 $vgpr5 = V_XOR_B32_e32 $vgpr1, $vgpr0, implicit $exec 46 $vgpr6 = V_MUL_LO_U32_e64 $vgpr1, $sgpr0, implicit $exec 47... 48 49 50--- 51name: full_pipe 52tracksRegLiveness: true 53body: | 54 bb.0: 55 liveins: $agpr0_agpr1_agpr2_agpr3, $agpr4_agpr5_agpr6_agpr7, $agpr8_agpr9_agpr10_agpr11, $agpr12_agpr13_agpr14_agpr15, $agpr16_agpr17_agpr18_agpr19, $sgpr0, $vgpr10_vgpr11 56 ; DEFAULT-LABEL: name: full_pipe 57 ; DEFAULT: liveins: $sgpr0, $agpr0_agpr1_agpr2_agpr3, $agpr4_agpr5_agpr6_agpr7, $agpr8_agpr9_agpr10_agpr11, $agpr12_agpr13_agpr14_agpr15, $agpr16_agpr17_agpr18_agpr19, $vgpr10_vgpr11 58 ; DEFAULT-NEXT: {{ $}} 59 ; DEFAULT-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 60 ; DEFAULT-NEXT: $vgpr1 = V_MOV_B32_e32 1, implicit $exec 61 ; DEFAULT-NEXT: $vgpr2 = V_MOV_B32_e32 2, implicit $exec 62 ; DEFAULT-NEXT: $vgpr3 = V_MOV_B32_e32 3, implicit $exec 63 ; DEFAULT-NEXT: $vgpr6 = GLOBAL_LOAD_USHORT $vgpr0_vgpr1, 0, 0, implicit $exec 64 ; DEFAULT-NEXT: $vgpr7 = GLOBAL_LOAD_USHORT $vgpr2_vgpr3, 0, 0, implicit $exec 65 ; DEFAULT-NEXT: $vgpr4 = V_MOV_B32_e32 4, implicit $exec 66 ; DEFAULT-NEXT: $vgpr5 = V_MOV_B32_e32 5, implicit $exec 67 ; DEFAULT-NEXT: $vgpr8 = GLOBAL_LOAD_USHORT $vgpr4_vgpr5, 0, 0, implicit $exec 68 ; DEFAULT-NEXT: $vgpr1 = V_ADD_F16_e32 killed $vgpr1, $vgpr0, implicit $mode, implicit $exec 69 ; DEFAULT-NEXT: $vgpr26 = V_MOV_B32_e32 1, implicit $exec 70 ; DEFAULT-NEXT: $vgpr27 = V_MOV_B32_e32 1, implicit $exec 71 ; DEFAULT-NEXT: $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32_e64 $vgpr3, $vgpr4, killed $agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec 72 ; DEFAULT-NEXT: $vgpr23 = V_XOR_B32_e32 $vgpr1, $vgpr0, implicit $exec 73 ; DEFAULT-NEXT: $vgpr9 = V_MOV_B32_e32 1, implicit $exec 74 ; DEFAULT-NEXT: $vgpr24 = V_MOV_B32_e32 1, implicit $exec 75 ; DEFAULT-NEXT: $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 76 ; DEFAULT-NEXT: $vgpr22 = V_XOR_B32_e32 $vgpr1, $vgpr0, implicit $exec 77 ; DEFAULT-NEXT: $agpr8_agpr9_agpr10_agpr11 = V_MFMA_F32_4X4X1F32_e64 $vgpr3, killed $vgpr4, killed $agpr8_agpr9_agpr10_agpr11, 0, 0, 0, implicit $mode, implicit $exec 78 ; DEFAULT-NEXT: $vgpr21 = V_MUL_LO_U32_e64 $vgpr1, killed $sgpr0, implicit $exec 79 ; DEFAULT-NEXT: $agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, killed $agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec 80 ; DEFAULT-NEXT: $vgpr30 = V_MOV_B32_e32 30, implicit $exec 81 ; DEFAULT-NEXT: $vgpr17 = V_MOV_B32_e32 1, implicit $exec 82 ; DEFAULT-NEXT: $vgpr18 = V_MOV_B32_e32 1, implicit $exec 83 ; DEFAULT-NEXT: BUNDLE implicit-def $vgpr10, implicit-def $vgpr10_lo16, implicit-def $vgpr10_hi16, implicit-def $vgpr11, implicit-def $vgpr11_lo16, implicit-def $vgpr11_hi16, implicit-def $vgpr12, implicit-def $vgpr12_lo16, implicit-def $vgpr12_hi16, implicit-def $vgpr15, implicit-def $vgpr15_lo16, implicit-def $vgpr15_hi16, implicit-def $vgpr16, implicit-def $vgpr16_lo16, implicit-def $vgpr16_hi16, implicit $vgpr7, implicit $exec { 84 ; DEFAULT-NEXT: $vgpr10 = DS_READ_U16_gfx9 $vgpr7, 0, 512, implicit $exec 85 ; DEFAULT-NEXT: $vgpr11 = DS_READ_U16_gfx9 $vgpr7, 0, 2048, implicit $exec 86 ; DEFAULT-NEXT: $vgpr12 = DS_READ_U16_gfx9 $vgpr7, 0, 1024, implicit $exec 87 ; DEFAULT-NEXT: $vgpr15 = DS_READ_U16_gfx9 $vgpr7, 0, 4096, implicit $exec 88 ; DEFAULT-NEXT: $vgpr16 = DS_READ_U16_gfx9 $vgpr7, 0, 2048, implicit $exec 89 ; DEFAULT-NEXT: } 90 ; DEFAULT-NEXT: DS_WRITE_B32 $vgpr3, killed $vgpr1, 0, 16, implicit $m0, implicit $exec 91 ; DEFAULT-NEXT: BUNDLE implicit-def $vgpr19, implicit-def $vgpr19_lo16, implicit-def $vgpr19_hi16, implicit-def $vgpr20, implicit-def $vgpr20_lo16, implicit-def $vgpr20_hi16, implicit killed $vgpr26_vgpr27, implicit $exec { 92 ; DEFAULT-NEXT: $vgpr19 = GLOBAL_LOAD_USHORT $vgpr26_vgpr27, 0, 0, implicit $exec 93 ; DEFAULT-NEXT: $vgpr20 = GLOBAL_LOAD_USHORT killed $vgpr26_vgpr27, 0, 0, implicit $exec 94 ; DEFAULT-NEXT: } 95 ; DEFAULT-NEXT: $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32_e64 killed $vgpr5, killed $vgpr6, killed $agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec 96 ; DEFAULT-NEXT: DS_WRITE_B32 killed $vgpr0, killed $vgpr7, 0, 16, implicit $m0, implicit $exec 97 ; DEFAULT-NEXT: $agpr16_agpr17_agpr18_agpr19 = V_MFMA_F32_4X4X1F32_e64 killed $vgpr10, killed $vgpr11, killed $agpr16_agpr17_agpr18_agpr19, 0, 0, 0, implicit $mode, implicit $exec 98 ; DEFAULT-NEXT: DS_WRITE_B32 killed $vgpr23, killed $vgpr3, 0, 16, implicit $m0, implicit $exec 99 ; DEFAULT-NEXT: DS_WRITE_B32 killed $vgpr9, killed $vgpr24, 0, 16, implicit $m0, implicit $exec 100 ; PIPELINE-LABEL: name: full_pipe 101 ; PIPELINE: liveins: $sgpr0, $agpr0_agpr1_agpr2_agpr3, $agpr4_agpr5_agpr6_agpr7, $agpr8_agpr9_agpr10_agpr11, $agpr12_agpr13_agpr14_agpr15, $agpr16_agpr17_agpr18_agpr19, $vgpr10_vgpr11 102 ; PIPELINE-NEXT: {{ $}} 103 ; PIPELINE-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 104 ; PIPELINE-NEXT: $vgpr1 = V_MOV_B32_e32 1, implicit $exec 105 ; PIPELINE-NEXT: $vgpr2 = V_MOV_B32_e32 2, implicit $exec 106 ; PIPELINE-NEXT: $vgpr3 = V_MOV_B32_e32 3, implicit $exec 107 ; PIPELINE-NEXT: $vgpr6 = GLOBAL_LOAD_USHORT $vgpr0_vgpr1, 0, 0, implicit $exec 108 ; PIPELINE-NEXT: $vgpr7 = GLOBAL_LOAD_USHORT $vgpr2_vgpr3, 0, 0, implicit $exec 109 ; PIPELINE-NEXT: $vgpr4 = V_MOV_B32_e32 4, implicit $exec 110 ; PIPELINE-NEXT: $vgpr5 = V_MOV_B32_e32 5, implicit $exec 111 ; PIPELINE-NEXT: $vgpr8 = GLOBAL_LOAD_USHORT $vgpr4_vgpr5, 0, 0, implicit $exec 112 ; PIPELINE-NEXT: $vgpr1 = V_ADD_F16_e32 killed $vgpr1, $vgpr0, implicit $mode, implicit $exec 113 ; PIPELINE-NEXT: $vgpr26 = V_MOV_B32_e32 1, implicit $exec 114 ; PIPELINE-NEXT: $vgpr27 = V_MOV_B32_e32 1, implicit $exec 115 ; PIPELINE-NEXT: $vgpr9 = V_MOV_B32_e32 1, implicit $exec 116 ; PIPELINE-NEXT: $vgpr24 = V_MOV_B32_e32 1, implicit $exec 117 ; PIPELINE-NEXT: $vgpr23 = V_XOR_B32_e32 $vgpr1, $vgpr0, implicit $exec 118 ; PIPELINE-NEXT: $vgpr22 = V_XOR_B32_e32 $vgpr1, $vgpr0, implicit $exec 119 ; PIPELINE-NEXT: $vgpr21 = V_MUL_LO_U32_e64 $vgpr1, killed $sgpr0, implicit $exec 120 ; PIPELINE-NEXT: $vgpr30 = V_MOV_B32_e32 30, implicit $exec 121 ; PIPELINE-NEXT: $vgpr17 = V_MOV_B32_e32 1, implicit $exec 122 ; PIPELINE-NEXT: $vgpr18 = V_MOV_B32_e32 1, implicit $exec 123 ; PIPELINE-NEXT: BUNDLE implicit-def $vgpr10, implicit-def $vgpr10_lo16, implicit-def $vgpr10_hi16, implicit-def $vgpr11, implicit-def $vgpr11_lo16, implicit-def $vgpr11_hi16, implicit-def $vgpr12, implicit-def $vgpr12_lo16, implicit-def $vgpr12_hi16, implicit-def $vgpr15, implicit-def $vgpr15_lo16, implicit-def $vgpr15_hi16, implicit-def $vgpr16, implicit-def $vgpr16_lo16, implicit-def $vgpr16_hi16, implicit $vgpr7, implicit $exec { 124 ; PIPELINE-NEXT: $vgpr10 = DS_READ_U16_gfx9 $vgpr7, 0, 512, implicit $exec 125 ; PIPELINE-NEXT: $vgpr11 = DS_READ_U16_gfx9 $vgpr7, 0, 2048, implicit $exec 126 ; PIPELINE-NEXT: $vgpr12 = DS_READ_U16_gfx9 $vgpr7, 0, 1024, implicit $exec 127 ; PIPELINE-NEXT: $vgpr15 = DS_READ_U16_gfx9 $vgpr7, 0, 4096, implicit $exec 128 ; PIPELINE-NEXT: $vgpr16 = DS_READ_U16_gfx9 $vgpr7, 0, 2048, implicit $exec 129 ; PIPELINE-NEXT: } 130 ; PIPELINE-NEXT: DS_WRITE_B32 $vgpr3, $vgpr1, 0, 16, implicit $m0, implicit $exec 131 ; PIPELINE-NEXT: BUNDLE implicit-def $vgpr19, implicit-def $vgpr19_lo16, implicit-def $vgpr19_hi16, implicit-def $vgpr20, implicit-def $vgpr20_lo16, implicit-def $vgpr20_hi16, implicit killed $vgpr26_vgpr27, implicit $exec { 132 ; PIPELINE-NEXT: $vgpr19 = GLOBAL_LOAD_USHORT $vgpr26_vgpr27, 0, 0, implicit $exec 133 ; PIPELINE-NEXT: $vgpr20 = GLOBAL_LOAD_USHORT killed $vgpr26_vgpr27, 0, 0, implicit $exec 134 ; PIPELINE-NEXT: } 135 ; PIPELINE-NEXT: $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32_e64 $vgpr3, $vgpr4, killed $agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec 136 ; PIPELINE-NEXT: $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 137 ; PIPELINE-NEXT: $agpr8_agpr9_agpr10_agpr11 = V_MFMA_F32_4X4X1F32_e64 $vgpr3, killed $vgpr4, killed $agpr8_agpr9_agpr10_agpr11, 0, 0, 0, implicit $mode, implicit $exec 138 ; PIPELINE-NEXT: $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32_e64 killed $vgpr5, killed $vgpr6, killed $agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec 139 ; PIPELINE-NEXT: $agpr16_agpr17_agpr18_agpr19 = V_MFMA_F32_4X4X1F32_e64 killed $vgpr10, killed $vgpr11, killed $agpr16_agpr17_agpr18_agpr19, 0, 0, 0, implicit $mode, implicit $exec 140 ; PIPELINE-NEXT: $agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_4X4X1F32_e64 killed $vgpr1, $vgpr0, killed $agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec 141 ; PIPELINE-NEXT: BUNDLE implicit killed $vgpr0, implicit killed $vgpr7, implicit $m0, implicit $exec, implicit killed $vgpr23, implicit killed $vgpr3 { 142 ; PIPELINE-NEXT: DS_WRITE_B32 killed $vgpr0, killed $vgpr7, 0, 16, implicit $m0, implicit $exec 143 ; PIPELINE-NEXT: DS_WRITE_B32 killed $vgpr23, killed $vgpr3, 0, 16, implicit $m0, implicit $exec 144 ; PIPELINE-NEXT: } 145 ; PIPELINE-NEXT: DS_WRITE_B32 killed $vgpr9, killed $vgpr24, 0, 16, implicit $m0, implicit $exec 146 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 147 $vgpr1 = V_MOV_B32_e32 1, implicit $exec 148 $vgpr2 = V_MOV_B32_e32 2, implicit $exec 149 $vgpr3 = V_MOV_B32_e32 3, implicit $exec 150 $vgpr4 = V_MOV_B32_e32 4, implicit $exec 151 $vgpr5 = V_MOV_B32_e32 5, implicit $exec 152 $vgpr30 = V_MOV_B32_e32 30, implicit $exec 153 $vgpr6 = GLOBAL_LOAD_USHORT $vgpr0_vgpr1, 0, 0, implicit $exec 154 $vgpr7 = GLOBAL_LOAD_USHORT $vgpr2_vgpr3, 0, 0, implicit $exec 155 $vgpr8 = GLOBAL_LOAD_USHORT $vgpr4_vgpr5, 0, 0, implicit $exec 156 $vgpr9 = V_MOV_B32_e32 1, implicit $exec 157 $vgpr1 = V_ADD_F16_e32 $vgpr1, $vgpr0, implicit $mode, implicit $exec 158 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 159 $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32_e64 $vgpr3, $vgpr4, $agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec 160 $vgpr23 = V_XOR_B32_e32 $vgpr1, $vgpr0, implicit $exec 161 $vgpr24 = V_MOV_B32_e32 1, implicit $exec 162 $agpr8_agpr9_agpr10_agpr11 = V_MFMA_F32_4X4X1F32_e64 $vgpr3, $vgpr4, $agpr8_agpr9_agpr10_agpr11, 0, 0, 0, implicit $mode, implicit $exec 163 $vgpr10 = DS_READ_U16_gfx9 $vgpr7, 0, 512, implicit $exec 164 $vgpr11 = DS_READ_U16_gfx9 $vgpr7, 0, 2048, implicit $exec 165 $vgpr26 = V_MOV_B32_e32 1, implicit $exec 166 $vgpr27 = V_MOV_B32_e32 1, implicit $exec 167 $vgpr12 = DS_READ_U16_gfx9 $vgpr7, 0, 1024, implicit $exec 168 $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32_e64 $vgpr5, $vgpr6, $agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec 169 $vgpr22 = V_XOR_B32_e32 $vgpr1, $vgpr0, implicit $exec 170 $vgpr21 = V_MUL_LO_U32_e64 $vgpr1, $sgpr0, implicit $exec 171 $vgpr15 = DS_READ_U16_gfx9 $vgpr7, 0, 4096, implicit $exec 172 $vgpr16 = DS_READ_U16_gfx9 $vgpr7, 0, 2048, implicit $exec 173 DS_WRITE_B32 $vgpr3, $vgpr1, 0, 16, implicit $m0, implicit $exec 174 $vgpr19 = GLOBAL_LOAD_USHORT $vgpr26_vgpr27, 0, 0, implicit $exec 175 $vgpr17 = V_MOV_B32_e32 1, implicit $exec 176 $vgpr18 = V_MOV_B32_e32 1, implicit $exec 177 $vgpr20 = GLOBAL_LOAD_USHORT $vgpr26_vgpr27, 0, 0, implicit $exec 178 DS_WRITE_B32 $vgpr0, $vgpr7, 0, 16, implicit $m0, implicit $exec 179 $agpr16_agpr17_agpr18_agpr19 = V_MFMA_F32_4X4X1F32_e64 $vgpr10, $vgpr11, $agpr16_agpr17_agpr18_agpr19, 0, 0, 0, implicit $mode, implicit $exec 180 DS_WRITE_B32 $vgpr23, $vgpr3, 0, 16, implicit $m0, implicit $exec 181 $agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec 182 DS_WRITE_B32 $vgpr9, $vgpr24, 0, 16, implicit $m0, implicit $exec 183... 184 185--- 186name: block_ends_in_bundle 187tracksRegLiveness: true 188body: | 189 bb.0: 190 liveins: $vgpr0, $vgpr1, $vgpr7, $agpr0_agpr1_agpr2_agpr3 191 ; DEFAULT-LABEL: name: block_ends_in_bundle 192 ; DEFAULT: liveins: $vgpr0, $vgpr1, $vgpr7, $agpr0_agpr1_agpr2_agpr3 193 ; DEFAULT-NEXT: {{ $}} 194 ; DEFAULT-NEXT: BUNDLE implicit-def $vgpr10, implicit-def $vgpr10_lo16, implicit-def $vgpr10_hi16, implicit-def $vgpr11, implicit-def $vgpr11_lo16, implicit-def $vgpr11_hi16, implicit-def $vgpr12, implicit-def $vgpr12_lo16, implicit-def $vgpr12_hi16, implicit-def $vgpr15, implicit-def $vgpr15_lo16, implicit-def $vgpr15_hi16, implicit-def $vgpr16, implicit-def $vgpr16_lo16, implicit-def $vgpr16_hi16, implicit killed $vgpr7, implicit $exec { 195 ; DEFAULT-NEXT: $vgpr10 = DS_READ_U16_gfx9 $vgpr7, 0, 512, implicit $exec 196 ; DEFAULT-NEXT: $vgpr11 = DS_READ_U16_gfx9 $vgpr7, 0, 2048, implicit $exec 197 ; DEFAULT-NEXT: $vgpr12 = DS_READ_U16_gfx9 $vgpr7, 0, 1024, implicit $exec 198 ; DEFAULT-NEXT: $vgpr15 = DS_READ_U16_gfx9 $vgpr7, 0, 4096, implicit $exec 199 ; DEFAULT-NEXT: $vgpr16 = DS_READ_U16_gfx9 killed $vgpr7, 0, 2048, implicit $exec 200 ; DEFAULT-NEXT: } 201 ; DEFAULT-NEXT: $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 202 ; PIPELINE-LABEL: name: block_ends_in_bundle 203 ; PIPELINE: liveins: $vgpr0, $vgpr1, $vgpr7, $agpr0_agpr1_agpr2_agpr3 204 ; PIPELINE-NEXT: {{ $}} 205 ; PIPELINE-NEXT: BUNDLE implicit-def $vgpr10, implicit-def $vgpr10_lo16, implicit-def $vgpr10_hi16, implicit-def $vgpr11, implicit-def $vgpr11_lo16, implicit-def $vgpr11_hi16, implicit-def $vgpr12, implicit-def $vgpr12_lo16, implicit-def $vgpr12_hi16, implicit-def $vgpr15, implicit-def $vgpr15_lo16, implicit-def $vgpr15_hi16, implicit-def $vgpr16, implicit-def $vgpr16_lo16, implicit-def $vgpr16_hi16, implicit killed $vgpr7, implicit $exec { 206 ; PIPELINE-NEXT: $vgpr10 = DS_READ_U16_gfx9 $vgpr7, 0, 512, implicit $exec 207 ; PIPELINE-NEXT: $vgpr11 = DS_READ_U16_gfx9 $vgpr7, 0, 2048, implicit $exec 208 ; PIPELINE-NEXT: $vgpr12 = DS_READ_U16_gfx9 $vgpr7, 0, 1024, implicit $exec 209 ; PIPELINE-NEXT: $vgpr15 = DS_READ_U16_gfx9 $vgpr7, 0, 4096, implicit $exec 210 ; PIPELINE-NEXT: $vgpr16 = DS_READ_U16_gfx9 killed $vgpr7, 0, 2048, implicit $exec 211 ; PIPELINE-NEXT: } 212 ; PIPELINE-NEXT: $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 213 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 214 BUNDLE implicit-def $vgpr10, implicit-def $vgpr10_lo16, implicit-def $vgpr10_hi16, implicit-def $vgpr11, implicit-def $vgpr11_lo16, implicit-def $vgpr11_hi16, implicit-def $vgpr12, implicit-def $vgpr12_lo16, implicit-def $vgpr12_hi16, implicit-def $vgpr15, implicit-def $vgpr15_lo16, implicit-def $vgpr15_hi16, implicit-def $vgpr16, implicit-def $vgpr16_lo16, implicit-def $vgpr16_hi16, implicit $vgpr7, implicit $exec { 215 $vgpr10 = DS_READ_U16_gfx9 $vgpr7, 0, 512, implicit $exec 216 $vgpr11 = DS_READ_U16_gfx9 $vgpr7, 0, 2048, implicit $exec 217 $vgpr12 = DS_READ_U16_gfx9 $vgpr7, 0, 1024, implicit $exec 218 $vgpr15 = DS_READ_U16_gfx9 $vgpr7, 0, 4096, implicit $exec 219 $vgpr16 = DS_READ_U16_gfx9 $vgpr7, 0, 2048, implicit $exec 220 } 221... 222