[Mesa-dev] [PATCH] nir/opcodes: Fix constant-folding of bitfield_insert
Matt Turner
mattst88 at gmail.com
Wed Dec 6 17:35:44 UTC 2017
On Wed, Dec 6, 2017 at 3:55 AM, James Legg <jlegg at feralinteractive.com> wrote:
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104119
> CC: <mesa-stable at lists.freedesktop.org>
> CC: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
> 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 ac7333fe78..278562b2bd 100644
> --- a/src/compiler/nir/nir_opcodes.py
> +++ b/src/compiler/nir/nir_opcodes.py
> @@ -724,12 +724,12 @@ opcode("bitfield_insert", 0, tuint32, [0, 0, 0, 0],
> unsigned base = src0, insert = src1;
> int offset = src2, bits = src3;
> if (bits == 0) {
> - dst = 0;
> + dst = base;
> } else if (offset < 0 || bits < 0 || bits + offset > 32) {
> dst = 0;
> } else {
> unsigned mask = ((1ull << bits) - 1) << offset;
> - dst = (base & ~mask) | ((insert << bits) & mask);
> + dst = (base & ~mask) | ((insert << offset) & mask);
> }
> """)
Reviewed-by: Matt Turner <mattst88 at gmail.com>
More information about the mesa-dev
mailing list