Commit graph

11 commits

Author SHA1 Message Date
David Edelsohn
d302b5f240 * sparc-dis.c (opcodes_initialized): Move inside print_insn_sparc.
(current_arch_mask): New static global.
	(compute_arch_mask): New static function.
	(print_insn_sparc): Delete sparc_v9_p.  New static local
	current_mach.  Resort opcode table if current_mach changes.
	Generalize "insn not supported" test.
	(compare_opcodes): Prefer supported opcodes to nonsupported ones.
	Delete test for v9/!v9.
	* sparc-opc.c (MASK_*): Use SPARC_OPCODE_ARCH_MASK.
	(v6notlet): Define.
	(brfc): Split into CBR and FBR for coprocessor/fp branches.
	(brfcx): Renamed to FBRX.
	(condfc): Renamed to CONDFC.  Pass v6notlet to CBR (standard
	coprocessor mnemonics are not supported on the sparclet).
	(condf): Renamed to CONDF.
	(SLCBCC2): Delete F_ALIAS flag.
1996-04-03 18:54:49 +00:00
David Edelsohn
38399547ba * sparc-opc.c (v8,v6notv9): Add MASK_SPARCLET.
(sparc_opcode_archs): Add MASK_V8 to sparclet entry.
	(sparc_opcodes): Add sparclet insns.
	(sparclet_cpreg_table): New static local.
	(sparc_{encode,decode}_sparclet_cpreg): New functions.
	* sparc-dis.c (print_insn_sparc): Handle sparclet cpregs.
1996-02-21 05:47:27 +00:00
David Edelsohn
986c92a711 * sparc-dis.c (print_insn_sparc): Renamed from print_insn.
If DISASM_RAW_INSN, print insn in hex.  Handle v9a as opcode
	architecture.
	(print_insn_sparc64): Deleted.
	* disassemble.c (disassembler, case bfd_arch_sparc): Always use
	print_insn_sparc.
1996-01-23 00:55:40 +00:00
David Edelsohn
a52f75a078 * sparc-opc.c (sparc_opcodes, prefetcha insn): Fix.
(lookup_{name,value}): New functions.
	(prefetch_table): New static local.
	(sparc_{encode,decode}_prefetch): New functions.
	* sparc-dis.c (print_insn): Handle '*' arg (prefetch function).
1995-08-30 20:55:51 +00:00
David Edelsohn
7ec658304a * sparc-opc.c (asi): New static local.
(sparc_{encode,decode}_asi): New functions.
	* sparc-dis.c (print_insn): Call sparc_decode_asi.
1995-08-29 22:44:00 +00:00
David Edelsohn
28661653c7 (build_hash_table): Fix memory leak.
(print_insn_sparc, print_insn_sparc64): Clean up comments regarding
switching between sparc32 and sparc64.
1995-08-02 17:15:07 +00:00
David Edelsohn
1a67b3b682 (build_hash_table): Allocate all entries at once. 1995-08-02 16:48:02 +00:00
David Edelsohn
f069afb4eb * sparc-dis.c (HASH_SIZE, HASH_INSN): Define.
(opcode_bits, opcode_hash_table, sparc64_p): New variables.
	(opcodes_initialized): Renamed from opcodes_sorted.
	(build_hash_table): New function.
	(is_delayed_branch): Use hash table.
	(print_insn): Renamed from print_insn_sparc, made static.
	Build and use hash table.
	(print_insn_sparc, print_insn_sparc64): New functions.
	(compare_opcodes): If !sparc64, move sparc64 opcodes to end,
	and vice-versa if sparc64.
	* sparc-opc.c (all non-v9 insns): Use flag F_NOTV9 instead of F_ALIAS.
1995-08-02 16:06:17 +00:00
Jim Kingdon
3245e377e4 * sparc-dis.c: Use fprintf_func a few places where I forgot,
and double percent signs a few places.
1993-04-01 23:24:57 +00:00
Jim Kingdon
a6cead71cd Fix prototype problems related to recent disassembler changes 1993-04-01 18:04:51 +00:00
Jim Kingdon
3ac166b105 this is part of the binutils/gdb sparc disassembler merge 1993-04-01 16:58:41 +00:00
Renamed from binutils/sparc-pinsn.c (Browse further)