gallivm: (trivial) fix copy/paste bug with big endian code
authorRoland Scheidegger <sroland@vmware.com>
Wed, 18 Jan 2017 15:30:50 +0000 (16:30 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Wed, 18 Jan 2017 15:30:50 +0000 (16:30 +0100)
8bd67a35c50e68c21aed043de11e095c284d151a introduced using undefined variable
on big endian archs due to copy/paste bug.
(compile hack tested only)

src/gallium/auxiliary/gallivm/lp_bld_gather.c

index 7654ba01d8873dc75c81405587c4db925bbbacaa..2d1fb65b15fadf24b8e734ad9cfa99499459b2a2 100644 (file)
@@ -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,