Lines Matching refs:LLVMValueRef
71 LLVMValueRef main_function;
98 LLVMValueRef i8_0;
99 LLVMValueRef i8_1;
100 LLVMValueRef i16_0;
101 LLVMValueRef i16_1;
102 LLVMValueRef i32_0;
103 LLVMValueRef i32_1;
104 LLVMValueRef i64_0;
105 LLVMValueRef i64_1;
106 LLVMValueRef i128_0;
107 LLVMValueRef i128_1;
108 LLVMValueRef f16_0;
109 LLVMValueRef f16_1;
110 LLVMValueRef f32_0;
111 LLVMValueRef f32_1;
112 LLVMValueRef f64_0;
113 LLVMValueRef f64_1;
114 LLVMValueRef i1true;
115 LLVMValueRef i1false;
121 LLVMValueRef postponed_kill;
133 LLVMValueRef empty_md;
144 LLVMValueRef lds;
155 int ac_get_llvm_num_components(LLVMValueRef value);
159 LLVMValueRef ac_llvm_extract_elem(struct ac_llvm_context *ac, LLVMValueRef value, int index);
164 LLVMValueRef ac_to_integer(struct ac_llvm_context *ctx, LLVMValueRef v);
165 LLVMValueRef ac_to_integer_or_pointer(struct ac_llvm_context *ctx, LLVMValueRef v);
167 LLVMValueRef ac_to_float(struct ac_llvm_context *ctx, LLVMValueRef v);
169 LLVMValueRef ac_build_intrinsic(struct ac_llvm_context *ctx, const char *name,
170 LLVMTypeRef return_type, LLVMValueRef *params, unsigned param_count,
175 LLVMValueRef ac_build_phi(struct ac_llvm_context *ctx, LLVMTypeRef type, unsigned count_incoming,
176 LLVMValueRef *values, LLVMBasicBlockRef *blocks);
179 void ac_build_optimization_barrier(struct ac_llvm_context *ctx, LLVMValueRef *pgpr, bool sgpr);
181 LLVMValueRef ac_build_shader_clock(struct ac_llvm_context *ctx, nir_scope scope);
183 LLVMValueRef ac_build_ballot(struct ac_llvm_context *ctx, LLVMValueRef value);
184 LLVMValueRef ac_get_i1_sgpr_mask(struct ac_llvm_context *ctx, LLVMValueRef value);
186 LLVMValueRef ac_build_vote_all(struct ac_llvm_context *ctx, LLVMValueRef value);
188 LLVMValueRef ac_build_vote_any(struct ac_llvm_context *ctx, LLVMValueRef value);
190 LLVMValueRef ac_build_vote_eq(struct ac_llvm_context *ctx, LLVMValueRef value);
192 LLVMValueRef ac_build_varying_gather_values(struct ac_llvm_context *ctx, LLVMValueRef *values,
195 LLVMValueRef ac_build_gather_values_extended(struct ac_llvm_context *ctx, LLVMValueRef *values,
198 LLVMValueRef ac_build_gather_values(struct ac_llvm_context *ctx, LLVMValueRef *values,
201 LLVMValueRef ac_build_concat(struct ac_llvm_context *ctx, LLVMValueRef a, LLVMValueRef b);
203 LLVMValueRef ac_extract_components(struct ac_llvm_context *ctx, LLVMValueRef value, unsigned start,
206 LLVMValueRef ac_build_expand(struct ac_llvm_context *ctx, LLVMValueRef value,
209 LLVMValueRef ac_build_expand_to_vec4(struct ac_llvm_context *ctx, LLVMValueRef value,
211 LLVMValueRef ac_build_round(struct ac_llvm_context *ctx, LLVMValueRef value);
213 LLVMValueRef ac_build_fdiv(struct ac_llvm_context *ctx, LLVMValueRef num, LLVMValueRef den);
215 LLVMValueRef ac_build_fast_udiv(struct ac_llvm_context *ctx, LLVMValueRef num,
216 LLVMValueRef multiplier, LLVMValueRef pre_shift,
217 LLVMValueRef post_shift, LLVMValueRef increment);
218 LLVMValueRef ac_build_fast_udiv_nuw(struct ac_llvm_context *ctx, LLVMValueRef num,
219 LLVMValueRef multiplier, LLVMValueRef pre_shift,
220 LLVMValueRef post_shift, LLVMValueRef increment);
221 LLVMValueRef ac_build_fast_udiv_u31_d_not_one(struct ac_llvm_context *ctx, LLVMValueRef num,
222 LLVMValueRef multiplier, LLVMValueRef post_shift);
225 LLVMValueRef *coords_arg, LLVMValueRef *derivs_arg);
227 LLVMValueRef ac_build_fs_interp(struct ac_llvm_context *ctx, LLVMValueRef llvm_chan,
228 LLVMValueRef attr_number, LLVMValueRef params, LLVMValueRef i,
229 LLVMValueRef j);
231 LLVMValueRef ac_build_fs_interp_f16(struct ac_llvm_context *ctx, LLVMValueRef llvm_chan,
232 LLVMValueRef attr_number, LLVMValueRef params, LLVMValueRef i,
233 LLVMValueRef j, bool high_16bits);
235 LLVMValueRef ac_build_fs_interp_mov(struct ac_llvm_context *ctx, LLVMValueRef parameter,
236 LLVMValueRef llvm_chan, LLVMValueRef attr_number,
237 LLVMValueRef params);
239 LLVMValueRef ac_build_gep_ptr(struct ac_llvm_context *ctx, LLVMValueRef base_ptr,
240 LLVMValueRef index);
242 LLVMValueRef ac_build_gep0(struct ac_llvm_context *ctx, LLVMValueRef base_ptr, LLVMValueRef index);
243 LLVMValueRef ac_build_pointer_add(struct ac_llvm_context *ctx, LLVMValueRef ptr,
244 LLVMValueRef index);
246 void ac_build_indexed_store(struct ac_llvm_context *ctx, LLVMValueRef base_ptr, LLVMValueRef index,
247 LLVMValueRef value);
249 LLVMValueRef ac_build_load(struct ac_llvm_context *ctx, LLVMValueRef base_ptr, LLVMValueRef index);
250 LLVMValueRef ac_build_load_invariant(struct ac_llvm_context *ctx, LLVMValueRef base_ptr,
251 LLVMValueRef index);
252 LLVMValueRef ac_build_load_to_sgpr(struct ac_llvm_context *ctx, LLVMValueRef base_ptr,
253 LLVMValueRef index);
254 LLVMValueRef ac_build_load_to_sgpr_uint_wraparound(struct ac_llvm_context *ctx,
255 LLVMValueRef base_ptr, LLVMValueRef index);
257 void ac_build_buffer_store_dword(struct ac_llvm_context *ctx, LLVMValueRef rsrc, LLVMValueRef vdata,
258 LLVMValueRef vindex, LLVMValueRef voffset, LLVMValueRef soffset,
261 void ac_build_buffer_store_format(struct ac_llvm_context *ctx, LLVMValueRef rsrc, LLVMValueRef data,
262 LLVMValueRef vindex, LLVMValueRef voffset, unsigned cache_policy);
264 LLVMValueRef ac_build_buffer_load(struct ac_llvm_context *ctx, LLVMValueRef rsrc, int num_channels,
265 LLVMValueRef vindex, LLVMValueRef voffset, LLVMValueRef soffset,
269 LLVMValueRef ac_build_buffer_load_format(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
270 LLVMValueRef vindex, LLVMValueRef voffset,
274 LLVMValueRef ac_build_buffer_load_short(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
275 LLVMValueRef voffset, LLVMValueRef soffset,
278 LLVMValueRef ac_build_buffer_load_byte(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
279 LLVMValueRef voffset, LLVMValueRef soffset,
282 LLVMValueRef ac_build_struct_tbuffer_load(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
283 LLVMValueRef vindex, LLVMValueRef voffset,
284 LLVMValueRef soffset, unsigned num_channels,
288 LLVMValueRef ac_build_opencoded_load_format(struct ac_llvm_context *ctx, unsigned log_size,
290 bool known_aligned, LLVMValueRef rsrc,
291 LLVMValueRef vindex, LLVMValueRef voffset,
292 LLVMValueRef soffset, unsigned cache_policy,
295 void ac_build_buffer_store_short(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
296 LLVMValueRef vdata, LLVMValueRef voffset, LLVMValueRef soffset,
299 void ac_build_buffer_store_byte(struct ac_llvm_context *ctx, LLVMValueRef rsrc, LLVMValueRef vdata,
300 LLVMValueRef voffset, LLVMValueRef soffset, unsigned cache_policy);
302 void ac_set_range_metadata(struct ac_llvm_context *ctx, LLVMValueRef value, unsigned lo,
304 LLVMValueRef ac_get_thread_id(struct ac_llvm_context *ctx);
310 LLVMValueRef ac_build_ddxy(struct ac_llvm_context *ctx, uint32_t mask, int idx, LLVMValueRef val);
321 void ac_build_sendmsg(struct ac_llvm_context *ctx, uint32_t msg, LLVMValueRef wave_id);
323 LLVMValueRef ac_build_imsb(struct ac_llvm_context *ctx, LLVMValueRef arg, LLVMTypeRef dst_type);
325 LLVMValueRef ac_build_umsb(struct ac_llvm_context *ctx, LLVMValueRef arg, LLVMTypeRef dst_type);
326 LLVMValueRef ac_build_fmin(struct ac_llvm_context *ctx, LLVMValueRef a, LLVMValueRef b);
327 LLVMValueRef ac_build_fmax(struct ac_llvm_context *ctx, LLVMValueRef a, LLVMValueRef b);
328 LLVMValueRef ac_build_imin(struct ac_llvm_context *ctx, LLVMValueRef a, LLVMValueRef b);
329 LLVMValueRef ac_build_imax(struct ac_llvm_context *ctx, LLVMValueRef a, LLVMValueRef b);
330 LLVMValueRef ac_build_umin(struct ac_llvm_context *ctx, LLVMValueRef a, LLVMValueRef b);
331 LLVMValueRef ac_build_umax(struct ac_llvm_context *ctx, LLVMValueRef a, LLVMValueRef b);
332 LLVMValueRef ac_build_clamp(struct ac_llvm_context *ctx, LLVMValueRef value);
335 LLVMValueRef out[4];
402 LLVMValueRef resource;
403 LLVMValueRef sampler;
404 LLVMValueRef data[2]; /* data[0] is source data (vector); data[1] is cmp for cmpswap */
405 LLVMValueRef offset;
406 LLVMValueRef bias;
407 LLVMValueRef compare;
408 LLVMValueRef derivs[6];
409 LLVMValueRef coords[4];
410 LLVMValueRef lod; // also used by ac_image_get_resinfo
411 LLVMValueRef min_lod;
414 LLVMValueRef ac_build_image_opcode(struct ac_llvm_context *ctx, struct ac_image_args *a);
415 LLVMValueRef ac_build_image_get_sample_count(struct ac_llvm_context *ctx, LLVMValueRef rsrc);
416 LLVMValueRef ac_build_cvt_pkrtz_f16(struct ac_llvm_context *ctx, LLVMValueRef args[2]);
417 LLVMValueRef ac_build_cvt_pknorm_i16(struct ac_llvm_context *ctx, LLVMValueRef args[2]);
418 LLVMValueRef ac_build_cvt_pknorm_u16(struct ac_llvm_context *ctx, LLVMValueRef args[2]);
419 LLVMValueRef ac_build_cvt_pknorm_i16_f16(struct ac_llvm_context *ctx, LLVMValueRef args[2]);
420 LLVMValueRef ac_build_cvt_pknorm_u16_f16(struct ac_llvm_context *ctx, LLVMValueRef args[2]);
421 LLVMValueRef ac_build_cvt_pk_i16(struct ac_llvm_context *ctx, LLVMValueRef args[2], unsigned bits,
423 LLVMValueRef ac_build_cvt_pk_u16(struct ac_llvm_context *ctx, LLVMValueRef args[2], unsigned bits,
425 LLVMValueRef ac_build_wqm_vote(struct ac_llvm_context *ctx, LLVMValueRef i1);
426 void ac_build_kill_if_false(struct ac_llvm_context *ctx, LLVMValueRef i1);
427 LLVMValueRef ac_build_bfe(struct ac_llvm_context *ctx, LLVMValueRef input, LLVMValueRef offset,
428 LLVMValueRef width, bool is_signed);
429 LLVMValueRef ac_build_imad(struct ac_llvm_context *ctx, LLVMValueRef s0, LLVMValueRef s1,
430 LLVMValueRef s2);
431 LLVMValueRef ac_build_fmad(struct ac_llvm_context *ctx, LLVMValueRef s0, LLVMValueRef s1,
432 LLVMValueRef s2);
436 LLVMValueRef ac_build_fract(struct ac_llvm_context *ctx, LLVMValueRef src0, unsigned bitsize);
437 LLVMValueRef ac_const_uint_vec(struct ac_llvm_context *ctx, LLVMTypeRef type, uint64_t value);
438 LLVMValueRef ac_build_isign(struct ac_llvm_context *ctx, LLVMValueRef src0);
439 LLVMValueRef ac_build_fsign(struct ac_llvm_context *ctx, LLVMValueRef src);
440 LLVMValueRef ac_build_bit_count(struct ac_llvm_context *ctx, LLVMValueRef src0);
442 LLVMValueRef ac_build_fsat(struct ac_llvm_context *ctx, LLVMValueRef src,
445 LLVMValueRef ac_build_bitfield_reverse(struct ac_llvm_context *ctx, LLVMValueRef src0);
450 LLVMValueRef ac_lds_load(struct ac_llvm_context *ctx, LLVMValueRef dw_addr);
451 void ac_lds_store(struct ac_llvm_context *ctx, LLVMValueRef dw_addr, LLVMValueRef value);
453 LLVMValueRef ac_find_lsb(struct ac_llvm_context *ctx, LLVMTypeRef dst_type, LLVMValueRef src0);
464 void ac_build_ifcc(struct ac_llvm_context *ctx, LLVMValueRef cond, int label_id);
466 LLVMValueRef ac_build_alloca(struct ac_llvm_context *ac, LLVMTypeRef type, const char *name);
467 LLVMValueRef ac_build_alloca_undef(struct ac_llvm_context *ac, LLVMTypeRef type, const char *name);
468 LLVMValueRef ac_build_alloca_init(struct ac_llvm_context *ac, LLVMValueRef val, const char *name);
470 LLVMValueRef ac_cast_ptr(struct ac_llvm_context *ctx, LLVMValueRef ptr, LLVMTypeRef type);
472 LLVMValueRef ac_trim_vector(struct ac_llvm_context *ctx, LLVMValueRef value, unsigned count);
474 LLVMValueRef ac_unpack_param(struct ac_llvm_context *ctx, LLVMValueRef param, unsigned rshift,
477 void ac_apply_fmask_to_sample(struct ac_llvm_context *ac, LLVMValueRef fmask, LLVMValueRef *addr,
480 LLVMValueRef ac_build_ds_swizzle(struct ac_llvm_context *ctx, LLVMValueRef src, unsigned mask);
482 LLVMValueRef ac_build_readlane_no_opt_barrier(struct ac_llvm_context *ctx, LLVMValueRef src,
483 LLVMValueRef lane);
485 LLVMValueRef ac_build_readlane(struct ac_llvm_context *ctx, LLVMValueRef src, LLVMValueRef lane);
487 LLVMValueRef ac_build_writelane(struct ac_llvm_context *ctx, LLVMValueRef src, LLVMValueRef value,
488 LLVMValueRef lane);
490 LLVMValueRef ac_build_mbcnt_add(struct ac_llvm_context *ctx, LLVMValueRef mask, LLVMValueRef add_sr…
491 LLVMValueRef ac_build_mbcnt(struct ac_llvm_context *ctx, LLVMValueRef mask);
493 LLVMValueRef ac_build_inclusive_scan(struct ac_llvm_context *ctx, LLVMValueRef src, nir_op op);
495 LLVMValueRef ac_build_exclusive_scan(struct ac_llvm_context *ctx, LLVMValueRef src, nir_op op);
497 LLVMValueRef ac_build_reduce(struct ac_llvm_context *ctx, LLVMValueRef src, nir_op op,
510 LLVMValueRef src; /* clobbered! */
511 LLVMValueRef result_reduce;
512 LLVMValueRef result_exclusive;
513 LLVMValueRef result_inclusive;
514 LLVMValueRef extra;
515 LLVMValueRef waveidx;
516 LLVMValueRef numwaves; /* only needed for "reduce" operations */
519 LLVMValueRef scratch;
531 LLVMValueRef ac_build_quad_swizzle(struct ac_llvm_context *ctx, LLVMValueRef src, unsigned lane0,
534 LLVMValueRef ac_build_shuffle(struct ac_llvm_context *ctx, LLVMValueRef src, LLVMValueRef index);
536 LLVMValueRef ac_build_frexp_exp(struct ac_llvm_context *ctx, LLVMValueRef src0, unsigned bitsize);
538 LLVMValueRef ac_build_frexp_mant(struct ac_llvm_context *ctx, LLVMValueRef src0, unsigned bitsize);
540 LLVMValueRef ac_build_canonicalize(struct ac_llvm_context *ctx, LLVMValueRef src0,
543 LLVMValueRef ac_build_ddxy_interp(struct ac_llvm_context *ctx, LLVMValueRef interp_ij);
545 LLVMValueRef ac_build_load_helper_invocation(struct ac_llvm_context *ctx);
547 LLVMValueRef ac_build_is_helper_invocation(struct ac_llvm_context *ctx);
549 LLVMValueRef ac_build_call(struct ac_llvm_context *ctx, LLVMValueRef func, LLVMValueRef *args,
552 LLVMValueRef ac_build_atomic_rmw(struct ac_llvm_context *ctx, LLVMAtomicRMWBinOp op,
553 LLVMValueRef ptr, LLVMValueRef val, const char *sync_scope);
555 LLVMValueRef ac_build_atomic_cmp_xchg(struct ac_llvm_context *ctx, LLVMValueRef ptr,
556 LLVMValueRef cmp, LLVMValueRef val, const char *sync_scope);
558 void ac_export_mrt_z(struct ac_llvm_context *ctx, LLVMValueRef depth, LLVMValueRef stencil,
559 LLVMValueRef samplemask, LLVMValueRef mrt0_alpha, bool is_last,
562 void ac_build_sendmsg_gs_alloc_req(struct ac_llvm_context *ctx, LLVMValueRef wave_id,
563 LLVMValueRef vtx_cnt, LLVMValueRef prim_cnt);
567 LLVMValueRef isnull;
568 LLVMValueRef index[3];
569 LLVMValueRef edgeflags;
570 LLVMValueRef passthrough;
573 LLVMValueRef ac_pack_edgeflags_for_export(struct ac_llvm_context *ctx,
575 LLVMValueRef ac_pack_prim_export(struct ac_llvm_context *ctx, const struct ac_ngg_prim *prim);
578 static inline LLVMValueRef ac_get_arg(struct ac_llvm_context *ctx, struct ac_arg arg) in ac_get_arg()
593 LLVMValueRef ac_build_main(const struct ac_shader_args *args, struct ac_llvm_context *ctx,
598 void ac_build_triangle_strip_indices_to_triangle(struct ac_llvm_context *ctx, LLVMValueRef is_odd,
599 LLVMValueRef flatshade_first,
600 LLVMValueRef index[3]);
601 LLVMValueRef ac_build_is_inf_or_nan(struct ac_llvm_context *ctx, LLVMValueRef a);