intel/mi: use 64bit constant for bitshift
authorDylan Baker <dylan.c.baker@intel.com>
Mon, 27 Feb 2023 20:18:14 +0000 (12:18 -0800)
committerMarge Bot <emma+marge@anholt.net>
Wed, 1 Mar 2023 18:42:25 +0000 (18:42 +0000)
Coverity complains that we could end up rolling over on a 32bit
platform, which isn't really true because of the assertion, but there's
also no harm in ensuring that we have exactly the same behavior for both
32 bit and 64 bit platforms.

CID: 1515989
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21572>

src/intel/common/mi_builder.h

index 43b54e8..51ec3cb 100644 (file)
@@ -980,7 +980,7 @@ mi_ushr_imm(struct mi_builder *b, struct mi_value src, uint32_t shift)
    while (shift) {
       int bit = u_bit_scan(&shift);
       assert(bit <= 5);
-      res = mi_ushr(b, res, mi_imm(1 << bit));
+      res = mi_ushr(b, res, mi_imm(1ULL << bit));
    }
 
    return res;