1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
# RUN: llc -march=amdgcn -verify-machineinstrs -run-pass=liveintervals,amdgpu-pre-ra-optimizations %s -o - | FileCheck -check-prefix=GCN %s
---
# GCN-LABEL: name: combine_sreg64_inits
# GCN: %0:sgpr_64 = S_MOV_B64_IMM_PSEUDO 8589934593
# GCN: S_NOP 0
name: combine_sreg64_inits
tracksRegLiveness: true
body: |
bb.0:
undef %0.sub0:sgpr_64 = S_MOV_B32 1
S_NOP 0
%0.sub1:sgpr_64 = S_MOV_B32 2
...
---
# GCN-LABEL: name: combine_sreg64_inits_swap
# GCN: %0:sgpr_64 = S_MOV_B64_IMM_PSEUDO 8589934593
# GCN: S_NOP 0
name: combine_sreg64_inits_swap
tracksRegLiveness: true
body: |
bb.0:
undef %0.sub1:sgpr_64 = S_MOV_B32 2
S_NOP 0
%0.sub0:sgpr_64 = S_MOV_B32 1
...
---
# GCN-LABEL: name: sreg64_inits_different_blocks
# GCN: undef %0.sub0:sgpr_64 = S_MOV_B32 1
# GCN: %0.sub1:sgpr_64 = S_MOV_B32 2
name: sreg64_inits_different_blocks
tracksRegLiveness: true
body: |
bb.0:
undef %0.sub0:sgpr_64 = S_MOV_B32 1
bb.1:
%0.sub1:sgpr_64 = S_MOV_B32 2
...
---
# GCN-LABEL: name: sreg64_inits_two_defs_sub1
# GCN: undef %0.sub0:sgpr_64 = S_MOV_B32 1
# GCN: %0.sub1:sgpr_64 = S_MOV_B32 2
# GCN: %0.sub1:sgpr_64 = S_MOV_B32 3
name: sreg64_inits_two_defs_sub1
tracksRegLiveness: true
body: |
bb.0:
undef %0.sub0:sgpr_64 = S_MOV_B32 1
%0.sub1:sgpr_64 = S_MOV_B32 2
%0.sub1:sgpr_64 = S_MOV_B32 3
...
---
# GCN-LABEL: name: sreg64_inits_two_defs_sub0
# GCN: undef %0.sub0:sgpr_64 = S_MOV_B32 1
# GCN: %0.sub1:sgpr_64 = S_MOV_B32 2
# GCN: %0.sub0:sgpr_64 = S_MOV_B32 3
name: sreg64_inits_two_defs_sub0
tracksRegLiveness: true
body: |
bb.0:
undef %0.sub0:sgpr_64 = S_MOV_B32 1
%0.sub1:sgpr_64 = S_MOV_B32 2
%0.sub0:sgpr_64 = S_MOV_B32 3
...
---
# GCN-LABEL: name: sreg64_inits_full_def
# GCN: undef %1.sub0:sgpr_64 = S_MOV_B32 1
# GCN: %0:sgpr_64 = S_MOV_B64 3
name: sreg64_inits_full_def
tracksRegLiveness: true
body: |
bb.0:
undef %0.sub0:sgpr_64 = S_MOV_B32 1
%0:sgpr_64 = S_MOV_B64 3
...
---
# GCN-LABEL: name: sreg64_inits_imp_use
# GCN: %0.sub0:sgpr_64 = S_MOV_B32 1, implicit $m0
# GCN: %0.sub1:sgpr_64 = S_MOV_B32 2
name: sreg64_inits_imp_use
tracksRegLiveness: true
body: |
bb.0:
undef %0.sub0:sgpr_64 = S_MOV_B32 1, implicit $m0
%0.sub1:sgpr_64 = S_MOV_B32 2
...
---
# GCN-LABEL: name: sreg64_inits_imp_def
# GCN: %0.sub0:sgpr_64 = S_MOV_B32 1, implicit-def $scc
# GCN: %0.sub1:sgpr_64 = S_MOV_B32 2
name: sreg64_inits_imp_def
tracksRegLiveness: true
body: |
bb.0:
undef %0.sub0:sgpr_64 = S_MOV_B32 1, implicit-def $scc
%0.sub1:sgpr_64 = S_MOV_B32 2
...
|