summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <robclark@freedesktop.org>2016-05-18 10:17:02 -0400
committerRob Clark <robclark@freedesktop.org>2016-05-20 11:13:50 -0400
commit53c48feae086bbf5b17798fc1cd98ab14a17c7a8 (patch)
tree7c8e8663024acda5fe7c1b92371eb2f4b2959362
parentbb993da7959da07cbbbd0f8d41e07652263260e6 (diff)
downloadexternal_mesa3d-53c48feae086bbf5b17798fc1cd98ab14a17c7a8.zip
external_mesa3d-53c48feae086bbf5b17798fc1cd98ab14a17c7a8.tar.gz
external_mesa3d-53c48feae086bbf5b17798fc1cd98ab14a17c7a8.tar.bz2
nir: coverity sign-extension fix
Not 100% sure, but I think being an unsigned literal will help: CID 1358505 (#1 of 1): Unintended sign extension (SIGN_EXTENSION)sign_extension: Suspicious implicit sign extension: load1->def.num_components with type unsigned char (8 bits, unsigned) is promoted in load1->def.num_components * (load1->def.bit_size / 8) to type int (32 bits, signed), then sign-extended to type unsigned long (64 bits, unsigned). If load1->def.num_components * (load1->def.bit_size / 8) is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
-rw-r--r--src/compiler/nir/nir_instr_set.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/nir/nir_instr_set.c b/src/compiler/nir/nir_instr_set.c
index fe312a0..f93ec9d 100644
--- a/src/compiler/nir/nir_instr_set.c
+++ b/src/compiler/nir/nir_instr_set.c
@@ -334,7 +334,7 @@ nir_instrs_equal(const nir_instr *instr1, const nir_instr *instr2)
return false;
return memcmp(load1->value.f32, load2->value.f32,
- load1->def.num_components * (load1->def.bit_size / 8)) == 0;
+ load1->def.num_components * (load1->def.bit_size / 8u)) == 0;
}
case nir_instr_type_phi: {
nir_phi_instr *phi1 = nir_instr_as_phi(instr1);