2017-08-16 12:43:49 +08:00
|
|
|
# RUN: llc -march=amdgcn -verify-machineinstrs -run-pass si-optimize-exec-masking-pre-ra %s -o - | FileCheck -check-prefix=GCN %s
|
|
|
|
|
|
|
|
# GCN-LABEL: name: kill_all
|
|
|
|
# GCN: bb.0:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: kill_all
|
|
|
|
tracksRegLiveness: true
|
|
|
|
registers:
|
|
|
|
- { id: 0, class: vreg_64 }
|
|
|
|
- { id: 1, class: vgpr_32 }
|
|
|
|
- { id: 2, class: vgpr_32 }
|
|
|
|
- { id: 3, class: sgpr_32 }
|
|
|
|
- { id: 4, class: sgpr_32 }
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
2017-08-16 12:43:49 +08:00
|
|
|
%0 = IMPLICIT_DEF
|
|
|
|
%3 = IMPLICIT_DEF
|
2018-02-01 06:04:26 +08:00
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2019-05-01 06:08:23 +08:00
|
|
|
%1 = FLAT_LOAD_DWORD %0, 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (load 4)
|
2020-05-28 01:25:37 +08:00
|
|
|
%2 = V_ADD_F32_e64 0, killed %1, 0, 1, 0, 0, implicit $mode, implicit $exec
|
2018-02-01 06:04:26 +08:00
|
|
|
%4 = S_ADD_U32 %3, 1, implicit-def $scc
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: load_without_memoperand
|
2018-02-01 06:04:26 +08:00
|
|
|
# GCN: $sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2019-05-01 06:08:23 +08:00
|
|
|
# GCN-NEXT: dead %1:vgpr_32 = FLAT_LOAD_DWORD %0, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: load_without_memoperand
|
|
|
|
tracksRegLiveness: true
|
|
|
|
registers:
|
|
|
|
- { id: 0, class: vreg_64 }
|
|
|
|
- { id: 1, class: vgpr_32 }
|
|
|
|
- { id: 2, class: vgpr_32 }
|
|
|
|
- { id: 3, class: sgpr_32 }
|
|
|
|
- { id: 4, class: sgpr_32 }
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
2017-08-16 12:43:49 +08:00
|
|
|
%0 = IMPLICIT_DEF
|
|
|
|
%3 = IMPLICIT_DEF
|
2018-02-01 06:04:26 +08:00
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2019-05-01 06:08:23 +08:00
|
|
|
%1 = FLAT_LOAD_DWORD %0, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
|
2020-05-28 01:25:37 +08:00
|
|
|
%2 = V_ADD_F32_e64 0, killed %1, 0, 1, 0, 0, implicit $mode, implicit $exec
|
2018-02-01 06:04:26 +08:00
|
|
|
%4 = S_ADD_U32 %3, 1, implicit-def $scc
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: load_volatile
|
2018-02-01 06:04:26 +08:00
|
|
|
# GCN: $sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2019-05-01 06:08:23 +08:00
|
|
|
# GCN-NEXT: dead %1:vgpr_32 = FLAT_LOAD_DWORD %0, 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load 4)
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: load_volatile
|
|
|
|
tracksRegLiveness: true
|
|
|
|
registers:
|
|
|
|
- { id: 0, class: vreg_64 }
|
|
|
|
- { id: 1, class: vgpr_32 }
|
|
|
|
- { id: 2, class: vgpr_32 }
|
|
|
|
- { id: 3, class: sgpr_32 }
|
|
|
|
- { id: 4, class: sgpr_32 }
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
2017-08-16 12:43:49 +08:00
|
|
|
%0 = IMPLICIT_DEF
|
|
|
|
%3 = IMPLICIT_DEF
|
2018-02-01 06:04:26 +08:00
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2019-05-01 06:08:23 +08:00
|
|
|
%1 = FLAT_LOAD_DWORD %0, 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load 4)
|
2020-05-28 01:25:37 +08:00
|
|
|
%2 = V_ADD_F32_e64 0, killed %1, 0, 1, 0, 0, implicit $mode, implicit $exec
|
2018-02-01 06:04:26 +08:00
|
|
|
%4 = S_ADD_U32 %3, 1, implicit-def $scc
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: store
|
2018-02-01 06:04:26 +08:00
|
|
|
# GCN: $sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2019-05-01 06:08:23 +08:00
|
|
|
# GCN-NEXT: FLAT_STORE_DWORD %0, %1, 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (store 4)
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: store
|
|
|
|
tracksRegLiveness: true
|
|
|
|
registers:
|
|
|
|
- { id: 0, class: vreg_64 }
|
|
|
|
- { id: 1, class: vgpr_32 }
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
2017-08-16 12:43:49 +08:00
|
|
|
%0 = IMPLICIT_DEF
|
|
|
|
%1 = IMPLICIT_DEF
|
2018-02-01 06:04:26 +08:00
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2019-05-01 06:08:23 +08:00
|
|
|
FLAT_STORE_DWORD %0, %1, 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (store 4)
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: barrier
|
2018-02-01 06:04:26 +08:00
|
|
|
# GCN: $sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2017-08-16 12:43:49 +08:00
|
|
|
# GCN-NEXT: S_BARRIER
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: barrier
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2017-08-16 12:43:49 +08:00
|
|
|
S_BARRIER
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: call
|
2018-02-01 06:04:26 +08:00
|
|
|
# GCN: $sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
|
|
|
# GCN-NEXT: $sgpr4_sgpr5 = S_SWAPPC_B64 $sgpr2_sgpr3
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: call
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2019-03-28 00:12:26 +08:00
|
|
|
liveins: $sgpr2_sgpr3
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
|
|
|
$sgpr4_sgpr5 = S_SWAPPC_B64 $sgpr2_sgpr3
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: exp
|
2018-02-01 06:04:26 +08:00
|
|
|
# GCN: $sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
|
|
|
# GCN-NEXT: EXP 32, undef %0:vgpr_32, undef %1:vgpr_32, %2, undef %3:vgpr_32, 0, 0, 15, implicit $exec
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: exp
|
|
|
|
tracksRegLiveness: true
|
|
|
|
registers:
|
|
|
|
- { id: 0, class: vgpr_32 }
|
|
|
|
- { id: 1, class: vgpr_32 }
|
|
|
|
- { id: 2, class: vgpr_32 }
|
|
|
|
- { id: 3, class: vgpr_32 }
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
2017-08-16 12:43:49 +08:00
|
|
|
%2 = IMPLICIT_DEF
|
2018-02-01 06:04:26 +08:00
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
|
|
|
EXP 32, undef %0, undef %1, killed %2, undef %3, 0, 0, 15, implicit $exec
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: return_to_epilog
|
2018-02-01 06:04:26 +08:00
|
|
|
# GCN: $sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
|
|
|
# GCN-NEXT: SI_RETURN_TO_EPILOG killed $vgpr0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: return_to_epilog
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
$vgpr0 = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
|
|
|
SI_RETURN_TO_EPILOG killed $vgpr0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: split_block
|
|
|
|
# GCN: bb.0:
|
|
|
|
# GCN-NEXT: successors: %bb.1
|
|
|
|
# GCN-NOT: S_OR_B64
|
|
|
|
# GCN: bb.1:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: split_block
|
|
|
|
tracksRegLiveness: true
|
|
|
|
registers:
|
|
|
|
- { id: 0, class: vgpr_32 }
|
|
|
|
- { id: 1, class: vgpr_32 }
|
|
|
|
- { id: 2, class: sgpr_32 }
|
|
|
|
- { id: 3, class: sgpr_32 }
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2017-08-16 12:43:49 +08:00
|
|
|
|
|
|
|
bb.1:
|
|
|
|
%0 = IMPLICIT_DEF
|
|
|
|
%2 = IMPLICIT_DEF
|
2020-05-28 01:25:37 +08:00
|
|
|
%1 = V_ADD_F32_e64 0, killed %0, 0, 1, 0, 0, implicit $mode, implicit $exec
|
2018-02-01 06:04:26 +08:00
|
|
|
%3 = S_ADD_U32 %2, 1, implicit-def $scc
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: split_block_empty_block
|
|
|
|
# GCN: bb.0:
|
|
|
|
# GCN-NEXT: successors: %bb.1
|
|
|
|
# GCN-NOT: S_OR_B64
|
|
|
|
# GCN: bb.1:
|
|
|
|
# GCN: bb.2:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: split_block_empty_block
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2017-08-16 12:43:49 +08:00
|
|
|
|
|
|
|
bb.1:
|
|
|
|
|
|
|
|
bb.2:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: split_block_uncond_branch
|
|
|
|
# GCN: bb.0:
|
|
|
|
# GCN-NEXT: successors: %bb.1
|
|
|
|
# GCN: S_BRANCH %bb.1
|
|
|
|
# GCN-NOT: S_OR_B64
|
|
|
|
# GCN: bb.1:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: split_block_uncond_branch
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2017-08-16 12:43:49 +08:00
|
|
|
S_BRANCH %bb.1
|
|
|
|
|
|
|
|
bb.1:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: split_block_cond_branch
|
|
|
|
# GCN: bb.0:
|
|
|
|
# GCN-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)
|
2018-02-01 06:04:26 +08:00
|
|
|
# GCN: $sgpr0_sgpr1 = S_OR_B64 $exec, $vcc, implicit-def $scc
|
|
|
|
# GCN: S_CBRANCH_VCCNZ %bb.2, implicit undef $vcc
|
2017-08-16 12:43:49 +08:00
|
|
|
# GCN: bb.1:
|
|
|
|
# GCN: bb.2:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: split_block_cond_branch
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, $vcc, implicit-def $scc
|
|
|
|
S_CBRANCH_VCCNZ %bb.2, implicit undef $vcc
|
2017-08-16 12:43:49 +08:00
|
|
|
|
|
|
|
bb.1:
|
|
|
|
|
|
|
|
bb.2:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: two_preds_both_dead
|
|
|
|
# GCN: bb.0:
|
|
|
|
# GCN-NEXT: successors: %bb.2
|
|
|
|
# GCN-NOT: S_OR
|
|
|
|
# GCN: S_BRANCH %bb.2
|
|
|
|
# GCN: bb.1:
|
|
|
|
# GCN-NEXT: successors: %bb.2
|
|
|
|
# GCN-NOT: S_AND
|
|
|
|
# GCN: S_BRANCH %bb.2
|
|
|
|
# GCN: bb.2:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: two_preds_both_dead
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2017-08-16 12:43:49 +08:00
|
|
|
S_BRANCH %bb.2
|
|
|
|
|
|
|
|
bb.1:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_AND_B64 $exec, killed $vcc, implicit-def $scc
|
2017-08-16 12:43:49 +08:00
|
|
|
S_BRANCH %bb.2
|
|
|
|
|
|
|
|
bb.2:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: two_preds_one_dead
|
|
|
|
# GCN: bb.0:
|
|
|
|
# GCN-NEXT: successors: %bb.2
|
2018-02-01 06:04:26 +08:00
|
|
|
# GCN: $sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2017-08-16 12:43:49 +08:00
|
|
|
# GCN-NEXT: S_BARRIER
|
|
|
|
# GCN-NEXT: S_BRANCH %bb.2
|
|
|
|
# GCN: bb.1:
|
|
|
|
# GCN-NEXT: successors: %bb.2
|
|
|
|
# GCN-NOT: S_AND
|
|
|
|
# GCN: S_BRANCH %bb.2
|
|
|
|
# GCN: bb.2:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
name: two_preds_one_dead
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
2017-08-16 12:43:49 +08:00
|
|
|
S_BARRIER
|
|
|
|
S_BRANCH %bb.2
|
|
|
|
|
|
|
|
bb.1:
|
2018-02-01 06:04:26 +08:00
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_AND_B64 $exec, killed $vcc, implicit-def $scc
|
2017-08-16 12:43:49 +08:00
|
|
|
S_BRANCH %bb.2
|
|
|
|
|
|
|
|
bb.2:
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0
|
2017-08-16 12:43:49 +08:00
|
|
|
...
|
2018-08-29 02:55:55 +08:00
|
|
|
|
2019-05-01 06:08:23 +08:00
|
|
|
# GCN-LABEL: name: implicit_use_on_S_ENDPGM 0
|
2020-07-14 21:18:36 +08:00
|
|
|
# GCN: V_ADD_CO_U32
|
2018-08-29 02:55:55 +08:00
|
|
|
# GCN: COPY
|
|
|
|
# GCN: V_ADDC_U32
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
# GCN: S_ENDPGM 0, implicit %3
|
2019-05-01 06:08:23 +08:00
|
|
|
name: implicit_use_on_S_ENDPGM 0
|
2018-08-29 02:55:55 +08:00
|
|
|
tracksRegLiveness: true
|
|
|
|
|
|
|
|
body: |
|
|
|
|
bb.0:
|
2020-07-14 21:18:36 +08:00
|
|
|
dead %0:vgpr_32 = V_ADD_CO_U32_e32 12345, undef %1:vgpr_32, implicit-def $vcc, implicit $exec
|
2018-08-29 02:55:55 +08:00
|
|
|
%2:sreg_64_xexec = COPY $vcc
|
2019-03-19 03:35:44 +08:00
|
|
|
%3:vgpr_32, dead %4:sreg_64_xexec = V_ADDC_U32_e64 undef %5:vgpr_32, undef %6:vgpr_32, %2, 0, implicit $exec
|
[AMDGPU] Add support for immediate operand for S_ENDPGM
Summary:
Add support for immediate operand in S_ENDPGM
Change-Id: I0c56a076a10980f719fb2a8f16407e9c301013f6
Reviewers: alexshap
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, eraman, arphaman, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59213
llvm-svn: 355902
2019-03-12 17:52:58 +08:00
|
|
|
S_ENDPGM 0, implicit %3
|
2018-08-29 02:55:55 +08:00
|
|
|
|
|
|
|
...
|
2019-05-22 07:23:12 +08:00
|
|
|
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: inlineasm_nosideeffect
|
|
|
|
# GCN-NOT: S_OR_B64
|
|
|
|
# GCN-NOT: INLINEASM
|
|
|
|
# GCN: S_ENDPGM 0
|
|
|
|
name: inlineasm_nosideeffect
|
|
|
|
tracksRegLiveness: true
|
|
|
|
registers:
|
|
|
|
- { id: 0, class: vreg_64 }
|
|
|
|
- { id: 1, class: vgpr_32 }
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
%0 = IMPLICIT_DEF
|
|
|
|
%1 = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
|
|
|
%2:sreg_64 = IMPLICIT_DEF
|
[MIR] Add comments to INLINEASM immediate flag MachineOperands
Summary:
The INLINEASM MIR instructions use immediate operands to encode the values of some operands.
The MachineInstr pretty printer function already handles those operands and prints human readable annotations instead of the immediates. This patch adds similar annotations to the output of the MIRPrinter, however uses the new MIROperandComment feature.
Reviewers: SjoerdMeijer, arsenm, efriedma
Reviewed By: arsenm
Subscribers: qcolombet, sdardis, jvesely, wdng, nhaehnle, hiraditya, jrtc27, atanasyan, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D78088
2020-04-14 15:24:40 +08:00
|
|
|
INLINEASM &"", 0
|
2019-05-22 07:23:12 +08:00
|
|
|
S_ENDPGM 0
|
|
|
|
...
|
|
|
|
|
|
|
|
---
|
|
|
|
# GCN-LABEL: name: inlineasm_sideeffect
|
|
|
|
# GCN: $sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
|
|
|
# GCN-NEXT: IMPLICIT_DEF
|
|
|
|
# GCN-NEXT: INLINEASM
|
|
|
|
# GCN-NEXT: S_ENDPGM 0
|
|
|
|
name: inlineasm_sideeffect
|
|
|
|
tracksRegLiveness: true
|
|
|
|
registers:
|
|
|
|
- { id: 0, class: vreg_64 }
|
|
|
|
- { id: 1, class: vgpr_32 }
|
|
|
|
body: |
|
|
|
|
bb.0:
|
|
|
|
$vcc = IMPLICIT_DEF
|
|
|
|
%0 = IMPLICIT_DEF
|
|
|
|
%1 = IMPLICIT_DEF
|
|
|
|
$sgpr0_sgpr1 = S_OR_B64 $exec, killed $vcc, implicit-def $scc
|
|
|
|
%2:sreg_64 = IMPLICIT_DEF
|
[MIR] Add comments to INLINEASM immediate flag MachineOperands
Summary:
The INLINEASM MIR instructions use immediate operands to encode the values of some operands.
The MachineInstr pretty printer function already handles those operands and prints human readable annotations instead of the immediates. This patch adds similar annotations to the output of the MIRPrinter, however uses the new MIROperandComment feature.
Reviewers: SjoerdMeijer, arsenm, efriedma
Reviewed By: arsenm
Subscribers: qcolombet, sdardis, jvesely, wdng, nhaehnle, hiraditya, jrtc27, atanasyan, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D78088
2020-04-14 15:24:40 +08:00
|
|
|
INLINEASM &"", 1
|
2019-05-22 07:23:12 +08:00
|
|
|
S_ENDPGM 0
|
|
|
|
...
|