From: Rob Clark Date: Wed, 11 Mar 2020 20:55:17 +0000 (-0700) Subject: nir: fix definition of imadsh_mix16 for vectors X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bf64648864224abe28d883f0c878214530ccf08c;p=mesa.git nir: fix definition of imadsh_mix16 for vectors Fixes: c27b3758fa0 ("nir/opcodes: Add new 'umul_low' and 'imadsh_mix16' opcodes") Signed-off-by: Rob Clark Part-of: --- diff --git a/src/compiler/nir/nir_opcodes.py b/src/compiler/nir/nir_opcodes.py index f34c1ff20f1..57be67320c5 100644 --- a/src/compiler/nir/nir_opcodes.py +++ b/src/compiler/nir/nir_opcodes.py @@ -1129,9 +1129,9 @@ binop("amul", tint, _2src_commutative + associative, "src0 * src1") # ir3-specific instruction that maps directly to mul-add shift high mix, # (IMADSH_MIX16 i.e. ah * bl << 16 + c). It is used for lowering integer # multiplication (imul) on Freedreno backend.. -opcode("imadsh_mix16", 1, tint32, - [1, 1, 1], [tint32, tint32, tint32], False, "", """ -dst.x = ((((src0.x & 0xffff0000) >> 16) * (src1.x & 0x0000ffff)) << 16) + src2.x; +opcode("imadsh_mix16", 0, tint32, + [0, 0, 0], [tint32, tint32, tint32], False, "", """ +dst = ((((src0 & 0xffff0000) >> 16) * (src1 & 0x0000ffff)) << 16) + src2; """) # ir3-specific instruction that maps directly to ir3 mad.s24.