Module: Mesa
Branch: master
Commit: 1f29f4db1e867357a119c0c7c34fb54dc27fb682
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f29f4db1e867357a119c0c7c34fb54dc27fb682

Author: Jason Ekstrand <[email protected]>
Date:   Mon Nov 12 16:02:23 2018 -0600

nir/builder: Assert that intN_t immediates fit

This assert won't catch all mistakes with this helper but it will at
least ensure that the top bits are all zero or all one which should help
catch bugs.

Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>

---

 src/compiler/nir/nir_builder.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/compiler/nir/nir_builder.h b/src/compiler/nir/nir_builder.h
index 3271a48052..3be630ab3d 100644
--- a/src/compiler/nir/nir_builder.h
+++ b/src/compiler/nir/nir_builder.h
@@ -330,6 +330,10 @@ nir_imm_intN_t(nir_builder *build, uint64_t x, unsigned 
bit_size)
 {
    nir_const_value v;
 
+   assert(bit_size == 64 ||
+          (int64_t)x >> bit_size == 0 ||
+          (int64_t)x >> bit_size == -1);
+
    memset(&v, 0, sizeof(v));
    assert(bit_size <= 64);
    v.i64[0] = x & (~0ull >> (64 - bit_size));

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to