2020-07-02 01:42:13 +08:00
|
|
|
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
|
2019-07-12 05:19:33 +08:00
|
|
|
# RUN: llc -march=amdgcn -mcpu=gfx908 -run-pass postrapseudos -verify-machineinstrs -o - %s | FileCheck -check-prefix=GCN %s
|
|
|
|
|
[AMDGPU] Control num waves per EU for implicit work-group size
Summary:
If amdgpu-flat-work-group-size is not specified in LLVM IR, the backend
uses default value of 1024. For this, minimum waves per EU should be 4.
However, backend is still setting minimum value to 1 instead of calculated
value. This is not observed normally as frontend always provide
amdgpu-flat-work-group-size attribute.
Reviewers: rampitec, b-sumner, sameerds, msearles
Reviewed By: rampitec
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D81991
2020-06-17 12:06:48 +08:00
|
|
|
--- |
|
|
|
|
define amdgpu_kernel void @a_to_v() #0 { ret void }
|
2020-07-17 03:17:10 +08:00
|
|
|
define amdgpu_kernel void @a2_to_v2() #0 { ret void }
|
|
|
|
define amdgpu_kernel void @a3_to_v3() #0 { ret void }
|
[AMDGPU] Control num waves per EU for implicit work-group size
Summary:
If amdgpu-flat-work-group-size is not specified in LLVM IR, the backend
uses default value of 1024. For this, minimum waves per EU should be 4.
However, backend is still setting minimum value to 1 instead of calculated
value. This is not observed normally as frontend always provide
amdgpu-flat-work-group-size attribute.
Reviewers: rampitec, b-sumner, sameerds, msearles
Reviewed By: rampitec
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D81991
2020-06-17 12:06:48 +08:00
|
|
|
define amdgpu_kernel void @a4_to_v4() #0 { ret void }
|
2020-07-17 03:44:44 +08:00
|
|
|
define amdgpu_kernel void @a8_to_v8() #0 { ret void }
|
[AMDGPU] Control num waves per EU for implicit work-group size
Summary:
If amdgpu-flat-work-group-size is not specified in LLVM IR, the backend
uses default value of 1024. For this, minimum waves per EU should be 4.
However, backend is still setting minimum value to 1 instead of calculated
value. This is not observed normally as frontend always provide
amdgpu-flat-work-group-size attribute.
Reviewers: rampitec, b-sumner, sameerds, msearles
Reviewed By: rampitec
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D81991
2020-06-17 12:06:48 +08:00
|
|
|
define amdgpu_kernel void @a16_to_v16() #0 { ret void }
|
|
|
|
|
|
|
|
define amdgpu_kernel void @v_to_a() #0 { ret void }
|
2020-07-17 03:17:10 +08:00
|
|
|
define amdgpu_kernel void @v2_to_a2() #0 { ret void }
|
|
|
|
define amdgpu_kernel void @v3_to_a3() #0 { ret void }
|
[AMDGPU] Control num waves per EU for implicit work-group size
Summary:
If amdgpu-flat-work-group-size is not specified in LLVM IR, the backend
uses default value of 1024. For this, minimum waves per EU should be 4.
However, backend is still setting minimum value to 1 instead of calculated
value. This is not observed normally as frontend always provide
amdgpu-flat-work-group-size attribute.
Reviewers: rampitec, b-sumner, sameerds, msearles
Reviewed By: rampitec
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D81991
2020-06-17 12:06:48 +08:00
|
|
|
define amdgpu_kernel void @v4_to_a4() #0 { ret void }
|
2020-07-17 03:17:10 +08:00
|
|
|
define amdgpu_kernel void @v8_to_a8() #0 { ret void }
|
[AMDGPU] Control num waves per EU for implicit work-group size
Summary:
If amdgpu-flat-work-group-size is not specified in LLVM IR, the backend
uses default value of 1024. For this, minimum waves per EU should be 4.
However, backend is still setting minimum value to 1 instead of calculated
value. This is not observed normally as frontend always provide
amdgpu-flat-work-group-size attribute.
Reviewers: rampitec, b-sumner, sameerds, msearles
Reviewed By: rampitec
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D81991
2020-06-17 12:06:48 +08:00
|
|
|
define amdgpu_kernel void @v16_to_a16() #0 { ret void }
|
|
|
|
|
|
|
|
define amdgpu_kernel void @s_to_a() #0 { ret void }
|
|
|
|
define amdgpu_kernel void @s2_to_a2() #0 { ret void }
|
2020-07-17 03:17:10 +08:00
|
|
|
define amdgpu_kernel void @s3_to_a3() #0 { ret void }
|
|
|
|
define amdgpu_kernel void @s4_to_a4() #0 { ret void }
|
|
|
|
define amdgpu_kernel void @s6_to_a6() #0 { ret void }
|
|
|
|
define amdgpu_kernel void @s8_to_a8() #0 { ret void }
|
2020-07-17 03:44:44 +08:00
|
|
|
define amdgpu_kernel void @s16_to_a16() #0 { ret void }
|
[AMDGPU] Control num waves per EU for implicit work-group size
Summary:
If amdgpu-flat-work-group-size is not specified in LLVM IR, the backend
uses default value of 1024. For this, minimum waves per EU should be 4.
However, backend is still setting minimum value to 1 instead of calculated
value. This is not observed normally as frontend always provide
amdgpu-flat-work-group-size attribute.
Reviewers: rampitec, b-sumner, sameerds, msearles
Reviewed By: rampitec
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D81991
2020-06-17 12:06:48 +08:00
|
|
|
|
|
|
|
define amdgpu_kernel void @a_to_a() #0 { ret void }
|
|
|
|
define amdgpu_kernel void @a2_to_a2() #0 { ret void }
|
2020-07-17 03:17:10 +08:00
|
|
|
define amdgpu_kernel void @a3_to_a3() #0 { ret void }
|
|
|
|
define amdgpu_kernel void @a4_to_a4() #0 { ret void }
|
2020-07-02 00:48:42 +08:00
|
|
|
define amdgpu_kernel void @a4_to_a4_overlap() #0 { ret void }
|
2020-07-17 03:17:10 +08:00
|
|
|
define amdgpu_kernel void @a8_to_a8() #0 { ret void }
|
2020-07-17 03:44:44 +08:00
|
|
|
define amdgpu_kernel void @a16_to_a16() #0 { ret void }
|
[AMDGPU] Control num waves per EU for implicit work-group size
Summary:
If amdgpu-flat-work-group-size is not specified in LLVM IR, the backend
uses default value of 1024. For this, minimum waves per EU should be 4.
However, backend is still setting minimum value to 1 instead of calculated
value. This is not observed normally as frontend always provide
amdgpu-flat-work-group-size attribute.
Reviewers: rampitec, b-sumner, sameerds, msearles
Reviewed By: rampitec
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D81991
2020-06-17 12:06:48 +08:00
|
|
|
|
|
|
|
define amdgpu_kernel void @a_to_a_spill() #0 { ret void }
|
2020-07-02 00:48:42 +08:00
|
|
|
define amdgpu_kernel void @copy_sgpr_to_agpr_tuple() #0 { ret void }
|
|
|
|
define amdgpu_kernel void @copy_sgpr_to_agpr_tuple_kill() #0 { ret void }
|
|
|
|
define amdgpu_kernel void @copy_agpr_to_agpr_tuple() #0 { ret void }
|
|
|
|
define amdgpu_kernel void @copy_agpr_to_agpr_tuple_kill() #0 { ret void }
|
|
|
|
|
[AMDGPU] Control num waves per EU for implicit work-group size
Summary:
If amdgpu-flat-work-group-size is not specified in LLVM IR, the backend
uses default value of 1024. For this, minimum waves per EU should be 4.
However, backend is still setting minimum value to 1 instead of calculated
value. This is not observed normally as frontend always provide
amdgpu-flat-work-group-size attribute.
Reviewers: rampitec, b-sumner, sameerds, msearles
Reviewed By: rampitec
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D81991
2020-06-17 12:06:48 +08:00
|
|
|
attributes #0 = { "amdgpu-flat-work-group-size"="1,256" }
|
|
|
|
...
|
|
|
|
|
2019-07-12 05:19:33 +08:00
|
|
|
---
|
|
|
|
name: a_to_v
|
2020-07-02 02:46:07 +08:00
|
|
|
tracksRegLiveness: true
|
2019-07-12 05:19:33 +08:00
|
|
|
body: |
|
|
|
|
bb.0:
|
2020-07-02 02:46:07 +08:00
|
|
|
liveins: $agpr0
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN-LABEL: name: a_to_v
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: liveins: $agpr0
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $vgpr0
|
2019-07-12 05:19:33 +08:00
|
|
|
$vgpr0 = COPY killed $agpr0, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
S_ENDPGM 0, implicit $vgpr0
|
2019-07-12 05:19:33 +08:00
|
|
|
...
|
|
|
|
|
2020-07-17 03:17:10 +08:00
|
|
|
---
|
|
|
|
name: a2_to_v2
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $agpr0_agpr1
|
|
|
|
|
|
|
|
; GCN-LABEL: name: a2_to_v2
|
|
|
|
; GCN: liveins: $agpr0_agpr1
|
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr0, implicit $exec, implicit-def $vgpr0_vgpr1, implicit $agpr0_agpr1
|
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit killed $agpr0_agpr1, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $vgpr0_vgpr1
|
|
|
|
$vgpr0_vgpr1 = COPY killed $agpr0_agpr1, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $vgpr0_vgpr1
|
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: a3_to_v3
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $agpr0_agpr1_agpr2
|
|
|
|
|
|
|
|
; GCN-LABEL: name: a3_to_v3
|
|
|
|
; GCN: liveins: $agpr0_agpr1_agpr2
|
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr0, implicit $exec, implicit-def $vgpr0_vgpr1_vgpr2, implicit $agpr0_agpr1_agpr2
|
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1_agpr2
|
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr2, implicit $exec, implicit killed $agpr0_agpr1_agpr2, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $vgpr0_vgpr1_vgpr2
|
|
|
|
$vgpr0_vgpr1_vgpr2 = COPY killed $agpr0_agpr1_agpr2, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $vgpr0_vgpr1_vgpr2
|
|
|
|
...
|
|
|
|
|
2019-07-12 05:19:33 +08:00
|
|
|
---
|
|
|
|
name: a4_to_v4
|
2020-07-02 02:46:07 +08:00
|
|
|
tracksRegLiveness: true
|
2019-07-12 05:19:33 +08:00
|
|
|
body: |
|
|
|
|
bb.0:
|
2020-07-02 02:46:07 +08:00
|
|
|
liveins: $agpr0_agpr1_agpr2_agpr3
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN-LABEL: name: a4_to_v4
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: liveins: $agpr0_agpr1_agpr2_agpr3
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr0, implicit $exec, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr2, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $vgpr3 = V_ACCVGPR_READ_B32 $agpr3, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $vgpr0_vgpr1_vgpr2_vgpr3
|
2019-07-12 05:19:33 +08:00
|
|
|
$vgpr0_vgpr1_vgpr2_vgpr3 = COPY killed $agpr0_agpr1_agpr2_agpr3, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
S_ENDPGM 0, implicit $vgpr0_vgpr1_vgpr2_vgpr3
|
2019-07-12 05:19:33 +08:00
|
|
|
...
|
|
|
|
|
2020-07-17 03:44:44 +08:00
|
|
|
---
|
|
|
|
name: a8_to_v8
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
|
|
|
|
; GCN-LABEL: name: a8_to_v8
|
|
|
|
; GCN: liveins: $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr0, implicit $exec, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr2, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr3 = V_ACCVGPR_READ_B32 $agpr3, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr4 = V_ACCVGPR_READ_B32 $agpr4, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr5 = V_ACCVGPR_READ_B32 $agpr5, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr6 = V_ACCVGPR_READ_B32 $agpr6, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr7 = V_ACCVGPR_READ_B32 $agpr7, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
$vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
...
|
|
|
|
|
2019-07-12 05:19:33 +08:00
|
|
|
---
|
|
|
|
name: a16_to_v16
|
2020-07-02 02:46:07 +08:00
|
|
|
tracksRegLiveness: true
|
2019-07-12 05:19:33 +08:00
|
|
|
body: |
|
|
|
|
bb.0:
|
2020-07-02 02:46:07 +08:00
|
|
|
liveins: $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN-LABEL: name: a16_to_v16
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: liveins: $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr0, implicit $exec, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr2, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr3 = V_ACCVGPR_READ_B32 $agpr3, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr4 = V_ACCVGPR_READ_B32 $agpr4, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr5 = V_ACCVGPR_READ_B32 $agpr5, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr6 = V_ACCVGPR_READ_B32 $agpr6, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr7 = V_ACCVGPR_READ_B32 $agpr7, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr8 = V_ACCVGPR_READ_B32 $agpr8, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr9 = V_ACCVGPR_READ_B32 $agpr9, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr10 = V_ACCVGPR_READ_B32 $agpr10, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr11 = V_ACCVGPR_READ_B32 $agpr11, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr12 = V_ACCVGPR_READ_B32 $agpr12, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr13 = V_ACCVGPR_READ_B32 $agpr13, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr14 = V_ACCVGPR_READ_B32 $agpr14, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr15 = V_ACCVGPR_READ_B32 $agpr15, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
2019-07-12 05:19:33 +08:00
|
|
|
$vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
S_ENDPGM 0, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
2019-07-12 05:19:33 +08:00
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: v_to_a
|
2020-07-02 02:46:07 +08:00
|
|
|
tracksRegLiveness: true
|
2019-07-12 05:19:33 +08:00
|
|
|
body: |
|
|
|
|
bb.0:
|
2020-07-02 02:46:07 +08:00
|
|
|
liveins: $vgpr0
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN-LABEL: name: v_to_a
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: liveins: $vgpr0
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0
|
2019-07-12 05:19:33 +08:00
|
|
|
$agpr0 = COPY killed $vgpr0, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
S_ENDPGM 0, implicit $agpr0
|
2019-07-12 05:19:33 +08:00
|
|
|
...
|
|
|
|
|
2020-07-17 03:17:10 +08:00
|
|
|
---
|
|
|
|
name: v2_to_a2
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $vgpr0_vgpr1
|
|
|
|
; GCN-LABEL: name: v2_to_a2
|
|
|
|
; GCN: liveins: $vgpr0_vgpr1
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 $vgpr0, implicit $exec, implicit-def $agpr0_agpr1, implicit $vgpr0_vgpr1
|
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 $vgpr1, implicit $exec, implicit killed $vgpr0_vgpr1, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0_agpr1
|
|
|
|
$agpr0_agpr1 = COPY killed $vgpr0_vgpr1, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr0_agpr1
|
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: v3_to_a3
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $vgpr0_vgpr1_vgpr2
|
|
|
|
; GCN-LABEL: name: v3_to_a3
|
|
|
|
; GCN: liveins: $vgpr0_vgpr1_vgpr2
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 $vgpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2, implicit $vgpr0_vgpr1_vgpr2
|
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 $vgpr1, implicit $exec, implicit $vgpr0_vgpr1_vgpr2
|
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 $vgpr2, implicit $exec, implicit killed $vgpr0_vgpr1_vgpr2, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0_agpr1_agpr2
|
|
|
|
$agpr0_agpr1_agpr2 = COPY killed $vgpr0_vgpr1_vgpr2, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr0_agpr1_agpr2
|
|
|
|
...
|
|
|
|
|
2019-07-12 05:19:33 +08:00
|
|
|
---
|
|
|
|
name: v4_to_a4
|
2020-07-02 02:46:07 +08:00
|
|
|
tracksRegLiveness: true
|
2019-07-12 05:19:33 +08:00
|
|
|
body: |
|
|
|
|
bb.0:
|
2020-07-02 02:46:07 +08:00
|
|
|
liveins: $vgpr0_vgpr1_vgpr2_vgpr3
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN-LABEL: name: v4_to_a4
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: liveins: $vgpr0_vgpr1_vgpr2_vgpr3
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 $vgpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3, implicit $vgpr0_vgpr1_vgpr2_vgpr3
|
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 $vgpr1, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3
|
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 $vgpr2, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3
|
|
|
|
; GCN: $agpr3 = V_ACCVGPR_WRITE_B32 $vgpr3, implicit $exec, implicit killed $vgpr0_vgpr1_vgpr2_vgpr3, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3
|
2019-07-12 05:19:33 +08:00
|
|
|
$agpr0_agpr1_agpr2_agpr3 = COPY killed $vgpr0_vgpr1_vgpr2_vgpr3, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3
|
2019-07-12 05:19:33 +08:00
|
|
|
...
|
|
|
|
|
2020-07-17 03:17:10 +08:00
|
|
|
---
|
|
|
|
name: v8_to_a8
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
; GCN-LABEL: name: v8_to_a8
|
|
|
|
; GCN: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 $vgpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 $vgpr1, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 $vgpr2, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
; GCN: $agpr3 = V_ACCVGPR_WRITE_B32 $vgpr3, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 $vgpr4, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
; GCN: $agpr5 = V_ACCVGPR_WRITE_B32 $vgpr5, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
; GCN: $agpr6 = V_ACCVGPR_WRITE_B32 $vgpr6, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
; GCN: $agpr7 = V_ACCVGPR_WRITE_B32 $vgpr7, implicit $exec, implicit killed $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
$agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = COPY killed $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
|
|
|
|
S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
...
|
|
|
|
|
2019-07-12 05:19:33 +08:00
|
|
|
---
|
|
|
|
name: v16_to_a16
|
2020-07-02 02:46:07 +08:00
|
|
|
tracksRegLiveness: true
|
2019-07-12 05:19:33 +08:00
|
|
|
body: |
|
|
|
|
bb.0:
|
2020-07-02 02:46:07 +08:00
|
|
|
liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN-LABEL: name: v16_to_a16
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 $vgpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 $vgpr1, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 $vgpr2, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr3 = V_ACCVGPR_WRITE_B32 $vgpr3, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 $vgpr4, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr5 = V_ACCVGPR_WRITE_B32 $vgpr5, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr6 = V_ACCVGPR_WRITE_B32 $vgpr6, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr7 = V_ACCVGPR_WRITE_B32 $vgpr7, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr8 = V_ACCVGPR_WRITE_B32 $vgpr8, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr9 = V_ACCVGPR_WRITE_B32 $vgpr9, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr10 = V_ACCVGPR_WRITE_B32 $vgpr10, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr11 = V_ACCVGPR_WRITE_B32 $vgpr11, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr12 = V_ACCVGPR_WRITE_B32 $vgpr12, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr13 = V_ACCVGPR_WRITE_B32 $vgpr13, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr14 = V_ACCVGPR_WRITE_B32 $vgpr14, implicit $exec, implicit $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
|
|
|
|
; GCN: $agpr15 = V_ACCVGPR_WRITE_B32 $vgpr15, implicit $exec, implicit killed $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2019-07-12 05:19:33 +08:00
|
|
|
$agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = COPY killed $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2019-07-12 05:19:33 +08:00
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: s_to_a
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $sgpr0
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN-LABEL: name: s_to_a
|
|
|
|
; GCN: liveins: $sgpr0
|
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 killed $sgpr0, implicit $exec
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0
|
2019-07-12 05:19:33 +08:00
|
|
|
$agpr0 = COPY killed $sgpr0, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
S_ENDPGM 0, implicit $agpr0
|
2019-07-12 05:19:33 +08:00
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: s2_to_a2
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $sgpr0_sgpr1
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN-LABEL: name: s2_to_a2
|
|
|
|
; GCN: liveins: $sgpr0_sgpr1
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr0, implicit $exec, implicit $sgpr0_sgpr1
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit-def $agpr0_agpr1
|
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 killed $sgpr1, implicit $exec, implicit killed $sgpr0_sgpr1
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0_agpr1
|
2019-07-12 05:19:33 +08:00
|
|
|
$agpr0_agpr1 = COPY killed $sgpr0_sgpr1, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
S_ENDPGM 0, implicit $agpr0_agpr1
|
2019-07-12 05:19:33 +08:00
|
|
|
...
|
|
|
|
|
2020-07-17 03:17:10 +08:00
|
|
|
---
|
|
|
|
name: s3_to_a3
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $sgpr0_sgpr1_sgpr2
|
|
|
|
; GCN-LABEL: name: s3_to_a3
|
|
|
|
; GCN: liveins: $sgpr0_sgpr1_sgpr2
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr0, implicit $exec, implicit $sgpr0_sgpr1_sgpr2
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2
|
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr1, implicit $exec, implicit $sgpr0_sgpr1_sgpr2
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 killed $sgpr2, implicit $exec, implicit killed $sgpr0_sgpr1_sgpr2
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0_agpr1_agpr2
|
|
|
|
$agpr0_agpr1_agpr2 = COPY killed $sgpr0_sgpr1_sgpr2, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr0_agpr1_agpr2
|
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: s4_to_a4
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
; GCN-LABEL: name: s4_to_a4
|
|
|
|
; GCN: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr0, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr1, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 $sgpr2, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 killed $sgpr3, implicit $exec, implicit killed $sgpr0_sgpr1_sgpr2_sgpr3
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr3 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
$agpr0_agpr1_agpr2_agpr3 = COPY killed $sgpr0_sgpr1_sgpr2_sgpr3, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: s6_to_a6
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5
|
|
|
|
; GCN-LABEL: name: s6_to_a6
|
|
|
|
; GCN: liveins: $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr0, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
|
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr1, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 $sgpr2, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr3, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr3 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr4, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 killed $sgpr5, implicit $exec, implicit killed $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr5 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
|
|
|
|
$agpr0_agpr1_agpr2_agpr3_agpr4_agpr5 = COPY killed $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5
|
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: s8_to_a8
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7
|
|
|
|
; GCN-LABEL: name: s8_to_a8
|
|
|
|
; GCN: liveins: $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr0, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr1, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 $sgpr2, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr3, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr3 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr4, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 $sgpr5, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr5 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr6, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr6 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 killed $sgpr7, implicit $exec, implicit killed $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr7 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
$agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = COPY killed $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
...
|
|
|
|
|
2020-07-17 03:44:44 +08:00
|
|
|
---
|
|
|
|
name: s16_to_a16
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
|
|
|
; GCN-LABEL: name: s16_to_a16
|
|
|
|
; GCN: liveins: $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr0, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit-def $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr1, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 $sgpr2, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr3, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr3 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr4, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 $sgpr5, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr5 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr6, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr6 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr7, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr7 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 $sgpr8, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr8 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr9, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr9 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr10, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr10 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 $sgpr11, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr11 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr12, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr12 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr13, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr13 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 $sgpr14, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr14 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 killed $sgpr15, implicit $exec, implicit killed $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr15 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
$agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = COPY killed $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
...
|
|
|
|
|
2019-07-12 05:19:33 +08:00
|
|
|
---
|
|
|
|
name: a_to_a
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN-LABEL: name: a_to_a
|
|
|
|
; GCN: $agpr1 = IMPLICIT_DEF
|
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr1, implicit $exec
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0
|
2019-07-12 05:19:33 +08:00
|
|
|
$agpr1 = IMPLICIT_DEF
|
|
|
|
$agpr0 = COPY killed $agpr1, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
S_ENDPGM 0, implicit $agpr0
|
2019-07-12 05:19:33 +08:00
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: a2_to_a2
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN-LABEL: name: a2_to_a2
|
|
|
|
; GCN: $agpr0_agpr1 = IMPLICIT_DEF
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1
|
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec, implicit-def $agpr1_agpr2
|
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec, implicit killed $agpr0_agpr1
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN: $agpr1 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr1_agpr2
|
2019-07-12 05:19:33 +08:00
|
|
|
$agpr0_agpr1 = IMPLICIT_DEF
|
|
|
|
$agpr1_agpr2 = COPY killed $agpr0_agpr1, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
S_ENDPGM 0, implicit $agpr1_agpr2
|
2019-07-12 05:19:33 +08:00
|
|
|
...
|
|
|
|
|
2020-07-17 03:17:10 +08:00
|
|
|
---
|
|
|
|
name: a3_to_a3
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
; GCN-LABEL: name: a3_to_a3
|
|
|
|
; GCN: $agpr0_agpr1_agpr2 = IMPLICIT_DEF
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr2, implicit $exec, implicit $agpr0_agpr1_agpr2
|
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit-def $agpr2_agpr3_agpr4
|
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1_agpr2
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr3 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec, implicit killed $agpr0_agpr1_agpr2
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr2_agpr3_agpr4
|
|
|
|
$agpr0_agpr1_agpr2 = IMPLICIT_DEF
|
|
|
|
$agpr2_agpr3_agpr4 = COPY killed $agpr0_agpr1_agpr2, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr2_agpr3_agpr4
|
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: a4_to_a4
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
; GCN-LABEL: name: a4_to_a4
|
|
|
|
; GCN: $agpr0_agpr1_agpr2_agpr3 = IMPLICIT_DEF
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr3, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr5 = V_ACCVGPR_WRITE_B32 $vgpr2, implicit $exec, implicit-def $agpr2_agpr3_agpr4_agpr5
|
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 $vgpr2, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr3 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr3 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 killed $vgpr3, implicit $exec, implicit $exec
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr2_agpr3_agpr4_agpr5
|
|
|
|
$agpr0_agpr1_agpr2_agpr3 = IMPLICIT_DEF
|
|
|
|
$agpr2_agpr3_agpr4_agpr5 = COPY killed $agpr0_agpr1_agpr2_agpr3, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr2_agpr3_agpr4_agpr5
|
|
|
|
...
|
|
|
|
|
2020-07-02 00:48:42 +08:00
|
|
|
---
|
|
|
|
name: a4_to_a4_overlap
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN-LABEL: name: a4_to_a4_overlap
|
|
|
|
; GCN: liveins: $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr3, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr5 = V_ACCVGPR_WRITE_B32 $vgpr2, implicit $exec, implicit-def $agpr2_agpr3_agpr4_agpr5
|
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 $vgpr2, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr3 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
|
|
|
; GCN: $vgpr3 = V_ACCVGPR_READ_B32 $agpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr2 = V_ACCVGPR_WRITE_B32 killed $vgpr3, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0, implicit $agpr1, implicit $agpr2, implicit $agpr3, implicit $agpr4, implicit $agpr5
|
|
|
|
$agpr2_agpr3_agpr4_agpr5 = COPY $agpr0_agpr1_agpr2_agpr3, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr0, implicit $agpr1, implicit $agpr2, implicit $agpr3, implicit $agpr4, implicit $agpr5
|
|
|
|
...
|
|
|
|
|
2020-07-17 03:17:10 +08:00
|
|
|
---
|
|
|
|
name: a8_to_a8
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
; GCN-LABEL: name: a8_to_a8
|
|
|
|
; GCN: $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = IMPLICIT_DEF
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr7, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $agpr15 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec, implicit-def $agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr6, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr14 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr5, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr13 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr4, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr12 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr3, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr11 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr2, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr10 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr9 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7
|
2020-07-17 03:17:10 +08:00
|
|
|
; GCN: $agpr8 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
$agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = IMPLICIT_DEF
|
|
|
|
$agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = COPY killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
...
|
2019-07-12 05:19:33 +08:00
|
|
|
|
2020-07-17 03:44:44 +08:00
|
|
|
---
|
|
|
|
name: a16_to_a16
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
|
|
|
|
; GCN-LABEL: name: a16_to_a16
|
|
|
|
; GCN: $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = IMPLICIT_DEF
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr15, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
|
|
|
; GCN: $agpr31 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit-def $agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
|
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr14, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr30 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr13, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr29 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr12, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr28 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr11, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr27 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr10, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr26 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr9, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr25 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr8, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr24 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr7, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr23 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr6, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr22 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr5, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr21 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr4, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr20 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr3, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr19 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr2, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr18 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr17 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
2020-07-02 00:48:42 +08:00
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15
|
2020-07-17 03:44:44 +08:00
|
|
|
; GCN: $agpr16 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
|
|
|
|
$agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = IMPLICIT_DEF
|
|
|
|
$agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = COPY killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31
|
|
|
|
...
|
|
|
|
|
2020-07-02 01:42:13 +08:00
|
|
|
# Using last vgpr255 will raise error about absence of emergency spill slot.
|
2019-07-12 05:19:33 +08:00
|
|
|
|
|
|
|
---
|
|
|
|
name: a_to_a_spill
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47, $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63, $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79, $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95, $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111, $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127, $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143, $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159, $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175, $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191, $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207, $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223, $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239, $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247, $vgpr248_vgpr249_vgpr250_vgpr251, $vgpr252_vgpr253, $vgpr254
|
|
|
|
|
2020-07-02 01:42:13 +08:00
|
|
|
; GCN-LABEL: name: a_to_a_spill
|
|
|
|
; GCN: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47, $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63, $vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71_vgpr72_vgpr73_vgpr74_vgpr75_vgpr76_vgpr77_vgpr78_vgpr79, $vgpr80_vgpr81_vgpr82_vgpr83_vgpr84_vgpr85_vgpr86_vgpr87_vgpr88_vgpr89_vgpr90_vgpr91_vgpr92_vgpr93_vgpr94_vgpr95, $vgpr96_vgpr97_vgpr98_vgpr99_vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111, $vgpr112_vgpr113_vgpr114_vgpr115_vgpr116_vgpr117_vgpr118_vgpr119_vgpr120_vgpr121_vgpr122_vgpr123_vgpr124_vgpr125_vgpr126_vgpr127, $vgpr128_vgpr129_vgpr130_vgpr131_vgpr132_vgpr133_vgpr134_vgpr135_vgpr136_vgpr137_vgpr138_vgpr139_vgpr140_vgpr141_vgpr142_vgpr143, $vgpr144_vgpr145_vgpr146_vgpr147_vgpr148_vgpr149_vgpr150_vgpr151_vgpr152_vgpr153_vgpr154_vgpr155_vgpr156_vgpr157_vgpr158_vgpr159, $vgpr160_vgpr161_vgpr162_vgpr163_vgpr164_vgpr165_vgpr166_vgpr167_vgpr168_vgpr169_vgpr170_vgpr171_vgpr172_vgpr173_vgpr174_vgpr175, $vgpr176_vgpr177_vgpr178_vgpr179_vgpr180_vgpr181_vgpr182_vgpr183_vgpr184_vgpr185_vgpr186_vgpr187_vgpr188_vgpr189_vgpr190_vgpr191, $vgpr192_vgpr193_vgpr194_vgpr195_vgpr196_vgpr197_vgpr198_vgpr199_vgpr200_vgpr201_vgpr202_vgpr203_vgpr204_vgpr205_vgpr206_vgpr207, $vgpr208_vgpr209_vgpr210_vgpr211_vgpr212_vgpr213_vgpr214_vgpr215_vgpr216_vgpr217_vgpr218_vgpr219_vgpr220_vgpr221_vgpr222_vgpr223, $vgpr224_vgpr225_vgpr226_vgpr227_vgpr228_vgpr229_vgpr230_vgpr231_vgpr232_vgpr233_vgpr234_vgpr235_vgpr236_vgpr237_vgpr238_vgpr239, $vgpr240_vgpr241_vgpr242_vgpr243_vgpr244_vgpr245_vgpr246_vgpr247, $vgpr248_vgpr249_vgpr250_vgpr251, $vgpr252_vgpr253, $vgpr254
|
|
|
|
; GCN: $agpr1 = IMPLICIT_DEF
|
|
|
|
; GCN: $vgpr255 = V_ACCVGPR_READ_B32 killed $agpr1, implicit $exec
|
|
|
|
; GCN: $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr255, implicit $exec, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr0
|
2019-07-12 05:19:33 +08:00
|
|
|
$agpr1 = IMPLICIT_DEF
|
|
|
|
$agpr0 = COPY killed $agpr1, implicit $exec
|
2020-07-02 02:46:07 +08:00
|
|
|
S_ENDPGM 0, implicit $agpr0
|
2019-07-12 05:19:33 +08:00
|
|
|
...
|
2020-07-02 00:48:42 +08:00
|
|
|
|
|
|
|
---
|
|
|
|
name: copy_sgpr_to_agpr_tuple
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $agpr0, $sgpr2_sgpr3
|
|
|
|
|
|
|
|
; GCN-LABEL: name: copy_sgpr_to_agpr_tuple
|
|
|
|
; GCN: liveins: $agpr0, $sgpr2_sgpr3
|
|
|
|
; GCN: S_NOP 0, implicit-def dead $sgpr0_sgpr1
|
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr3, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
; GCN: $agpr7 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit-def $agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr2, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
; GCN: $agpr6 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 $sgpr1, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
; GCN: $agpr5 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr0, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr4_agpr5_agpr6_agpr7, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
S_NOP 0, implicit-def dead $sgpr0_sgpr1
|
|
|
|
renamable $agpr4_agpr5_agpr6_agpr7 = COPY renamable $sgpr0_sgpr1_sgpr2_sgpr3, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr4_agpr5_agpr6_agpr7, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
...
|
|
|
|
---
|
|
|
|
name: copy_sgpr_to_agpr_tuple_kill
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $agpr0, $sgpr2_sgpr3
|
|
|
|
|
|
|
|
; GCN-LABEL: name: copy_sgpr_to_agpr_tuple_kill
|
|
|
|
; GCN: liveins: $agpr0, $sgpr2_sgpr3
|
|
|
|
; GCN: S_NOP 0, implicit-def dead $sgpr0_sgpr1
|
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 $sgpr3, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
; GCN: $agpr7 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit-def $agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr0 = V_MOV_B32_e32 $sgpr2, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
; GCN: $agpr6 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
|
|
|
; GCN: $vgpr2 = V_MOV_B32_e32 $sgpr1, implicit $exec, implicit $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
; GCN: $agpr5 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
|
|
|
; GCN: $vgpr1 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit killed $sgpr0_sgpr1_sgpr2_sgpr3
|
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr4_agpr5_agpr6_agpr7
|
|
|
|
S_NOP 0, implicit-def dead $sgpr0_sgpr1
|
|
|
|
renamable $agpr4_agpr5_agpr6_agpr7 = COPY renamable killed $sgpr0_sgpr1_sgpr2_sgpr3, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr4_agpr5_agpr6_agpr7
|
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: copy_agpr_to_agpr_tuple
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $agpr0, $agpr2_agpr3
|
|
|
|
|
|
|
|
; GCN-LABEL: name: copy_agpr_to_agpr_tuple
|
|
|
|
; GCN: liveins: $agpr0, $agpr2_agpr3
|
|
|
|
; GCN: S_NOP 0, implicit-def dead $agpr0_agpr1
|
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr3, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr7 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit-def $agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr2, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr6 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr5 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr0, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr4_agpr5_agpr6_agpr7, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
S_NOP 0, implicit-def dead $agpr0_agpr1
|
|
|
|
renamable $agpr4_agpr5_agpr6_agpr7 = COPY renamable $agpr0_agpr1_agpr2_agpr3, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr4_agpr5_agpr6_agpr7, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
name: copy_agpr_to_agpr_tuple_kill
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
liveins: $agpr0, $agpr2_agpr3
|
|
|
|
|
|
|
|
; GCN-LABEL: name: copy_agpr_to_agpr_tuple_kill
|
|
|
|
; GCN: liveins: $agpr0, $agpr2_agpr3
|
|
|
|
; GCN: S_NOP 0, implicit-def dead $agpr0_agpr1
|
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 $agpr3, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr7 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit-def $agpr4_agpr5_agpr6_agpr7
|
|
|
|
; GCN: $vgpr0 = V_ACCVGPR_READ_B32 $agpr2, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr6 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
|
|
|
|
; GCN: $vgpr2 = V_ACCVGPR_READ_B32 $agpr1, implicit $exec, implicit $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr5 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
|
|
|
|
; GCN: $vgpr1 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec, implicit killed $agpr0_agpr1_agpr2_agpr3
|
|
|
|
; GCN: $agpr4 = V_ACCVGPR_WRITE_B32 killed $vgpr1, implicit $exec, implicit $exec
|
|
|
|
; GCN: S_ENDPGM 0, implicit $agpr4_agpr5_agpr6_agpr7
|
|
|
|
S_NOP 0, implicit-def dead $agpr0_agpr1
|
|
|
|
renamable $agpr4_agpr5_agpr6_agpr7 = COPY renamable killed $agpr0_agpr1_agpr2_agpr3, implicit $exec
|
|
|
|
S_ENDPGM 0, implicit $agpr4_agpr5_agpr6_agpr7
|
|
|
|
...
|
|
|
|
|
|
|
|
---
|