Lines Matching refs:half

14 …kernel void @fma_vector_vector_scalar_lo(<2 x half> addrspace(1)* %out, <2 x half> addrspace(3)* %…
16 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
18 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
19 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
20 %scalar0 = load volatile half, half addrspace(3)* %arg2, align 2
22 %scalar0.vec = insertelement <2 x half> undef, half %scalar0, i32 0
23 …%scalar0.broadcast = shufflevector <2 x half> %scalar0.vec, <2 x half> undef, <2 x i32> zeroinitia…
25 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %sca…
26 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
42 …ma_vector_vector_neg_broadcast_scalar_lo(<2 x half> addrspace(1)* %out, <2 x half> addrspace(3)* %…
44 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
46 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
47 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
48 %scalar0 = load volatile half, half addrspace(3)* %arg2, align 2
50 %scalar0.vec = insertelement <2 x half> undef, half %scalar0, i32 0
51 …%scalar0.broadcast = shufflevector <2 x half> %scalar0.vec, <2 x half> undef, <2 x i32> zeroinitia…
52 %neg.scalar0.broadcast = fsub <2 x half> <half -0.0, half -0.0>, %scalar0.broadcast
54 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %neg…
55 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
71 …el void @fma_vector_vector_neg_scalar_lo(<2 x half> addrspace(1)* %out, <2 x half> addrspace(3)* %…
73 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
75 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
76 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
77 %scalar0 = load volatile half, half addrspace(3)* %arg2, align 2
79 %neg.scalar0 = fsub half -0.0, %scalar0
80 %neg.scalar0.vec = insertelement <2 x half> undef, half %neg.scalar0, i32 0
81 …%neg.scalar0.broadcast = shufflevector <2 x half> %neg.scalar0.vec, <2 x half> undef, <2 x i32> ze…
83 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %neg…
84 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
100 …ector_vector_neg_broadcast_neg_scalar_lo(<2 x half> addrspace(1)* %out, <2 x half> addrspace(3)* %…
102 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
104 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
105 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
106 %scalar0 = load volatile half, half addrspace(3)* %arg2, align 2
108 %neg.scalar0 = fsub half -0.0, %scalar0
109 %neg.scalar0.vec = insertelement <2 x half> undef, half %neg.scalar0, i32 0
110 …%neg.scalar0.broadcast = shufflevector <2 x half> %neg.scalar0.vec, <2 x half> undef, <2 x i32> ze…
111 %neg.neg.scalar0.broadcast = fsub <2 x half> <half -0.0, half -0.0>, %neg.scalar0.broadcast
113 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %neg…
114 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
130 …el void @fma_vector_vector_scalar_neg_lo(<2 x half> addrspace(1)* %out, <2 x half> addrspace(3)* %…
132 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
134 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
135 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
136 %scalar0 = load volatile half, half addrspace(3)* %arg2, align 2
138 %neg.scalar0 = fsub half -0.0, %scalar0
139 %neg.scalar0.vec = insertelement <2 x half> undef, half %neg.scalar0, i32 0
140 %neg.scalar0.scalar0 = insertelement <2 x half> %neg.scalar0.vec, half %scalar0, i32 1
141 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %neg…
142 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
158 …el void @fma_vector_vector_scalar_neg_hi(<2 x half> addrspace(1)* %out, <2 x half> addrspace(3)* %…
160 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
162 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
163 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
164 %scalar0 = load volatile half, half addrspace(3)* %arg2, align 2
166 %neg.scalar0 = fsub half -0.0, %scalar0
167 %neg.scalar0.vec = insertelement <2 x half> undef, half %scalar0, i32 0
168 %scalar0.neg.scalar0 = insertelement <2 x half> %neg.scalar0.vec, half %neg.scalar0, i32 1
169 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %sca…
170 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
185 …ast_scalar_lo(<2 x i16> addrspace(1)* %out, <2 x i16> addrspace(3)* %lds, half addrspace(3)* %arg2…
188 %scalar0 = load volatile half, half addrspace(3)* %arg2, align 2
189 %neg.scalar0 = fsub half -0.0, %scalar0
190 %neg.scalar0.bc = bitcast half %neg.scalar0 to i16
212 …ma_vector_vector_scalar_lo_neg_scalar_hi(<2 x half> addrspace(1)* %out, <2 x half> addrspace(3)* %…
214 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
215 %arg2.gep = getelementptr inbounds half, half addrspace(3)* %arg2, i32 2
217 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
218 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
220 %scalar0 = load volatile half, half addrspace(3)* %arg2, align 2
221 %scalar1 = load volatile half, half addrspace(3)* %arg2.gep, align 2
223 %neg.scalar1 = fsub half -0.0, %scalar1
224 %vec.ins0 = insertelement <2 x half> undef, half %scalar0, i32 0
225 %vec2 = insertelement <2 x half> %vec.ins0, half %neg.scalar1, i32 1
226 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %vec…
227 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
240 …ma_vector_vector_neg_scalar_lo_scalar_hi(<2 x half> addrspace(1)* %out, <2 x half> addrspace(3)* %…
242 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
243 %arg2.gep = getelementptr inbounds half, half addrspace(3)* %arg2, i32 2
245 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
246 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
248 %scalar0 = load volatile half, half addrspace(3)* %arg2, align 2
249 %scalar1 = load volatile half, half addrspace(3)* %arg2.gep, align 2
251 %vec.ins0 = insertelement <2 x half> undef, half %scalar0, i32 0
252 %vec2 = insertelement <2 x half> %vec.ins0, half %scalar1, i32 1
253 %neg.vec2 = fsub <2 x half> <half -0.0, half -0.0>, %vec2
255 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %neg…
256 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
271 define amdgpu_kernel void @fma_vector_vector_neg_vector_hi(<2 x half> addrspace(1)* %out, <2 x half
273 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
274 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
276 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
277 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
278 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
280 %vec2.fneg = fsub <2 x half> <half -0.0, half -0.0>, %vec2
281 …%vec2.fneg.elt1.broadcast = shufflevector <2 x half> %vec2.fneg, <2 x half> undef, <2 x i32> <i32 …
283 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %vec…
284 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
299 define amdgpu_kernel void @fma_vector_vector_vector_neg_hi(<2 x half> addrspace(1)* %out, <2 x half
301 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
302 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
304 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
305 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
306 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
308 %vec2.elt1 = extractelement <2 x half> %vec2, i32 1
309 %neg.vec2.elt1 = fsub half -0.0, %vec2.elt1
311 %neg.vec2.elt1.insert = insertelement <2 x half> %vec2, half %neg.vec2.elt1, i32 1
312 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %neg…
313 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
352 define amdgpu_kernel void @fma_vector_vector_scalar_hi(<2 x half> addrspace(1)* %out, <2 x half> ad…
354 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
355 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
357 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
358 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
359 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
361 %vec2.elt1.broadcast = shufflevector <2 x half> %vec2, <2 x half> undef, <2 x i32> <i32 1, i32 1>
363 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %vec…
365 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
380 …u_kernel void @fma_vector_vector_neg_vector_lo_neg_hi(<2 x half> addrspace(1)* %out, <2 x half> ad…
382 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
383 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
385 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
386 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
387 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
389 %neg.vec2 = fsub <2 x half> <half -0.0, half -0.0>, %vec2
390 %neg.vec2.elt1 = extractelement <2 x half> %neg.vec2, i32 1
391 %neg.neg.vec2.elt1 = fsub half -0.0, %neg.vec2.elt1
392 %neg.neg.vec2.elt1.insert = insertelement <2 x half> %vec2, half %neg.neg.vec2.elt1, i32 1
394 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %neg…
395 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
410 define amdgpu_kernel void @fma_vector_vector_swap_vector(<2 x half> addrspace(1)* %out, <2 x half> …
412 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
413 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
415 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
416 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
417 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
419 %vec2.swap = shufflevector <2 x half> %vec2, <2 x half> undef, <2 x i32> <i32 1, i32 0>
420 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %vec…
422 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
438 …amdgpu_kernel void @fma_vector_vector_swap_neg_vector(<2 x half> addrspace(1)* %out, <2 x half> ad…
440 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
441 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
443 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
444 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
445 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
446 %neg.vec2 = fsub <2 x half> <half -0.0, half -0.0>, %vec2
448 %neg.vec2.swap = shufflevector <2 x half> %neg.vec2, <2 x half> undef, <2 x i32> <i32 1, i32 0>
449 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %neg…
451 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
467 …nel void @fma_vector_vector_blend_vector_neg_vector_0(<2 x half> addrspace(1)* %out, <2 x half> ad…
469 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
470 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
472 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
473 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
474 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
475 %neg.vec2 = fsub <2 x half> <half -0.0, half -0.0>, %vec2
476 %combined = shufflevector <2 x half> %vec2, <2 x half> %neg.vec2, <2 x i32> <i32 3, i32 0>
477 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %com…
479 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
495 …nel void @fma_vector_vector_blend_vector_neg_vector_1(<2 x half> addrspace(1)* %out, <2 x half> ad…
497 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
498 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
500 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
501 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
502 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
503 %neg.vec2 = fsub <2 x half> <half -0.0, half -0.0>, %vec2
504 %combined = shufflevector <2 x half> %vec2, <2 x half> %neg.vec2, <2 x i32> <i32 2, i32 1>
505 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %com…
507 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
523 …nel void @fma_vector_vector_blend_vector_neg_vector_2(<2 x half> addrspace(1)* %out, <2 x half> ad…
525 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
526 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
528 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
529 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
530 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
531 %neg.vec2 = fsub <2 x half> <half -0.0, half -0.0>, %vec2
532 %combined = shufflevector <2 x half> %vec2, <2 x half> %neg.vec2, <2 x i32> <i32 0, i32 3>
533 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %com…
535 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
551 …nel void @fma_vector_vector_blend_vector_neg_vector_3(<2 x half> addrspace(1)* %out, <2 x half> ad…
553 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
554 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
556 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
557 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
558 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
559 %neg.vec2 = fsub <2 x half> <half -0.0, half -0.0>, %vec2
560 %combined = shufflevector <2 x half> %vec2, <2 x half> %neg.vec2, <2 x i32> <i32 3, i32 1>
561 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %com…
563 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
569 define amdgpu_kernel void @bitcast_fneg_f32(<2 x half> addrspace(1)* %out, <2 x half> addrspace(3)*…
571 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
574 %bc = bitcast float %neg.f32 to <2 x half>
575 %result = fadd <2 x half> %vec0, %bc
577 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
583 define amdgpu_kernel void @shuffle_bitcast_fneg_f32(<2 x half> addrspace(1)* %out, <2 x half> addrs…
585 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
589 %bc = bitcast float %neg.f32 to <2 x half>
590 %shuf = shufflevector <2 x half> %bc, <2 x half> undef, <2 x i32> <i32 1, i32 0>
591 %result = fadd <2 x half> %vec0, %shuf
592 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
629 define amdgpu_kernel void @bitcast_lo_elt_op_sel(<2 x half> addrspace(1)* %out, <2 x half> addrspac…
631 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
632 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
634 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
635 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
636 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
640 %shl.bc = bitcast i16 %shl to half
642 %fadd = fadd <2 x half> %vec2, <half 2.0, half 2.0>
643 %shuffle = shufflevector <2 x half> %fadd, <2 x half> %vec2, <2 x i32> <i32 1, i32 0>
645 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %shu…
646 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
664 define amdgpu_kernel void @mix_elt_types_op_sel(<2 x half> addrspace(1)* %out, <2 x half> addrspace…
666 %lds.gep1 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 1
667 %lds.gep2 = getelementptr inbounds <2 x half>, <2 x half> addrspace(3)* %lds, i32 2
669 %vec0 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds, align 4
670 %vec1 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep1, align 4
671 %vec2 = load volatile <2 x half>, <2 x half> addrspace(3)* %lds.gep2, align 4
674 %scalar1 = load volatile half, half addrspace(1)* undef
676 %shl.bc = bitcast i16 %shl to half
678 %insert0 = insertelement <2 x half> undef, half %shl.bc, i32 0
680 %fadd = fadd <2 x half> %vec2, <half 2.0, half 2.0>
681 %insert1 = shufflevector <2 x half> %fadd, <2 x half> %insert0, <2 x i32> <i32 1, i32 0>
683 …%result = tail call <2 x half> @llvm.fma.v2f16(<2 x half> %vec0, <2 x half> %vec1, <2 x half> %ins…
684 store <2 x half> %result, <2 x half> addrspace(1)* %out, align 4
688 declare <2 x half> @llvm.fma.v2f16(<2 x half>, <2 x half>, <2 x half>) #1