nir: fix definition of imadsh_mix16 for vectors

Fixes: c27b3758fa ("nir/opcodes: Add new 'umul_low' and 'imadsh_mix16' opcodes")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4423>
(cherry picked from commit bf64648864)
This commit is contained in:
Rob Clark 2020-03-11 13:55:17 -07:00 committed by Dylan Baker
parent e70e9d4e78
commit 3d5d4ee8e6
2 changed files with 4 additions and 4 deletions

View file

@ -1741,7 +1741,7 @@
"description": "nir: fix definition of imadsh_mix16 for vectors",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "c27b3758fa0dcd7fade9e85c5483b8310b8263d7"
},

View file

@ -1123,9 +1123,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.