summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2017-01-18 16:30:50 +0100
committerRoland Scheidegger <[email protected]>2017-01-18 16:30:50 +0100
commit56441708cf0188d9d8c852a6353fc45c03e6a22d (patch)
tree91094a600eb612e84f620cc99edf436fd1e2ac33
parent34041968f883253de639f137a761340e84f82bb9 (diff)
gallivm: (trivial) fix copy/paste bug with big endian code
8bd67a35c50e68c21aed043de11e095c284d151a introduced using undefined variable on big endian archs due to copy/paste bug. (compile hack tested only)
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_gather.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_gather.c b/src/gallium/auxiliary/gallivm/lp_bld_gather.c
index 7654ba01d88..2d1fb65b15f 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_gather.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_gather.c
@@ -227,11 +227,13 @@ lp_build_gather_elem_vec(struct gallivm_state *gallivm,
* with src_width >= 32 here?
*/
} else {
+ LLVMTypeRef dst_elem_type = lp_build_vec_type(gallivm, dst_type);
+
/*
* Only valid if src_ptr_type is int type...
*/
- res = LLVMBuildZExt(gallivm->builder, res,
- lp_build_vec_type(gallivm, dst_type), "");
+ res = LLVMBuildZExt(gallivm->builder, res, dst_elem_type, "");
+
if (vector_justify) {
#ifdef PIPE_ARCH_BIG_ENDIAN
res = LLVMBuildShl(gallivm->builder, res,