LLVMValueRef ptr = ac_build_gep0(&ctx->ac, ctx->esgs_ring, vtx_offset);
LLVMValueRef value = LLVMBuildLoad(ctx->ac.builder, ptr, "");
- if (llvm_type_is_64bit(ctx, type)) {
+ if (ac_get_type_size(type) == 64) {
ptr = LLVMBuildGEP(ctx->ac.builder, ptr,
&ctx->ac.i32_1, 1, "");
LLVMValueRef values[2] = {
value = ac_build_buffer_load(&ctx->ac, ctx->esgs_ring, 1, ctx->i32_0,
vtx_offset, soffset, 0, ac_glc, true, false);
- if (llvm_type_is_64bit(ctx, type)) {
+ if (ac_get_type_size(type) == 64) {
LLVMValueRef value2;
soffset = LLVMConstInt(ctx->i32, (param * 4 + swizzle + 1) * 256, 0);
LLVMValueRef value[4];
for (unsigned i = 0; i < num_components; i++) {
unsigned offset = i;
- if (llvm_type_is_64bit(ctx, type))
+ if (ac_get_type_size(type) == 64)
offset *= 2;
offset += component;
struct si_shader *shader);
void si_llvm_init_ps_callbacks(struct si_shader_context *ctx);
-/* TODO: remove */
-static inline bool llvm_type_is_64bit(struct si_shader_context *ctx,
- LLVMTypeRef type)
-{
- if (type == ctx->ac.i64 || type == ctx->ac.f64)
- return true;
-
- return false;
-}
-
#endif
return LLVMBuildBitCast(ctx->ac.builder, value, vec_type, "");
}
- if (!llvm_type_is_64bit(ctx, type)) {
+ if (ac_get_type_size(type) != 64) {
value = ac_build_buffer_load(&ctx->ac, buffer, 4, NULL, base, offset,
0, ac_glc, can_speculate, false);
}
/* Split 64-bit loads. */
- if (llvm_type_is_64bit(ctx, type)) {
+ if (ac_get_type_size(type) == 64) {
LLVMValueRef lo, hi;
lo = lshs_lds_load(ctx, ctx->i32, swizzle, dw_addr);
LLVMValueRef value[4];
for (unsigned i = 0; i < num_components; i++) {
unsigned offset = i;
- if (llvm_type_is_64bit(ctx, type))
+ if (ac_get_type_size(type) == 64)
offset *= 2;
offset += component;
LLVMValueRef value[4];
for (unsigned i = 0; i < num_components; i++) {
unsigned offset = i;
- if (llvm_type_is_64bit(ctx, type)) {
+ if (ac_get_type_size(type) == 64) {
offset *= 2;
if (offset == 4) {
ubyte name = info->input_semantic_name[driver_location + 1];