From a0ddc547779585b308feb70777f1f95f12c00a81 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Tue, 25 Nov 2014 23:03:02 +0000 Subject: [PATCH] draw,gallivm,llvmpipe: Avoid implicit casts of 32-bit shifts to 64-bits. Addresses MSVC warnings "result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)", which can often be symptom of bugs, but in these cases were all benign. Reviewed-by: Brian Paul Reviewed-by: Roland Scheidegger --- src/gallium/auxiliary/draw/draw_llvm.c | 4 ++-- src/gallium/auxiliary/gallivm/lp_bld_arit.c | 2 +- src/gallium/auxiliary/gallivm/lp_bld_sample.c | 2 +- src/gallium/drivers/llvmpipe/lp_setup_tri.c | 4 ++-- src/gallium/drivers/llvmpipe/lp_state_fs.c | 8 ++++---- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c index a2e6112009a..dbaece3ab35 100644 --- a/src/gallium/auxiliary/draw/draw_llvm.c +++ b/src/gallium/auxiliary/draw/draw_llvm.c @@ -1269,7 +1269,7 @@ generate_clipmask(struct draw_llvm *llvm, test = lp_build_compare(gallivm, f32_type, PIPE_FUNC_GREATER, zero, clipdist); is_nan_or_inf = lp_build_is_inf_or_nan(gallivm, vs_type, clipdist); test = LLVMBuildOr(builder, test, is_nan_or_inf, ""); - temp = lp_build_const_int_vec(gallivm, i32_type, 1 << plane_idx); + temp = lp_build_const_int_vec(gallivm, i32_type, 1LL << plane_idx); test = LLVMBuildAnd(builder, test, temp, ""); mask = LLVMBuildOr(builder, mask, test, ""); } else { @@ -1305,7 +1305,7 @@ generate_clipmask(struct draw_llvm *llvm, sum = LLVMBuildFAdd(builder, sum, test, ""); test = lp_build_compare(gallivm, f32_type, PIPE_FUNC_GREATER, zero, sum); - temp = lp_build_const_int_vec(gallivm, i32_type, 1 << plane_idx); + temp = lp_build_const_int_vec(gallivm, i32_type, 1LL << plane_idx); test = LLVMBuildAnd(builder, test, temp, ""); mask = LLVMBuildOr(builder, mask, test, ""); } diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c index 87da355239c..cd05f111f19 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c @@ -932,7 +932,7 @@ lp_build_mul_norm(struct gallivm_state *gallivm, * half = sgn(ab) * 0.5 * (2 ** n) = sgn(ab) * (1 << (n - 1)) */ - half = lp_build_const_int_vec(gallivm, wide_type, 1 << (n - 1)); + half = lp_build_const_int_vec(gallivm, wide_type, 1LL << (n - 1)); if (wide_type.sign) { LLVMValueRef minus_half = LLVMBuildNeg(builder, half, ""); LLVMValueRef sign = lp_build_shr_imm(&bld, ab, wide_type.width - 1); diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.c b/src/gallium/auxiliary/gallivm/lp_bld_sample.c index 85c0d4ed6f8..8cee994ee6d 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_sample.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.c @@ -1641,7 +1641,7 @@ lp_build_cube_lookup(struct lp_build_sample_context *bld, LLVMValueRef ma, mai, signma, signmabit, imahalfpos; LLVMValueRef posHalf = lp_build_const_vec(gallivm, coord_bld->type, 0.5); LLVMValueRef signmask = lp_build_const_int_vec(gallivm, intctype, - 1 << (intctype.width - 1)); + 1LL << (intctype.width - 1)); LLVMValueRef signshift = lp_build_const_int_vec(gallivm, intctype, intctype.width -1); LLVMValueRef facex = lp_build_const_int_vec(gallivm, intctype, PIPE_TEX_FACE_POS_X); diff --git a/src/gallium/drivers/llvmpipe/lp_setup_tri.c b/src/gallium/drivers/llvmpipe/lp_setup_tri.c index 900df71ad3b..a2f55ed3a1e 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup_tri.c +++ b/src/gallium/drivers/llvmpipe/lp_setup_tri.c @@ -760,8 +760,8 @@ lp_setup_bin_triangle( struct lp_setup_context *setup, for (i = 0; i < nr_planes; i++) { int64_t planeout = cx[i] + eo[i]; int64_t planepartial = cx[i] + ei[i] - 1; - out |= (planeout >> 63); - partial |= (planepartial >> 63) & (1<> 63); + partial |= ((int) (planepartial >> 63)) & (1<