Lines Matching refs:GFX6

2 ; RUN: llc -global-isel -march=amdgcn -mcpu=tahiti < %s | FileCheck -check-prefix=GFX6 %s
7 ; GFX6-LABEL: v_fma_f32:
8 ; GFX6: ; %bb.0:
9 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
10 ; GFX6-NEXT: v_fma_f32 v0, v0, v1, v2
11 ; GFX6-NEXT: s_setpc_b64 s[30:31]
29 ; GFX6-LABEL: v_fma_v2f32:
30 ; GFX6: ; %bb.0:
31 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
32 ; GFX6-NEXT: v_fma_f32 v0, v0, v2, v4
33 ; GFX6-NEXT: v_fma_f32 v1, v1, v3, v5
34 ; GFX6-NEXT: s_setpc_b64 s[30:31]
54 ; GFX6-LABEL: v_fma_f16:
55 ; GFX6: ; %bb.0:
56 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
57 ; GFX6-NEXT: v_cvt_f32_f16_e32 v0, v0
58 ; GFX6-NEXT: v_cvt_f32_f16_e32 v1, v1
59 ; GFX6-NEXT: v_cvt_f32_f16_e32 v2, v2
60 ; GFX6-NEXT: v_fma_f32 v0, v0, v1, v2
61 ; GFX6-NEXT: v_cvt_f16_f32_e32 v0, v0
62 ; GFX6-NEXT: s_setpc_b64 s[30:31]
80 ; GFX6-LABEL: v_fma_v2f16:
81 ; GFX6: ; %bb.0:
82 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
83 ; GFX6-NEXT: v_cvt_f32_f16_e32 v0, v0
84 ; GFX6-NEXT: v_cvt_f32_f16_e32 v2, v2
85 ; GFX6-NEXT: v_cvt_f32_f16_e32 v4, v4
86 ; GFX6-NEXT: v_cvt_f32_f16_e32 v1, v1
87 ; GFX6-NEXT: v_cvt_f32_f16_e32 v3, v3
88 ; GFX6-NEXT: v_cvt_f32_f16_e32 v5, v5
89 ; GFX6-NEXT: v_fma_f32 v0, v0, v2, v4
90 ; GFX6-NEXT: v_cvt_f16_f32_e32 v0, v0
91 ; GFX6-NEXT: v_fma_f32 v1, v1, v3, v5
92 ; GFX6-NEXT: v_cvt_f16_f32_e32 v1, v1
93 ; GFX6-NEXT: s_setpc_b64 s[30:31]
118 ; GFX6-LABEL: v_fma_v2f16_fneg_lhs:
119 ; GFX6: ; %bb.0:
120 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
121 ; GFX6-NEXT: v_lshlrev_b32_e32 v1, 16, v1
122 ; GFX6-NEXT: v_and_b32_e32 v0, 0xffff, v0
123 ; GFX6-NEXT: v_or_b32_e32 v0, v1, v0
124 ; GFX6-NEXT: v_xor_b32_e32 v0, 0x80008000, v0
125 ; GFX6-NEXT: v_lshrrev_b32_e32 v1, 16, v0
126 ; GFX6-NEXT: v_cvt_f32_f16_e32 v0, v0
127 ; GFX6-NEXT: v_cvt_f32_f16_e32 v2, v2
128 ; GFX6-NEXT: v_cvt_f32_f16_e32 v4, v4
129 ; GFX6-NEXT: v_cvt_f32_f16_e32 v1, v1
130 ; GFX6-NEXT: v_cvt_f32_f16_e32 v3, v3
131 ; GFX6-NEXT: v_cvt_f32_f16_e32 v5, v5
132 ; GFX6-NEXT: v_fma_f32 v0, v0, v2, v4
133 ; GFX6-NEXT: v_cvt_f16_f32_e32 v0, v0
134 ; GFX6-NEXT: v_fma_f32 v1, v1, v3, v5
135 ; GFX6-NEXT: v_cvt_f16_f32_e32 v1, v1
136 ; GFX6-NEXT: s_setpc_b64 s[30:31]
163 ; GFX6-LABEL: v_fma_v2f16_fneg_rhs:
164 ; GFX6: ; %bb.0:
165 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
166 ; GFX6-NEXT: v_lshlrev_b32_e32 v3, 16, v3
167 ; GFX6-NEXT: v_and_b32_e32 v2, 0xffff, v2
168 ; GFX6-NEXT: v_or_b32_e32 v2, v3, v2
169 ; GFX6-NEXT: v_xor_b32_e32 v2, 0x80008000, v2
170 ; GFX6-NEXT: v_lshrrev_b32_e32 v3, 16, v2
171 ; GFX6-NEXT: v_cvt_f32_f16_e32 v0, v0
172 ; GFX6-NEXT: v_cvt_f32_f16_e32 v2, v2
173 ; GFX6-NEXT: v_cvt_f32_f16_e32 v4, v4
174 ; GFX6-NEXT: v_cvt_f32_f16_e32 v1, v1
175 ; GFX6-NEXT: v_cvt_f32_f16_e32 v3, v3
176 ; GFX6-NEXT: v_cvt_f32_f16_e32 v5, v5
177 ; GFX6-NEXT: v_fma_f32 v0, v0, v2, v4
178 ; GFX6-NEXT: v_cvt_f16_f32_e32 v0, v0
179 ; GFX6-NEXT: v_fma_f32 v1, v1, v3, v5
180 ; GFX6-NEXT: v_cvt_f16_f32_e32 v1, v1
181 ; GFX6-NEXT: s_setpc_b64 s[30:31]
208 ; GFX6-LABEL: v_fma_v2f16_fneg_lhs_rhs:
209 ; GFX6: ; %bb.0:
210 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
211 ; GFX6-NEXT: v_mov_b32_e32 v6, 0xffff
212 ; GFX6-NEXT: v_lshlrev_b32_e32 v1, 16, v1
213 ; GFX6-NEXT: v_and_b32_e32 v0, v0, v6
214 ; GFX6-NEXT: v_or_b32_e32 v0, v1, v0
215 ; GFX6-NEXT: v_lshlrev_b32_e32 v1, 16, v3
216 ; GFX6-NEXT: v_and_b32_e32 v2, v2, v6
217 ; GFX6-NEXT: s_mov_b32 s4, 0x80008000
218 ; GFX6-NEXT: v_or_b32_e32 v1, v1, v2
219 ; GFX6-NEXT: v_xor_b32_e32 v0, s4, v0
220 ; GFX6-NEXT: v_xor_b32_e32 v1, s4, v1
221 ; GFX6-NEXT: v_lshrrev_b32_e32 v2, 16, v0
222 ; GFX6-NEXT: v_lshrrev_b32_e32 v3, 16, v1
223 ; GFX6-NEXT: v_cvt_f32_f16_e32 v0, v0
224 ; GFX6-NEXT: v_cvt_f32_f16_e32 v1, v1
225 ; GFX6-NEXT: v_cvt_f32_f16_e32 v4, v4
226 ; GFX6-NEXT: v_cvt_f32_f16_e32 v2, v2
227 ; GFX6-NEXT: v_cvt_f32_f16_e32 v3, v3
228 ; GFX6-NEXT: v_cvt_f32_f16_e32 v5, v5
229 ; GFX6-NEXT: v_fma_f32 v0, v0, v1, v4
230 ; GFX6-NEXT: v_cvt_f16_f32_e32 v0, v0
231 ; GFX6-NEXT: v_fma_f32 v1, v2, v3, v5
232 ; GFX6-NEXT: v_cvt_f16_f32_e32 v1, v1
233 ; GFX6-NEXT: s_setpc_b64 s[30:31]
269 ; GFX6-LABEL: v_fma_v4f16:
270 ; GFX6: ; %bb.0:
271 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
272 ; GFX6-NEXT: v_cvt_f32_f16_e32 v0, v0
273 ; GFX6-NEXT: v_cvt_f32_f16_e32 v4, v4
274 ; GFX6-NEXT: v_cvt_f32_f16_e32 v8, v8
275 ; GFX6-NEXT: v_cvt_f32_f16_e32 v1, v1
276 ; GFX6-NEXT: v_cvt_f32_f16_e32 v5, v5
277 ; GFX6-NEXT: v_cvt_f32_f16_e32 v9, v9
278 ; GFX6-NEXT: v_fma_f32 v0, v0, v4, v8
279 ; GFX6-NEXT: v_cvt_f32_f16_e32 v4, v6
280 ; GFX6-NEXT: v_cvt_f32_f16_e32 v6, v7
281 ; GFX6-NEXT: v_fma_f32 v1, v1, v5, v9
282 ; GFX6-NEXT: v_cvt_f32_f16_e32 v2, v2
283 ; GFX6-NEXT: v_cvt_f32_f16_e32 v5, v10
284 ; GFX6-NEXT: v_cvt_f32_f16_e32 v3, v3
285 ; GFX6-NEXT: v_cvt_f32_f16_e32 v7, v11
286 ; GFX6-NEXT: v_cvt_f16_f32_e32 v0, v0
287 ; GFX6-NEXT: v_fma_f32 v2, v2, v4, v5
288 ; GFX6-NEXT: v_cvt_f16_f32_e32 v1, v1
289 ; GFX6-NEXT: v_fma_f32 v3, v3, v6, v7
290 ; GFX6-NEXT: v_cvt_f16_f32_e32 v2, v2
291 ; GFX6-NEXT: v_cvt_f16_f32_e32 v3, v3
292 ; GFX6-NEXT: s_setpc_b64 s[30:31]
325 ; GFX6-LABEL: v_fma_f64:
326 ; GFX6: ; %bb.0:
327 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
328 ; GFX6-NEXT: v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
329 ; GFX6-NEXT: s_setpc_b64 s[30:31]
347 ; GFX6-LABEL: v_fma_f64_fneg_all:
348 ; GFX6: ; %bb.0:
349 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
350 ; GFX6-NEXT: v_fma_f64 v[0:1], -v[0:1], -v[2:3], -v[4:5]
351 ; GFX6-NEXT: s_setpc_b64 s[30:31]
372 ; GFX6-LABEL: v_fma_v2f64:
373 ; GFX6: ; %bb.0:
374 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
375 ; GFX6-NEXT: v_fma_f64 v[0:1], v[0:1], v[4:5], v[8:9]
376 ; GFX6-NEXT: v_fma_f64 v[2:3], v[2:3], v[6:7], v[10:11]
377 ; GFX6-NEXT: s_setpc_b64 s[30:31]
397 ; GFX6-LABEL: v_fma_f32_fabs_lhs:
398 ; GFX6: ; %bb.0:
399 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
400 ; GFX6-NEXT: v_fma_f32 v0, |v0|, v1, v2
401 ; GFX6-NEXT: s_setpc_b64 s[30:31]
420 ; GFX6-LABEL: v_fma_f32_fabs_rhs:
421 ; GFX6: ; %bb.0:
422 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
423 ; GFX6-NEXT: v_fma_f32 v0, v0, |v1|, v2
424 ; GFX6-NEXT: s_setpc_b64 s[30:31]
443 ; GFX6-LABEL: v_fma_f32_fabs_lhs_rhs:
444 ; GFX6: ; %bb.0:
445 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
446 ; GFX6-NEXT: v_fma_f32 v0, |v0|, |v1|, v2
447 ; GFX6-NEXT: s_setpc_b64 s[30:31]
467 ; GFX6-LABEL: v_fma_f32_sgpr_vgpr_vgpr:
468 ; GFX6: ; %bb.0:
469 ; GFX6-NEXT: v_fma_f32 v0, s0, v0, v1
470 ; GFX6-NEXT: ; return to shader part epilog
486 ; GFX6-LABEL: v_fma_f32_vgpr_sgpr_vgpr:
487 ; GFX6: ; %bb.0:
488 ; GFX6-NEXT: v_fma_f32 v0, v0, s0, v1
489 ; GFX6-NEXT: ; return to shader part epilog
505 ; GFX6-LABEL: v_fma_f32_sgpr_sgpr_sgpr:
506 ; GFX6: ; %bb.0:
507 ; GFX6-NEXT: v_mov_b32_e32 v0, s1
508 ; GFX6-NEXT: v_mov_b32_e32 v1, s2
509 ; GFX6-NEXT: v_fma_f32 v0, s0, v0, v1
510 ; GFX6-NEXT: ; return to shader part epilog
530 ; GFX6-LABEL: v_fma_f32_fneg_lhs:
531 ; GFX6: ; %bb.0:
532 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
533 ; GFX6-NEXT: v_fma_f32 v0, -v0, v1, v2
534 ; GFX6-NEXT: s_setpc_b64 s[30:31]
553 ; GFX6-LABEL: v_fma_f32_fneg_rhs:
554 ; GFX6: ; %bb.0:
555 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
556 ; GFX6-NEXT: v_fma_f32 v0, v0, -v1, v2
557 ; GFX6-NEXT: s_setpc_b64 s[30:31]
576 ; GFX6-LABEL: v_fma_f32_fneg_z:
577 ; GFX6: ; %bb.0:
578 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
579 ; GFX6-NEXT: v_fma_f32 v0, v0, v1, -v2
580 ; GFX6-NEXT: s_setpc_b64 s[30:31]