binutils-gdb/include/opcode
Sandra Loosemore c8c8175b62 Opcodes and assembler support for Nios II R2
2015-07-01  Sandra Loosemore  <sandra@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>

	gas/
	* config/tc-nios2.c (nios2_min_align): New.
	(nop): Replace with....
	(nop_r1, nop_r2, nop_r2_cdx, nop32, nop16): New.
	(nios2_align): Handle alignment on 2-byte boundaries when CDX
	instructions may be present.
	(s_nios2_align): Adjust reference to nop.
	(CDXBRANCH, IS_CDXBRANCH): New.
	(CDX_UBRANCH_SUBTYPE, CDX_CBRANCH_SUBTYPE): New.
	(nios2_relax_subtype_size): Handle 2-byte CDX branches.
	(nios2_relax_frag): Likewise.
	(md_convert_frag): Handle R2 encodings.
	(nios2_check_overflow): Check that low-order bits are zero
	before applying rightshift from howto.
	(nios2_check_overflow): Correct negative overflow calculation.
	(nios2_diagnose_overflow): Handle signed_immed12_overflow.  Issue
	generic overflow messages for miscellaneous instruction formats.
	(md_apply_fix): Recognize new R2 relocations.  For pc_relative
	relocations, store fixup in *valP.
	(nios2_reglist_mask, nios2_reglist_dir): New.
	(nios2_parse_reglist): New.
	(nios2_parse_base_register): New.
	(nios2_assemble_expression): Handle constant expressions designated
	by BFD_RELOC_NONE.
	(nios2_assemble_reg3): New.
	(nios2_assemble_arg_c): Handle R2 instruction formats.
	(nios2_assemble_arg_d): Likewise.
	(nios2_assemble_arg_s): Likewise.
	(nios2_assemble_arg_t): Likewise.
	(nios2_assemble_arg_D): New.
	(nios2_assemble_arg_S): New.
	(nios2_assemble_arg_T): New.
	(nios2_assemble_arg_i): Handle R2 instruction formats.
	(nios2_assemble_arg_I): New.
	(nios2_assemble_arg_u): Handle R2 instruction formats.
	(nios2_assemble_arg_U): New.
	(nios2_assemble_arg_V): New.
	(nios2_assemble_arg_W): New.
	(nios2_assemble_arg_X): New.
	(nios2_assemble_arg_Y): New.
	(nios2_assemble_arg_o): Handle R2 instruction formats.
	(nios2_assemble_arg_O): New.
	(nios2_assemble_arg_P): New.
	(nios2_assemble_arg_j): Handle R2 instruction formats.
	(nios2_assemble_arg_k): New.
	(nios2_assemble_arg_l): Handle R2 instruction formats.
	(nios2_assemble_arg_m): Likewise.
	(nios2_assemble_arg_M): New.
	(nios2_assemble_arg_N): New.
	(nios2_assemble_arg_e): New.
	(nios2_assemble_arg_f): New.
	(nios2_assemble_arg_g): New.
	(nios2_assemble_arg_h): New.
	(nios2_assemble_arg_R): New.
	(nios2_assemble_arg_B): New.
	(nios2_assemble_args): Handle new argument letters.
	(nios2_consume_arg): Likewise.
	(nios2_translate_pseudo_insn): Avoid dereferencing null pointer
	in error message.
	(nios2_ps_insn_info_structs): Add nop.n.
	(output_ubranch): Handle CDX branches.
	(output_cbranch): Likewise.
	(output_call): Handle R2 encodings.
	(output_movia): Likewise.
	(md_begin): Initialize nios2_min_align.
	(md_assemble): Align to nios2_min_align.  Adjust nios2_min_align
	if a 16-bit instruction is seen.
	(nios2_cons_align): Use appropriate nop pattern.

	include/opcode/
	* nios2.h (enum iw_format_type): Add R2 formats.
	(enum overflow_type): Add signed_immed12_overflow and
	enumeration_overflow for R2.
	(struct nios2_opcode): Document new argument letters for R2.
	(REG_3BIT, REG_LDWM, REG_POP): Define.
	(includes): Include nios2r2.h.
	(nios2_r2_opcodes, nios2_num_r2_opcodes): Declare.
	(nios2_r2_asi_n_mappings, nios2_num_r2_asi_n_mappings): Declare.
	(nios2_r2_shi_n_mappings, nios2_num_r2_shi_n_mappings): Declare.
	(nios2_r2_andi_n_mappings, nios2_num_r2_andi_n_mappings): Declare.
	(nios2_r2_reg3_mappings, nios2_num_r2_reg3_mappings): Declare.
	(nios2_r2_reg_range_mappings, nios2_num_r2_reg_range_mappings):
	Declare.
	* nios2r2.h: New file.

	opcodes/
	* nios2-dis.c (nios2_extract_opcode): New.
	(nios2_disassembler_state): New.
	(nios2_find_opcode_hash): Use mach parameter to select correct
	disassembler state.
	(nios2_print_insn_arg): Extend to support new R2 argument letters
	and formats.
	(print_insn_nios2): Check for 16-bit instruction at end of memory.
	* nios2-opc.c (nios2_builtin_regs): Add R2 register attributes.
	(NIOS2_NUM_OPCODES): Rename to...
	(NIOS2_NUM_R1_OPCODES): This.
	(nios2_r2_opcodes): New.
	(NIOS2_NUM_R2_OPCODES): New.
	(nios2_num_r2_opcodes): New.
	(nios2_r2_asi_n_mappings, nios2_num_r2_asi_n_mappings): New.
	(nios2_r2_shi_n_mappings, nios2_num_r2_shi_n_mappings): New.
	(nios2_r2_andi_n_mappings, nios2_num_r2_andi_n_mappings): New.
	(nios2_r2_reg3_mappings, nios2_num_r2_reg3_mappings): New.
	(nios2_r2_reg_range_mappings, nios2_num_r2_reg_range_mappings):	New.
