Commit Graph

24 Commits

Author SHA1 Message Date
Richard Henderson
81dac216f9 * sparc-opc.c: Add wr & rd for v9a asr's.
* sparc-dis.c (print_insn_sparc): Recognize '_' and '/' for v9a asr's.
        (v9a_asr_reg_names): New variable.
        Patch from David Miller <davem@vger.rutgers.edu>.
1997-10-23 00:32:49 +00:00
Richard Henderson
36e75fe3ec * sparc-opc.c (v9notv9a): New insn type.
(IMPDEP): Move to the end to not conflict with edge8 et al.
        Patch from David Miller <davem@vger.rutgers.edu>.
1997-10-23 00:17:25 +00:00
David Edelsohn
6d70d47fb7 * sparc-opc.c (sparclet_cpreg_table): Add %ccsr2, %cccrr, %ccrstr. 1997-09-18 18:23:30 +00:00
David Edelsohn
44457cbcc2 * sparc-opc.c (sparc_opcodes): Fix assembler args to
fzeros, fones, fsrc1, fsrc1s, fsrc2s, fnot1, fnot1s, fnot2s,
	fors, fnors, fands, fnands, fxors, fxnors, fornot1s, fornot2s,
	fandnot1s, fandnot2s.
1997-09-12 00:41:47 +00:00
David Edelsohn
22a25680ba * sparc-opc.c (sparc_opcodes): Fix op3 field for fcmpq/fcmpeq. 1997-09-09 17:08:01 +00:00
David Edelsohn
3f9382002f * sparc-opc.c (sparc_opcodes): Fix spelling on fpaddX, fpsubX insns. 1997-07-24 20:05:46 +00:00
Ian Lance Taylor
3d116ccd46 * sparc-opc.c: The fcmp v9a instructions take an integer register
as a destination, not a floating point register.  From Christian
	Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>.
1997-06-17 21:03:18 +00:00
Ian Lance Taylor
1dd37c4885 * sparc-opc.c: Set F_FBR on floating point branch instructions.
Set F_FLOAT on other floating point instructions.
PR 355.
1996-04-11 21:31:03 +00:00
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
02e7ece3ca (COMMUTEOP,SLCBCC,SLCBCC2 macros): Make uppercase. 1996-03-31 06:15:40 +00:00
David Edelsohn
03481f0e5f * sparc-opc.c (sparc_opcodes): rd must be 0 for
mov foo,{%y,%psr,%wim,%tbr}.  Support mov foo,%asrX.
1996-03-31 05:52:03 +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
ca4cb8bca2 * sparc-dis.c (print_insn_sparc): NUMOPCODES replaced with
sparc_num_opcodes.  Update architecture enum values.
	* sparc-opc.c (sparc_opcode_archs): Replaces architecture_pname.
	(sparc_opcode_lookup_arch): New function.
	(sparc_num_opcodes): Renamed from bfd_sparc_num_opcodes.
	(sparc_opcodes): Add v9a shutdown insn.
1996-01-25 11:42:18 +00:00
David Edelsohn
187fddf78c * sparc-opc.c (architecture_pname): Add v9a.
The actual insns haven't been added yet.
1996-01-22 16:34:01 +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
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
David Edelsohn
eea92b2442 Rename sigm insn to sir.
Change impdep insn from [1+2],d to 1,2,d.
1993-08-04 05:12:50 +00:00
David Edelsohn
261d3247f9 Macroize all conditional move insns.
Fix generated code of fmovcc insns (opf field was wrong).
1993-05-11 21:16:39 +00:00
Ken Raeburn
27ee87b307 delete unused BFD_EMIT_TABLE macro def 1992-11-04 16:08:39 +00:00
Jim Wilson
23996caa33 Update to SPARC V9 draft 1.1. Put brfcx before brfc to avoid superfluous
symbol table entries.  Document unimplemented synthetic instructions.
1992-09-16 00:23:52 +00:00
Jim Wilson
866e23d055 In brx macro, check for XCC bit set in xcc insns, and not set in icc insns.
In cond macro, do brx before br, to avoid getting extra symbol table entries
due to failed pattern matches.
1992-09-15 19:55:26 +00:00
Ken Raeburn
493d3e7568 accidentally used out-of-date version 1992-09-09 01:18:47 +00:00
Ken Raeburn
794a16b09d Makefile.in bug fixes and sparc-opc.c addition 1992-09-08 21:12:26 +00:00