171 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx90a -run-pass=amdgpu-regbankselect,amdgpu-regbanklegalize %s -verify-machineinstrs -o - | FileCheck %s3 4---5name: assert_zext_vgpr6alignment: 47legalized: true8tracksRegLiveness: true9body: |10 bb.0:11 liveins: $vgpr012 13 ; CHECK-LABEL: name: assert_zext_vgpr14 ; CHECK: liveins: $vgpr015 ; CHECK-NEXT: {{ $}}16 ; CHECK-NEXT: %copy:vgpr(s32) = COPY $vgpr017 ; CHECK-NEXT: %assert_zext:vgpr(s32) = G_ASSERT_ZEXT %copy, 418 ; CHECK-NEXT: S_ENDPGM 0, implicit %assert_zext(s32)19 %copy:_(s32) = COPY $vgpr020 %assert_zext:_(s32) = G_ASSERT_ZEXT %copy, 421 S_ENDPGM 0, implicit %assert_zext22...23 24---25name: assert_zext_sgpr26alignment: 427legalized: true28tracksRegLiveness: true29body: |30 bb.0:31 liveins: $sgpr832 33 ; CHECK-LABEL: name: assert_zext_sgpr34 ; CHECK: liveins: $sgpr835 ; CHECK-NEXT: {{ $}}36 ; CHECK-NEXT: %copy:sgpr(s32) = COPY $sgpr837 ; CHECK-NEXT: %assert_zext:sgpr(s32) = G_ASSERT_ZEXT %copy, 438 ; CHECK-NEXT: S_ENDPGM 0, implicit %assert_zext(s32)39 %copy:_(s32) = COPY $sgpr840 %assert_zext:_(s32) = G_ASSERT_ZEXT %copy, 441 S_ENDPGM 0, implicit %assert_zext42...43 44---45name: assert_zext_agpr46alignment: 447legalized: true48tracksRegLiveness: true49body: |50 bb.0:51 liveins: $agpr052 53 ; CHECK-LABEL: name: assert_zext_agpr54 ; CHECK: liveins: $agpr055 ; CHECK-NEXT: {{ $}}56 ; CHECK-NEXT: %copy:vgpr(s32) = COPY $agpr057 ; CHECK-NEXT: %assert_zext:vgpr(s32) = G_ASSERT_ZEXT %copy, 458 ; CHECK-NEXT: S_ENDPGM 0, implicit %assert_zext(s32)59 %copy:_(s32) = COPY $agpr060 %assert_zext:_(s32) = G_ASSERT_ZEXT %copy, 461 S_ENDPGM 0, implicit %assert_zext62...63 64---65name: assert_zext_vgpr_regclass66alignment: 467legalized: true68tracksRegLiveness: true69body: |70 bb.0:71 liveins: $vgpr072 73 ; CHECK-LABEL: name: assert_zext_vgpr_regclass74 ; CHECK: liveins: $vgpr075 ; CHECK-NEXT: {{ $}}76 ; CHECK-NEXT: %copy:vgpr_32(s32) = COPY $vgpr077 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY %copy(s32)78 ; CHECK-NEXT: %assert_zext:vgpr(s32) = G_ASSERT_ZEXT [[COPY]], 479 ; CHECK-NEXT: S_ENDPGM 0, implicit %assert_zext(s32)80 %copy:vgpr_32(s32) = COPY $vgpr081 %assert_zext:_(s32) = G_ASSERT_ZEXT %copy, 482 S_ENDPGM 0, implicit %assert_zext83...84 85---86name: assert_zext_sgpr_regcllass87alignment: 488legalized: true89tracksRegLiveness: true90body: |91 bb.0:92 liveins: $sgpr893 94 ; CHECK-LABEL: name: assert_zext_sgpr_regcllass95 ; CHECK: liveins: $sgpr896 ; CHECK-NEXT: {{ $}}97 ; CHECK-NEXT: %copy:sgpr_32(s32) = COPY $sgpr898 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY %copy(s32)99 ; CHECK-NEXT: %assert_zext:sgpr(s32) = G_ASSERT_ZEXT [[COPY]], 4100 ; CHECK-NEXT: S_ENDPGM 0, implicit %assert_zext(s32)101 %copy:sgpr_32(s32) = COPY $sgpr8102 %assert_zext:_(s32) = G_ASSERT_ZEXT %copy, 4103 S_ENDPGM 0, implicit %assert_zext104...105 106---107name: assert_zext_vgpr_64108alignment: 4109legalized: true110tracksRegLiveness: true111body: |112 bb.0:113 liveins: $vgpr0_vgpr1114 115 ; CHECK-LABEL: name: assert_zext_vgpr_64116 ; CHECK: liveins: $vgpr0_vgpr1117 ; CHECK-NEXT: {{ $}}118 ; CHECK-NEXT: %copy:vreg_64(s64) = COPY $vgpr0_vgpr1119 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY %copy(s64)120 ; CHECK-NEXT: [[ASSERT_ZEXT:%[0-9]+]]:vgpr(s64) = G_ASSERT_ZEXT [[COPY]], 4121 ; CHECK-NEXT: %assert_zext:vreg_64(s64) = COPY [[ASSERT_ZEXT]](s64)122 ; CHECK-NEXT: S_ENDPGM 0, implicit %assert_zext(s64)123 %copy:vreg_64(s64) = COPY $vgpr0_vgpr1124 %assert_zext:vreg_64(s64) = G_ASSERT_ZEXT %copy, 4125 S_ENDPGM 0, implicit %assert_zext126...127 128---129name: assert_zext_sgpr_64130alignment: 4131legalized: true132tracksRegLiveness: true133body: |134 bb.0:135 liveins: $sgpr0_sgpr1136 137 ; CHECK-LABEL: name: assert_zext_sgpr_64138 ; CHECK: liveins: $sgpr0_sgpr1139 ; CHECK-NEXT: {{ $}}140 ; CHECK-NEXT: %copy:sreg_64(s64) = COPY $sgpr0_sgpr1141 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY %copy(s64)142 ; CHECK-NEXT: [[ASSERT_ZEXT:%[0-9]+]]:sgpr(s64) = G_ASSERT_ZEXT [[COPY]], 4143 ; CHECK-NEXT: %assert_zext:sreg_64(s64) = COPY [[ASSERT_ZEXT]](s64)144 ; CHECK-NEXT: S_ENDPGM 0, implicit %assert_zext(s64)145 %copy:sreg_64(s64) = COPY $sgpr0_sgpr1146 %assert_zext:sreg_64(s64) = G_ASSERT_ZEXT %copy, 4147 S_ENDPGM 0, implicit %assert_zext148...149 150---151name: assert_zext_agpr_64152alignment: 4153legalized: true154tracksRegLiveness: true155body: |156 bb.0:157 liveins: $agpr0_agpr1158 159 ; CHECK-LABEL: name: assert_zext_agpr_64160 ; CHECK: liveins: $agpr0_agpr1161 ; CHECK-NEXT: {{ $}}162 ; CHECK-NEXT: %copy:areg_64(s64) = COPY $agpr0_agpr1163 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY %copy(s64)164 ; CHECK-NEXT: [[ASSERT_ZEXT:%[0-9]+]]:vgpr(s64) = G_ASSERT_ZEXT [[COPY]], 4165 ; CHECK-NEXT: %assert_zext:areg_64(s64) = COPY [[ASSERT_ZEXT]](s64)166 ; CHECK-NEXT: S_ENDPGM 0, implicit %assert_zext(s64)167 %copy:areg_64(s64) = COPY $agpr0_agpr1168 %assert_zext:areg_64(s64) = G_ASSERT_ZEXT %copy, 4169 S_ENDPGM 0, implicit %assert_zext170...171