Arc assembler: Convert nps400 from a machine type to an extension.
authorGraham Markall <graham.markall@embecosm.com>
Tue, 21 Jun 2016 13:03:08 +0000 (14:03 +0100)
committerNick Clifton <nickc@redhat.com>
Tue, 21 Jun 2016 13:03:08 +0000 (14:03 +0100)
commitbdd582dbf14f12998a0003b5aa772d7868bc3dc7
tree04cb7f98144d9b2f56c2dac4d08760d10662fe0f
parent782c112285467b906296b020f8fce3fb76cc5bb5
Arc assembler: Convert nps400 from a machine type to an extension.

gas * config/tc-arc.c (check_cpu_feature, md_parse_option):
Add nps400 option and feature. Add check for nps400
feature. Refactor existing checks to check subclass before
feature enablement.
(md_show_usage): Document flags for NPS-400 and add some other
undocumented flags.
(cpu_type): Remove nps400 CPU type entry
(check_zol): Remove bfd_mach_arc_nps400 case.
(md_show_usage): Add help on -mcpu=nps400.
(cpu_types): Add entry for nps400 as arc700 plus nps400 extension
set.
* doc/c-arc.texi: Document the -mnps400, -mspfp, -mdpfp, and
-fpuda flags.  Document -mcpu=nps400.
* testsuite/gas/arc/nps-400-0.d: Use -mcpu=arc700 -mnps400. Change
expected flags to match ARC700 instead of NPS400.
* testsuite/gas/arc/nps-400-1.d: Use -mcpu=arc700 -mnps400.
* testsuite/gas/arc/nps-400-2.d: Likewise.
* testsuite/gas/arc/nps-400-3.d: Likewise.
* testsuite/gas/arc/nps-400-4.d: Likewise.
* testsuite/gas/arc/nps-400-5.d: Likewise.
* testsuite/gas/arc/nps-400-6.d: Likewise.
* testsuite/gas/arc/nps-400-7.d: Likewise.
* testsuite/gas/arc/textinsn2op01.s: Change opcode of myinsn to
avoid clash with cbba instruction.
* testsuite/gas/arc/textinsn2op01.d: Likewise.
* testsuite/gas/arc/textinsn3op.d: Likewise.
* testsuite/gas/arc/textinsn3op.s: Likewise.
* testsuite/gas/arc/nps-400-0.d: Test using NPS-400 using
-mcpu=nps400 as an alternative to -mcpu=arc700 -mnps400 flags.

binutils* readelf.c (decode_ARC_machine_flags): Remove E_ARC_MACH_NPS400
case.

ld * testsuite/ld-arc/nps-1a.d: Use -mcpu=arc700 -mnps400.
* testsuite/ld-arc/nps-1b.d: Likewise.

include * opcode/arc.h: Add nps400 extension and instruction
subclass.
Remove ARC_OPCODE_NPS400
* elf/arc.h: Remove E_ARC_MACH_NPS400

opcodes * arc-dis.c (arc_insn_length): Add comment on instruction length.
Use same method for determining instruction length on ARC700 and
NPS-400.
(arc_insn_length, print_insn_arc): Remove bfd_mach_arc_nps400.
* arc-nps400-tbl.h: Make all nps400 instructions ARC700 instructions
with the NPS400 subclass.
* arc-opc.c: Likewise.

bfd * archures.c: Remove bfd_mach_arc_nps400.
* bfd-in2.h: Likewise.
* cpu-arc.c (arch_info_struct): Likewise.
* elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
Likewise.
33 files changed:
bfd/ChangeLog
bfd/archures.c
bfd/bfd-in2.h
bfd/cpu-arc.c
bfd/elf32-arc.c
binutils/ChangeLog
binutils/readelf.c
gas/ChangeLog
gas/config/tc-arc.c
gas/doc/as.texinfo
gas/doc/c-arc.texi
gas/testsuite/gas/arc/nps400-0.d
gas/testsuite/gas/arc/nps400-1.d
gas/testsuite/gas/arc/nps400-2.d
gas/testsuite/gas/arc/nps400-3.d
gas/testsuite/gas/arc/nps400-4.d
gas/testsuite/gas/arc/nps400-5.d
gas/testsuite/gas/arc/nps400-6.d
gas/testsuite/gas/arc/nps400-7.d
gas/testsuite/gas/arc/textinsn2op01.d
gas/testsuite/gas/arc/textinsn2op01.s
gas/testsuite/gas/arc/textinsn3op.d
gas/testsuite/gas/arc/textinsn3op.s
include/ChangeLog
include/elf/arc.h
include/opcode/arc.h
ld/ChangeLog
ld/testsuite/ld-arc/nps-1a.d
ld/testsuite/ld-arc/nps-1b.d
opcodes/ChangeLog
opcodes/arc-dis.c
opcodes/arc-nps400-tbl.h
opcodes/arc-opc.c