[Mesa-dev] [PATCH 2/8] nir/builder: Assert that intN_t immediates fit
Jason Ekstrand
jason at jlekstrand.net
Tue Nov 13 23:23:23 UTC 2018
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.
---
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 3271a480520..3be630ab3dd 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));
--
2.19.1
More information about the mesa-dev
mailing list