opcodes: microblaze: Add new bit-field instructions
authorNeal Frager <neal.frager@amd.com>
Fri, 13 Oct 2023 07:28:55 +0000 (08:28 +0100)
committerMichael J. Eager <eager@eagercon.com>
Sun, 15 Oct 2023 16:28:10 +0000 (09:28 -0700)
commitbb0d05ff74fda6b8f3f83712ebba3ea36bff1426
treedfecd08258769f1477bf787da7009d39a314dc2e
parent30ebc4310b0ec608bc7e34e153340935147c45d5
opcodes: microblaze: Add new bit-field instructions

This patches adds new bsefi and bsifi instructions.
BSEFI- The instruction shall extract a bit field from a
register and place it right-adjusted in the destination register.
The other bits in the destination register shall be set to zero.
BSIFI- The instruction shall insert a right-adjusted bit field
from a register at another position in the destination register.
The rest of the bits in the destination register shall be unchanged.

Further documentation of these instructions can be found here:
https://docs.xilinx.com/v/u/en-US/ug984-vivado-microblaze-ref

With version 6 of the patch, no new relocation types are added as
this was unnecessary for adding the bsefi and bsifi instructions.

FIXED: Segfault caused by incorrect termination of microblaze_opcodes.

Signed-off-by: nagaraju <nagaraju.mekala@amd.com>
Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@amd.com>
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Michael J. Eager <eager@eagercon.com>
gas/config/tc-microblaze.c
opcodes/microblaze-dis.c
opcodes/microblaze-opc.h
opcodes/microblaze-opcm.h