arc: Add new opcode functions for ARCv3 ISA.
authorClaudiu Zissulescu <claziss@gmail.com>
Mon, 25 Sep 2023 07:55:51 +0000 (10:55 +0300)
committerClaudiu Zissulescu <claziss@gmail.com>
Mon, 25 Sep 2023 07:55:51 +0000 (10:55 +0300)
commitc99dc76089a2de97ea0ee755aa8e87037a17b6d6
tree9ced921df582321875ef28acd9e37024c82d87e2
parentf3d38d7d0b7346515ba603454feeddc58a3fc451
arc: Add new opcode functions for ARCv3 ISA.

opcodes/
xxxx-xx-xx  Claudiu Zissulescu <claziss@synopsys.com>
            Cupertino Miranda <cmiranda@synopsys.com>

        * opcodes/Makefile.am: Add ARC64 opcode file.
        * opcodes/Makefile.in: Regenerate.
        * opcodes/arc-opc.c: Move the common functionality to
        arcxx-opc.inc. Keep only ARCv2 ARCv1 specifics.
        * opcodes/arc-ext-tbl.h: Deleted file.
        * opcodes/arcxx-opc.inc: New file.
        * opcodes/arc64-opc.c: Likewise.
        * opcodes/arc-fxi.h (insert_uimm9_a32_11_s): New function.
        (extract_uimm9_a32_11_s): Likewise.
        (insert_uimm10_13_s): Likewise.
        (extract_uimm10_13_s): Likewise.
        * opcodes/configure: Regenerate.
        * opcodes/configure.ac: Add ARC64 target.
        * opcodes/disassemble.c: Likewise.
        * opcodes/arc-dis.c (regmod_t): New type.
        (regmods): New structure.
        (fpnames): New strings with fp-regs name.
        (REG_PCL, REG_LIMM, REG_LIMM_S, REG_U32, REG_S32): New defines.
        (getregname): New function.
        (find_format_from_table): Discriminate between signed and unsigned
        32bit immediates.
        (find_format): Handle extract function for flags.
        (arc_insn_length): Update insn lengths to various architectures.
        (print_insn_arc): Update printing for various ARC architectures.
* opcodes/arc-flag-classes.def: New file.
* opcodes/arc-flag.def: New file.
* opcodes/arc-operands.def: New file.
* opcodes/arc-regs.h: Changed.

Signed-off-by: Claudiu Zissulescu <claziss@gmail.com>
15 files changed:
opcodes/Makefile.am
opcodes/Makefile.in
opcodes/arc-dis.c
opcodes/arc-ext-tbl.h [deleted file]
opcodes/arc-flag-classes.def [new file with mode: 0644]
opcodes/arc-flag.def [new file with mode: 0644]
opcodes/arc-fxi.h
opcodes/arc-opc.c
opcodes/arc-operands.def [new file with mode: 0644]
opcodes/arc-regs.h
opcodes/arc64-opc.c [new file with mode: 0644]
opcodes/arcxx-opc.inc [new file with mode: 0644]
opcodes/configure
opcodes/configure.ac
opcodes/disassemble.c