blob: 7e4064c1ee1649a3bbdab10d4914be8e55082180 [file] [edit]
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=amdgpu9.0a -run-pass=amdgpu-reg-bank-select,amdgpu-reg-bank-legalize %s -verify-machineinstrs -o - | FileCheck %s
---
name: assert_sext_vgpr
alignment: 4
legalized: true
tracksRegLiveness: true
body: |
bb.0:
liveins: $vgpr0
; CHECK-LABEL: name: assert_sext_vgpr
; CHECK: liveins: $vgpr0
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: %copy:vgpr(s32) = COPY $vgpr0
; CHECK-NEXT: %assert_sext:vgpr(s32) = G_ASSERT_SEXT %copy, 4
; CHECK-NEXT: S_ENDPGM 0, implicit %assert_sext(s32)
%copy:_(s32) = COPY $vgpr0
%assert_sext:_(s32) = G_ASSERT_SEXT %copy, 4
S_ENDPGM 0, implicit %assert_sext
...
---
name: assert_sext_sgpr
alignment: 4
legalized: true
tracksRegLiveness: true
body: |
bb.0:
liveins: $sgpr8
; CHECK-LABEL: name: assert_sext_sgpr
; CHECK: liveins: $sgpr8
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: %copy:sgpr(s32) = COPY $sgpr8
; CHECK-NEXT: %assert_sext:sgpr(s32) = G_ASSERT_SEXT %copy, 4
; CHECK-NEXT: S_ENDPGM 0, implicit %assert_sext(s32)
%copy:_(s32) = COPY $sgpr8
%assert_sext:_(s32) = G_ASSERT_SEXT %copy, 4
S_ENDPGM 0, implicit %assert_sext
...
---
name: assert_sext_agpr
alignment: 4
legalized: true
tracksRegLiveness: true
body: |
bb.0:
liveins: $agpr0
; CHECK-LABEL: name: assert_sext_agpr
; CHECK: liveins: $agpr0
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: %copy:vgpr(s32) = COPY $agpr0
; CHECK-NEXT: %assert_sext:vgpr(s32) = G_ASSERT_SEXT %copy, 4
; CHECK-NEXT: S_ENDPGM 0, implicit %assert_sext(s32)
%copy:_(s32) = COPY $agpr0
%assert_sext:_(s32) = G_ASSERT_SEXT %copy, 4
S_ENDPGM 0, implicit %assert_sext
...
---
name: assert_sext_vgpr_regclass
alignment: 4
legalized: true
tracksRegLiveness: true
body: |
bb.0:
liveins: $vgpr0
; CHECK-LABEL: name: assert_sext_vgpr_regclass
; CHECK: liveins: $vgpr0
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: %copy:vgpr_32(s32) = COPY $vgpr0
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY %copy(s32)
; CHECK-NEXT: %assert_sext:vgpr(s32) = G_ASSERT_SEXT [[COPY]], 4
; CHECK-NEXT: S_ENDPGM 0, implicit %assert_sext(s32)
%copy:vgpr_32(s32) = COPY $vgpr0
%assert_sext:_(s32) = G_ASSERT_SEXT %copy, 4
S_ENDPGM 0, implicit %assert_sext
...
---
name: assert_sext_sgpr_regcllass
alignment: 4
legalized: true
tracksRegLiveness: true
body: |
bb.0:
liveins: $sgpr8
; CHECK-LABEL: name: assert_sext_sgpr_regcllass
; CHECK: liveins: $sgpr8
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: %copy:sgpr_32(s32) = COPY $sgpr8
; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY %copy(s32)
; CHECK-NEXT: %assert_sext:sgpr(s32) = G_ASSERT_SEXT [[COPY]], 4
; CHECK-NEXT: S_ENDPGM 0, implicit %assert_sext(s32)
%copy:sgpr_32(s32) = COPY $sgpr8
%assert_sext:_(s32) = G_ASSERT_SEXT %copy, 4
S_ENDPGM 0, implicit %assert_sext
...
---
name: assert_sext_vgpr_64
alignment: 4
legalized: true
tracksRegLiveness: true
body: |
bb.0:
liveins: $vgpr0_vgpr1
; CHECK-LABEL: name: assert_sext_vgpr_64
; CHECK: liveins: $vgpr0_vgpr1
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: %copy:vreg_64(s64) = COPY $vgpr0_vgpr1
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY %copy(s64)
; CHECK-NEXT: [[ASSERT_SEXT:%[0-9]+]]:vgpr(s64) = G_ASSERT_SEXT [[COPY]], 4
; CHECK-NEXT: %assert_sext:vreg_64(s64) = COPY [[ASSERT_SEXT]](s64)
; CHECK-NEXT: S_ENDPGM 0, implicit %assert_sext(s64)
%copy:vreg_64(s64) = COPY $vgpr0_vgpr1
%assert_sext:vreg_64(s64) = G_ASSERT_SEXT %copy, 4
S_ENDPGM 0, implicit %assert_sext
...
---
name: assert_sext_sgpr_64
alignment: 4
legalized: true
tracksRegLiveness: true
body: |
bb.0:
liveins: $sgpr0_sgpr1
; CHECK-LABEL: name: assert_sext_sgpr_64
; CHECK: liveins: $sgpr0_sgpr1
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: %copy:sreg_64(s64) = COPY $sgpr0_sgpr1
; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY %copy(s64)
; CHECK-NEXT: [[ASSERT_SEXT:%[0-9]+]]:sgpr(s64) = G_ASSERT_SEXT [[COPY]], 4
; CHECK-NEXT: %assert_sext:sreg_64(s64) = COPY [[ASSERT_SEXT]](s64)
; CHECK-NEXT: S_ENDPGM 0, implicit %assert_sext(s64)
%copy:sreg_64(s64) = COPY $sgpr0_sgpr1
%assert_sext:sreg_64(s64) = G_ASSERT_SEXT %copy, 4
S_ENDPGM 0, implicit %assert_sext
...
---
name: assert_sext_agpr_64
alignment: 4
legalized: true
tracksRegLiveness: true
body: |
bb.0:
liveins: $agpr0_agpr1
; CHECK-LABEL: name: assert_sext_agpr_64
; CHECK: liveins: $agpr0_agpr1
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: %copy:areg_64(s64) = COPY $agpr0_agpr1
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY %copy(s64)
; CHECK-NEXT: [[ASSERT_SEXT:%[0-9]+]]:vgpr(s64) = G_ASSERT_SEXT [[COPY]], 4
; CHECK-NEXT: %assert_sext:areg_64(s64) = COPY [[ASSERT_SEXT]](s64)
; CHECK-NEXT: S_ENDPGM 0, implicit %assert_sext(s64)
%copy:areg_64(s64) = COPY $agpr0_agpr1
%assert_sext:areg_64(s64) = G_ASSERT_SEXT %copy, 4
S_ENDPGM 0, implicit %assert_sext
...