ir3: add newly found shlg.b16 instruction
authorDanylo Piliaiev <dpiliaiev@igalia.com>
Wed, 7 Jul 2021 11:40:52 +0000 (14:40 +0300)
committerMarge Bot <eric+marge@anholt.net>
Fri, 9 Jul 2021 13:00:29 +0000 (13:00 +0000)
commit1c6c200c0d79329174d19ae694d11f762819eeba
tree00b46d75b489b3a49408ff789cbb99d449e720a5
parent543eb42c355798c26fb56b27a97ea1906116942e
ir3: add newly found shlg.b16 instruction

Example of blob's output:
  (nop3) shlg.b16 hr8.x, (r)8, (r)hr8.x, 12

It does: (src2 << src1) | src2

src1 and src2 could be GPRs, relative GPRs, relative consts,
or immidiates. However, they could not be plain const registers.

Blob does use it in conjuncture with "samgq" instruction.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11760>
src/freedreno/.gitlab-ci/reference/crash.log
src/freedreno/ir3/disasm-a3xx.c
src/freedreno/ir3/instr-a3xx.h
src/freedreno/ir3/ir3.c
src/freedreno/ir3/ir3.h
src/freedreno/ir3/ir3_lexer.l
src/freedreno/ir3/ir3_parser.y
src/freedreno/ir3/tests/disasm.c
src/freedreno/isa/encode.c
src/freedreno/isa/ir3-cat3.xml