Revert rGe6ccb57bb3f6b761f2310e97fd6ca99eff42f73e "[SLP] Add cost model for `llvm...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / gfx10-shrink-mad-fma.mir
blob198c5cb82a6191e197978e30513323fa9857cac3
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=gfx1010 -run-pass si-shrink-instructions -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=GFX10
4 ---
5 name: mad_cvv_f32
6 body: |
7   bb.0:
8     ; GFX10-LABEL: name: mad_cvv_f32
9     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
10     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
11     ; GFX10-NEXT: [[V_MADMK_F32_:%[0-9]+]]:vgpr_32 = V_MADMK_F32 [[DEF]], 1092616192, [[DEF1]], implicit $mode, implicit $exec
12     ; GFX10-NEXT: SI_RETURN implicit [[V_MADMK_F32_]]
13     %0:vgpr_32 = IMPLICIT_DEF
14     %1:vgpr_32 = IMPLICIT_DEF
15     %2:vgpr_32 = V_MAD_F32_e64 0, 1092616192, 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec
16     SI_RETURN implicit %2
17 ...
19 ---
20 name: mad_vcv_f32
21 body: |
22   bb.0:
23     ; GFX10-LABEL: name: mad_vcv_f32
24     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
25     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
26     ; GFX10-NEXT: [[V_MADMK_F32_:%[0-9]+]]:vgpr_32 = V_MADMK_F32 [[DEF]], 1092616192, [[DEF1]], implicit $mode, implicit $exec
27     ; GFX10-NEXT: SI_RETURN implicit [[V_MADMK_F32_]]
28     %0:vgpr_32 = IMPLICIT_DEF
29     %1:vgpr_32 = IMPLICIT_DEF
30     %2:vgpr_32 = V_MAD_F32_e64 0, %0, 0, 1092616192, 0, %1, 0, 0, implicit $mode, implicit $exec
31     SI_RETURN implicit %2
32 ...
34 ---
35 name: mad_vvc_f32
36 body: |
37   bb.0:
38     ; GFX10-LABEL: name: mad_vvc_f32
39     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
40     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
41     ; GFX10-NEXT: [[V_MADAK_F32_:%[0-9]+]]:vgpr_32 = V_MADAK_F32 [[DEF]], [[DEF1]], 1092616192, implicit $mode, implicit $exec
42     ; GFX10-NEXT: SI_RETURN implicit [[V_MADAK_F32_]]
43     %0:vgpr_32 = IMPLICIT_DEF
44     %1:vgpr_32 = IMPLICIT_DEF
45     %2:vgpr_32 = V_MAD_F32_e64 0, %0, 0, %1, 0, 1092616192, 0, 0, implicit $mode, implicit $exec
46     SI_RETURN implicit %2
47 ...
49 ---
50 name: mad_vsc_f32
51 body: |
52   bb.0:
53     ; GFX10-LABEL: name: mad_vsc_f32
54     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
55     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:sreg_32 = IMPLICIT_DEF
56     ; GFX10-NEXT: [[V_MADAK_F32_:%[0-9]+]]:vgpr_32 = V_MADAK_F32 [[DEF1]], [[DEF]], 1092616192, implicit $mode, implicit $exec
57     ; GFX10-NEXT: SI_RETURN implicit [[V_MADAK_F32_]]
58     %0:vgpr_32 = IMPLICIT_DEF
59     %1:sreg_32 = IMPLICIT_DEF
60     %2:vgpr_32 = V_MAD_F32_e64 0, %0, 0, %1, 0, 1092616192, 0, 0, implicit $mode, implicit $exec
61     SI_RETURN implicit %2
62 ...
64 ---
65 name: fma_cvv_f32
66 body: |
67   bb.0:
68     ; GFX10-LABEL: name: fma_cvv_f32
69     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
70     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
71     ; GFX10-NEXT: [[V_FMAMK_F32_:%[0-9]+]]:vgpr_32 = V_FMAMK_F32 [[DEF]], 1092616192, [[DEF1]], implicit $mode, implicit $exec
72     ; GFX10-NEXT: SI_RETURN implicit [[V_FMAMK_F32_]]
73     %0:vgpr_32 = IMPLICIT_DEF
74     %1:vgpr_32 = IMPLICIT_DEF
75     %2:vgpr_32 = V_FMA_F32_e64 0, 1092616192, 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec
76     SI_RETURN implicit %2
77 ...
79 ---
80 name: fma_vcv_f32
81 body: |
82   bb.0:
83     ; GFX10-LABEL: name: fma_vcv_f32
84     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
85     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
86     ; GFX10-NEXT: [[V_FMAMK_F32_:%[0-9]+]]:vgpr_32 = V_FMAMK_F32 [[DEF]], 1092616192, [[DEF1]], implicit $mode, implicit $exec
87     ; GFX10-NEXT: SI_RETURN implicit [[V_FMAMK_F32_]]
88     %0:vgpr_32 = IMPLICIT_DEF
89     %1:vgpr_32 = IMPLICIT_DEF
90     %2:vgpr_32 = V_FMA_F32_e64 0, %0, 0, 1092616192, 0, %1, 0, 0, implicit $mode, implicit $exec
91     SI_RETURN implicit %2
92 ...
94 ---
95 name: fma_vvc_f32
96 body: |
97   bb.0:
98     ; GFX10-LABEL: name: fma_vvc_f32
99     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
100     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
101     ; GFX10-NEXT: [[V_FMAAK_F32_:%[0-9]+]]:vgpr_32 = V_FMAAK_F32 [[DEF]], [[DEF1]], 1092616192, implicit $mode, implicit $exec
102     ; GFX10-NEXT: SI_RETURN implicit [[V_FMAAK_F32_]]
103     %0:vgpr_32 = IMPLICIT_DEF
104     %1:vgpr_32 = IMPLICIT_DEF
105     %2:vgpr_32 = V_FMA_F32_e64 0, %0, 0, %1, 0, 1092616192, 0, 0, implicit $mode, implicit $exec
106     SI_RETURN implicit %2
110 name: fma_vsc_f32
111 body: |
112   bb.0:
113     ; GFX10-LABEL: name: fma_vsc_f32
114     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
115     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:sreg_32 = IMPLICIT_DEF
116     ; GFX10-NEXT: [[V_FMAAK_F32_:%[0-9]+]]:vgpr_32 = V_FMAAK_F32 [[DEF1]], [[DEF]], 1092616192, implicit $mode, implicit $exec
117     ; GFX10-NEXT: SI_RETURN implicit [[V_FMAAK_F32_]]
118     %0:vgpr_32 = IMPLICIT_DEF
119     %1:sreg_32 = IMPLICIT_DEF
120     %2:vgpr_32 = V_FMA_F32_e64 0, %0, 0, %1, 0, 1092616192, 0, 0, implicit $mode, implicit $exec
121     SI_RETURN implicit %2
125 name: mad_cvv_f16
126 body: |
127   bb.0:
128     ; GFX10-LABEL: name: mad_cvv_f16
129     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
130     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
131     ; GFX10-NEXT: [[V_MADMK_F16_:%[0-9]+]]:vgpr_32 = V_MADMK_F16 [[DEF]], 18688, [[DEF1]], implicit $mode, implicit $exec
132     ; GFX10-NEXT: SI_RETURN implicit [[V_MADMK_F16_]]
133     %0:vgpr_32 = IMPLICIT_DEF
134     %1:vgpr_32 = IMPLICIT_DEF
135     %2:vgpr_32 = V_MAD_F16_e64 0, 18688, 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec
136     SI_RETURN implicit %2
140 name: mad_vcv_f16
141 body: |
142   bb.0:
143     ; GFX10-LABEL: name: mad_vcv_f16
144     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
145     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
146     ; GFX10-NEXT: [[V_MADMK_F16_:%[0-9]+]]:vgpr_32 = V_MADMK_F16 [[DEF]], 18688, [[DEF1]], implicit $mode, implicit $exec
147     ; GFX10-NEXT: SI_RETURN implicit [[V_MADMK_F16_]]
148     %0:vgpr_32 = IMPLICIT_DEF
149     %1:vgpr_32 = IMPLICIT_DEF
150     %2:vgpr_32 = V_MAD_F16_e64 0, %0, 0, 18688, 0, %1, 0, 0, implicit $mode, implicit $exec
151     SI_RETURN implicit %2
155 name: mad_vvc_f16
156 body: |
157   bb.0:
158     ; GFX10-LABEL: name: mad_vvc_f16
159     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
160     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
161     ; GFX10-NEXT: [[V_MADAK_F16_:%[0-9]+]]:vgpr_32 = V_MADAK_F16 [[DEF]], [[DEF1]], 18688, implicit $mode, implicit $exec
162     ; GFX10-NEXT: SI_RETURN implicit [[V_MADAK_F16_]]
163     %0:vgpr_32 = IMPLICIT_DEF
164     %1:vgpr_32 = IMPLICIT_DEF
165     %2:vgpr_32 = V_MAD_F16_e64 0, %0, 0, %1, 0, 18688, 0, 0, implicit $mode, implicit $exec
166     SI_RETURN implicit %2
170 name: mad_vsc_f16
171 body: |
172   bb.0:
173     ; GFX10-LABEL: name: mad_vsc_f16
174     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
175     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:sreg_32 = IMPLICIT_DEF
176     ; GFX10-NEXT: [[V_MADAK_F16_:%[0-9]+]]:vgpr_32 = V_MADAK_F16 [[DEF1]], [[DEF]], 18688, implicit $mode, implicit $exec
177     ; GFX10-NEXT: SI_RETURN implicit [[V_MADAK_F16_]]
178     %0:vgpr_32 = IMPLICIT_DEF
179     %1:sreg_32 = IMPLICIT_DEF
180     %2:vgpr_32 = V_MAD_F16_e64 0, %0, 0, %1, 0, 18688, 0, 0, implicit $mode, implicit $exec
181     SI_RETURN implicit %2
185 name: fma_cvv_f16
186 body: |
187   bb.0:
188     ; GFX10-LABEL: name: fma_cvv_f16
189     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
190     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
191     ; GFX10-NEXT: [[V_FMAMK_F16_:%[0-9]+]]:vgpr_32 = V_FMAMK_F16 [[DEF]], 18688, [[DEF1]], implicit $mode, implicit $exec
192     ; GFX10-NEXT: SI_RETURN implicit [[V_FMAMK_F16_]]
193     %0:vgpr_32 = IMPLICIT_DEF
194     %1:vgpr_32 = IMPLICIT_DEF
195     %2:vgpr_32 = V_FMA_F16_e64 0, 18688, 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec
196     SI_RETURN implicit %2
200 name: fma_vcv_f16
201 body: |
202   bb.0:
203     ; GFX10-LABEL: name: fma_vcv_f16
204     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
205     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
206     ; GFX10-NEXT: [[V_FMAMK_F16_:%[0-9]+]]:vgpr_32 = V_FMAMK_F16 [[DEF]], 18688, [[DEF1]], implicit $mode, implicit $exec
207     ; GFX10-NEXT: SI_RETURN implicit [[V_FMAMK_F16_]]
208     %0:vgpr_32 = IMPLICIT_DEF
209     %1:vgpr_32 = IMPLICIT_DEF
210     %2:vgpr_32 = V_FMA_F16_e64 0, %0, 0, 18688, 0, %1, 0, 0, implicit $mode, implicit $exec
211     SI_RETURN implicit %2
215 name: fma_vvc_f16
216 body: |
217   bb.0:
218     ; GFX10-LABEL: name: fma_vvc_f16
219     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
220     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
221     ; GFX10-NEXT: [[V_FMAAK_F16_:%[0-9]+]]:vgpr_32 = V_FMAAK_F16 [[DEF]], [[DEF1]], 18688, implicit $mode, implicit $exec
222     ; GFX10-NEXT: SI_RETURN implicit [[V_FMAAK_F16_]]
223     %0:vgpr_32 = IMPLICIT_DEF
224     %1:vgpr_32 = IMPLICIT_DEF
225     %2:vgpr_32 = V_FMA_F16_e64 0, %0, 0, %1, 0, 18688, 0, 0, implicit $mode, implicit $exec
226     SI_RETURN implicit %2
230 name: fma_vsc_f16
231 body: |
232   bb.0:
233     ; GFX10-LABEL: name: fma_vsc_f16
234     ; GFX10: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
235     ; GFX10-NEXT: [[DEF1:%[0-9]+]]:sreg_32 = IMPLICIT_DEF
236     ; GFX10-NEXT: [[V_FMAAK_F16_:%[0-9]+]]:vgpr_32 = V_FMAAK_F16 [[DEF1]], [[DEF]], 18688, implicit $mode, implicit $exec
237     ; GFX10-NEXT: SI_RETURN implicit [[V_FMAAK_F16_]]
238     %0:vgpr_32 = IMPLICIT_DEF
239     %1:sreg_32 = IMPLICIT_DEF
240     %2:vgpr_32 = V_FMA_F16_e64 0, %0, 0, %1, 0, 18688, 0, 0, implicit $mode, implicit $exec
241     SI_RETURN implicit %2