annotate test/CodeGen/AMDGPU/shrink-carry.mir @ 128:c347d3398279 default tip

fix
author mir3636
date Wed, 06 Dec 2017 14:37:17 +0900
parents 803732b1fca8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
121
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
1 # RUN: llc -march=amdgcn -verify-machineinstrs -start-before si-shrink-instructions -stop-before si-insert-skips -o - %s | FileCheck -check-prefix=GCN %s
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
2
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
3 # GCN-LABEL: name: subbrev{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
4 # GCN: V_SUBBREV_U32_e64 0, undef %vgpr0, killed %vcc, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
5
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
6 ---
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
7 name: subbrev
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
8 tracksRegLiveness: true
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
9 registers:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
10 - { id: 0, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
11 - { id: 1, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
12 - { id: 2, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
13 - { id: 3, class: sreg_64_xexec }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
14 - { id: 4, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
15 - { id: 5, class: sreg_64_xexec }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
16 body: |
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
17 bb.0:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
18
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
19 %0 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
20 %1 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
21 %2 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
22 %3 = V_CMP_GT_U32_e64 %0, %1, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
23 %4, %5 = V_SUBBREV_U32_e64 0, %0, %3, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
24
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
25 ...
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
26
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
27 # GCN-LABEL: name: subb{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
28 # GCN: V_SUBB_U32_e64 undef %vgpr0, 0, killed %vcc, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
29
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
30 ---
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
31 name: subb
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
32 tracksRegLiveness: true
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
33 registers:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
34 - { id: 0, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
35 - { id: 1, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
36 - { id: 2, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
37 - { id: 3, class: sreg_64_xexec }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
38 - { id: 4, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
39 - { id: 5, class: sreg_64_xexec }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
40 body: |
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
41 bb.0:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
42
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
43 %0 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
44 %1 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
45 %2 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
46 %3 = V_CMP_GT_U32_e64 %0, %1, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
47 %4, %5 = V_SUBB_U32_e64 %0, 0, %3, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
48
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
49 ...
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
50
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
51 # GCN-LABEL: name: addc{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
52 # GCN: V_ADDC_U32_e32 0, undef %vgpr0, implicit-def %vcc, implicit killed %vcc, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
53
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
54 ---
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
55 name: addc
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
56 tracksRegLiveness: true
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
57 registers:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
58 - { id: 0, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
59 - { id: 1, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
60 - { id: 2, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
61 - { id: 3, class: sreg_64_xexec }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
62 - { id: 4, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
63 - { id: 5, class: sreg_64_xexec }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
64 body: |
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
65 bb.0:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
66
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
67 %0 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
68 %1 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
69 %2 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
70 %3 = V_CMP_GT_U32_e64 %0, %1, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
71 %4, %5 = V_ADDC_U32_e64 0, %0, %3, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
72
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
73 ...
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
74
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
75 # GCN-LABEL: name: addc2{{$}}
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
76 # GCN: V_ADDC_U32_e32 0, undef %vgpr0, implicit-def %vcc, implicit killed %vcc, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
77
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
78 ---
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
79 name: addc2
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
80 tracksRegLiveness: true
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
81 registers:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
82 - { id: 0, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
83 - { id: 1, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
84 - { id: 2, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
85 - { id: 3, class: sreg_64_xexec }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
86 - { id: 4, class: vgpr_32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
87 - { id: 5, class: sreg_64_xexec }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
88 body: |
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
89 bb.0:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
90
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
91 %0 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
92 %1 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
93 %2 = IMPLICIT_DEF
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
94 %3 = V_CMP_GT_U32_e64 %0, %1, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
95 %4, %5 = V_ADDC_U32_e64 %0, 0, %3, implicit %exec
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
96
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
97 ...