1
- # RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=twoaddressinstruction -verify-machineinstrs -o - %s | FileCheck --check-prefixes=GFX10 %s
2
- # RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -passes=two-address-instruction -verify-each -o - %s | FileCheck --check-prefixes=GFX10 %s
3
- # RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=livevars,liveintervals,twoaddressinstruction -verify-machineinstrs -o - %s | FileCheck --check-prefixes=GFX10 %s
1
+ # RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=twoaddressinstruction -verify-machineinstrs -o - %s | FileCheck --check-prefixes=GFX10,GFX10-NOLIS %s
2
+ # RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -passes=two-address-instruction -verify-each -o - %s | FileCheck --check-prefixes=GFX10,GFX10-NOLIS %s
3
+ # RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=liveintervals,twoaddressinstruction -verify-machineinstrs -o - %s | FileCheck --check-prefixes=GFX10,GFX10-LIS %s
4
+
4
5
5
6
# GFX10-LABEL: name: test_fmamk_reg_imm_f16
6
7
# GFX10: dead %2:vgpr_32 = IMPLICIT_DEF
7
8
# GFX10-NOT: V_MOV_B32
8
- # GFX10: V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
9
+ # GFX10-NOLIS: V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
10
+ # GFX10-LIS: V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec
9
11
---
10
12
name : test_fmamk_reg_imm_f16
11
13
tracksRegLiveness : true
@@ -23,7 +25,8 @@ body: |
23
25
# GFX10: %0:vreg_64 = IMPLICIT_DEF
24
26
# GFX10: %1:vgpr_32 = COPY %0.sub1
25
27
# GFX10: dead undef %2.sub0:vreg_64 = IMPLICIT_DEF
26
- # GFX10: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
28
+ # GFX10-NOLIS: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
29
+ # GFX10-LIS: %3:vgpr_32 = V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec
27
30
---
28
31
name : test_fmamk_reg_imm_f16__imm_is_subreg
29
32
tracksRegLiveness : true
@@ -42,7 +45,8 @@ body: |
42
45
# GFX10: %1:vgpr_32 = COPY %0.sub1
43
46
# GFX10: undef %2.sub1:vreg_64 = V_MOV_B32_e32 9999, implicit $exec
44
47
# GFX10: %2.sub0:vreg_64 = V_MOV_B32_e32 1078523331, implicit $exec
45
- # GFX10: %3:vgpr_32 = V_FMA_F16_gfx9_e64 0, killed %0.sub0, 0, %2.sub0, 0, killed %1, 0, 0, 0, implicit $mode, implicit $e
48
+ # GFX10-NOLIS: %3:vgpr_32 = V_FMA_F16_gfx9_e64 0, killed %0.sub0, 0, %2.sub0, 0, killed %1, 0, 0, 0, implicit $mode, implicit $e
49
+ # GFX10-LIS: %3:vgpr_32 = V_FMA_F16_gfx9_e64 0, %0.sub0, 0, %2.sub0, 0, %1, 0, 0, 0, implicit $mode, implicit $e
46
50
---
47
51
name : test_fmamk_reg_imm_f16__imm_is_subreg_fully_defined
48
52
tracksRegLiveness : true
@@ -61,7 +65,8 @@ body: |
61
65
# GFX10: %1:vgpr_32 = COPY %0.sub1
62
66
# GFX10: %2:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec
63
67
# GFX10: S_NOP 0, implicit %2
64
- # GFX10: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
68
+ # GFX10-NOLIS: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
69
+ # GFX10-LIS: %3:vgpr_32 = V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec
65
70
---
66
71
name : test_fmamk_reg_imm_f16__use_imm_before_mac
67
72
tracksRegLiveness : true
@@ -80,7 +85,8 @@ body: |
80
85
# GFX10: %0:vreg_64 = IMPLICIT_DEF
81
86
# GFX10: %1:vgpr_32 = COPY %0.sub1
82
87
# GFX10: %2:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec
83
- # GFX10: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
88
+ # GFX10-NOLIS: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
89
+ # GFX10-LIS: %3:vgpr_32 = V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec
84
90
---
85
91
name : test_fmamk_reg_imm_f16__use_imm_after_mac
86
92
tracksRegLiveness : true
@@ -100,7 +106,8 @@ body: |
100
106
# GFX10: %1:vgpr_32 = COPY %0.sub1
101
107
# GFX10: %2:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec
102
108
# GFX10: S_NOP 0, implicit %2
103
- # GFX10: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
109
+ # GFX10-NOLIS: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
110
+ # GFX10-LIS: %3:vgpr_32 = V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec
104
111
# GFX10: S_NOP 0, implicit %2
105
112
106
113
---
@@ -121,7 +128,8 @@ body: |
121
128
# GFX10-LABEL: name: test_fmamk_imm_reg_f16
122
129
# GFX10: dead %2:vgpr_32 = IMPLICIT_DEF
123
130
# GFX10-NOT: V_MOV_B32
124
- # GFX10: V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
131
+ # GFX10-NOLIS: V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
132
+ # GFX10-LIS: V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec
125
133
---
126
134
name : test_fmamk_imm_reg_f16
127
135
tracksRegLiveness : true
@@ -143,7 +151,8 @@ body: |
143
151
# GFX10-LABEL: name: test_fmaak_f16
144
152
# GFX10: %1:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec
145
153
# GFX10-NOT: V_MOV_B32
146
- # GFX10: V_FMAAK_F16 killed %0.sub0, %0.sub1, 1078523331, implicit $mode, implicit $exec
154
+ # GFX10-NOLIS: V_FMAAK_F16 killed %0.sub0, %0.sub1, 1078523331, implicit $mode, implicit $exec
155
+ # GFX10-LIS: V_FMAAK_F16 %0.sub0, %0.sub1, 1078523331, implicit $mode, implicit $exec
147
156
---
148
157
name : test_fmaak_f16
149
158
tracksRegLiveness : true
@@ -163,7 +172,8 @@ body: |
163
172
# GFX10-LABEL: name: test_fmaak_inline_literal_f16
164
173
# GFX10: %1:vgpr_32 = V_MOV_B32_e32 49664, implicit $exec
165
174
# GFX10-NOT: V_MOV_B32
166
- # GFX10: %2:vgpr_32 = V_FMAAK_F16 16384, killed %0, 49664, implicit $mode, implicit $exec
175
+ # GFX10-NOLIS: %2:vgpr_32 = V_FMAAK_F16 16384, killed %0, 49664, implicit $mode, implicit $exec
176
+ # GFX10-LIS: %2:vgpr_32 = V_FMAAK_F16 16384, %0, 49664, implicit $mode, implicit $exec
167
177
168
178
---
169
179
name : test_fmaak_inline_literal_f16
0 commit comments