LLVMValueRef reg_storage)
{
struct gallivm_state *gallivm = bld_base->base.gallivm;
- return LLVMBuildLoad(gallivm->builder, reg_storage, "");
+ return LLVMBuildLoad2(gallivm->builder, reg_bld->vec_type, reg_storage, "");
}
return;
}
- LLVMValueRef cur = LLVMBuildLoad(gallivm->builder, reg_storage, "");
+ LLVMValueRef cur = LLVMBuildLoad2(gallivm->builder, reg_bld->vec_type, reg_storage, "");
LLVMTypeRef i32t = LLVMInt32TypeInContext(gallivm->context);
LLVMValueRef shuffles[LP_MAX_VECTOR_LENGTH];
for (unsigned j = 0; j < 16; j++) {
LLVMValueRef this_offset = lp_build_const_int32(gallivm,
offset_val + chan);
- LLVMValueRef scalar_ptr = LLVMBuildGEP(builder, bld->consts_ptr,
- &this_offset, 1, "");
-
- LLVMValueRef scalar = LLVMBuildLoad(builder, scalar_ptr, "");
+ LLVMTypeRef scalar_type = LLVMInt8TypeInContext(gallivm->context);
+ LLVMValueRef scalar_ptr = LLVMBuildGEP2(builder, scalar_type, bld->consts_ptr, &this_offset, 1, "");
+ LLVMValueRef scalar = LLVMBuildLoad2(builder, scalar_type, scalar_ptr, "");
lp_build_name(scalar, "const[%u].%c", offset_val, "xyzw"[chan]);