2015-07-01 16:08:03 -07:00
..
aarch64.h [AArch64] Add support for ARMv8.1 command line option 2015-06-04 11:14:07 +01:00
alpha.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
arc.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
arm.h [ARM] Support for ARMv8.1 command line option 2015-06-03 10:03:50 +01:00
avr.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
bfin.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
cgen.h Wrap a few opcodes headers in extern "C" for C++ 2015-02-19 22:45:47 +00:00
ChangeLog Opcodes and assembler support for Nios II R2 2015-07-01 16:08:03 -07:00
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
convex.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
cr16.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
cris.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
crx.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
d10v.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
d30v.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
dlx.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ft32.h FT32 initial support 2015-01-28 16:25:18 +10:30
h8300.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
hppa.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
i370.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
i386.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
i860.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
i960.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ia64.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
m68hc11.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
m68k.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
m88k.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
metag.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mips.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mmix.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mn10200.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mn10300.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
moxie.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
msp430-decode.h Wrap a few opcodes headers in extern "C" for C++ 2015-02-19 22:45:47 +00:00
msp430.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
nds32.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
nios2.h Opcodes and assembler support for Nios II R2 2015-07-01 16:08:03 -07:00
nios2r1.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
nios2r2.h Opcodes and assembler support for Nios II R2 2015-07-01 16:08:03 -07:00
np1.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ns32k.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
pdp11.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
pj.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
pn.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ppc.h Allow for optional operands with non-zero default values. 2015-06-19 17:17:07 -05:00
pyr.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
rl78.h Make RL78 disassembler and simulator respect ISA for mul/div 2015-04-30 15:25:49 -04:00
rx.h Wrap a few opcodes headers in extern "C" for C++ 2015-02-19 22:45:47 +00:00
s390.h S/390: Add support for IBM z13. 2015-01-16 12:28:58 +01:00
score-datadep.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
score-inst.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
sparc.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
spu-insns.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
spu.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tahoe.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic4x.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic6x-control-registers.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic6x-insn-formats.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic6x-opcode-table.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic6x.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic30.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic54x.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic80.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tilegx.h Wrap a few opcodes headers in extern "C" for C++ 2015-02-19 22:45:47 +00:00
tilepro.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
v850.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
vax.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
visium.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
xgate.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30