draw,gallivm,llvmpipe: Avoid implicit casts of 32-bit shifts to 64-bits.
authorJosé Fonseca <jfonseca@vmware.com>
Tue, 25 Nov 2014 23:03:02 +0000 (23:03 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Wed, 26 Nov 2014 20:25:12 +0000 (20:25 +0000)
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 <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
src/gallium/auxiliary/draw/draw_llvm.c
src/gallium/auxiliary/gallivm/lp_bld_arit.c
src/gallium/auxiliary/gallivm/lp_bld_sample.c
src/gallium/drivers/llvmpipe/lp_setup_tri.c
src/gallium/drivers/llvmpipe/lp_state_fs.c

index a2e6112009ae4718b5c161555067ce53ee361474..dbaece3ab352466a68ac2f3f4352c93361c5ab03 100644 (file)
@@ -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, "");
          }
index 87da355239c7aede216bc872f3e3cfbd1eb1acd2..cd05f111f19c5e21dc44e6f4da541d037788b280 100644 (file)
@@ -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);
index 85c0d4ed6f8d4319f1f8f300fc4cd44b002c88d1..8cee994ee6d2fb0fc3167b4a39d317d7bce058e4 100644 (file)
@@ -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);
index 900df71ad3b484730470b63b9d7ab72f58d26c23..a2f55ed3a1e642e3da276bd4a990815f803dd653 100644 (file)
@@ -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<<i);
+               out |= (int) (planeout >> 63);
+               partial |= ((int) (planepartial >> 63)) & (1<<i);
             }
 
             if (out) {
index 0fc3686ba13f1dbe3de13e93591768adeb33c746..a68b2749d9fcdf1c8abc3487136678aca7ef5135 100644 (file)
@@ -174,10 +174,10 @@ generate_quad_mask(struct gallivm_state *gallivm,
 
    for (i = 0; i < fs_type.length / 4; i++) {
       unsigned j = 2 * (i % 2) + (i / 2) * 8;
-      bits[4*i + 0] = LLVMConstInt(i32t, 1 << (j + 0), 0);
-      bits[4*i + 1] = LLVMConstInt(i32t, 1 << (j + 1), 0);
-      bits[4*i + 2] = LLVMConstInt(i32t, 1 << (j + 4), 0);
-      bits[4*i + 3] = LLVMConstInt(i32t, 1 << (j + 5), 0);
+      bits[4*i + 0] = LLVMConstInt(i32t, 1ULL << (j + 0), 0);
+      bits[4*i + 1] = LLVMConstInt(i32t, 1ULL << (j + 1), 0);
+      bits[4*i + 2] = LLVMConstInt(i32t, 1ULL << (j + 4), 0);
+      bits[4*i + 3] = LLVMConstInt(i32t, 1ULL << (j + 5), 0);
    }
    mask = LLVMBuildAnd(builder, mask, LLVMConstVector(bits, fs_type.length), "");