From 4b67d70d2271400498fc0b2bc3b55b620b4be194 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Tue, 12 Apr 2022 12:41:14 -0500 Subject: [PATCH] nir: Fix constant folding for non-32-bit ifind_msb and clz Signed-off-by: Karol Herbst Reviewed-by: Alyssa Rosenzweig Part-of: --- src/compiler/nir/nir_opcodes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/nir/nir_opcodes.py b/src/compiler/nir/nir_opcodes.py index a604451d3df..a9fee18c361 100644 --- a/src/compiler/nir/nir_opcodes.py +++ b/src/compiler/nir/nir_opcodes.py @@ -480,12 +480,12 @@ for (bit = bit_size - 1; bit >= 0; bit--) { if ((src0 & (1u << bit)) != 0) break; } -dst = (unsigned)(31 - bit); +dst = (unsigned)(bit_size - bit - 1); """) unop("ifind_msb", tint32, """ dst = -1; -for (int bit = 31; bit >= 0; bit--) { +for (int bit = bit_size - 1; bit >= 0; bit--) { /* If src0 < 0, we're looking for the first 0 bit. * if src0 >= 0, we're looking for the first 1 bit. */