3 * cgen.h: Remove PARAM macro usage in all prototypes.
4 (CGEN_EXTRACT_INFO): Use void * instead of PTR.
5 (cgen_print_fn): Ditto.
6 (CGEN_HW_ENTRY): Ditto.
7 (CGEN_MAYBE_MULTI_IFLD): Ditto.
8 (struct cgen_insn): Ditto.
9 (CGEN_CPU_TABLE): Ditto.
13 * alpha.h: Remove PARAMS macro.
27 * include/opcode/h8sx.h (DO_MOVA1, DO_MOVA2): Reformatting.
31 * mips.h (CPU_RM7000): New macro.
32 (OPCODE_IS_MEMBER): Match CPU_RM7000 against 4650 insns.
37 * mn10300.h (AM33_2): Renamed from AM33.
39 * mn10300.h (AM332, FMT_D3): Defined.
40 (MN10300_OPERAND_FSREG, MN10300_OPERAND_FDREG): Likewise.
41 (MN10300_OPERAND_FPCR): Likewise.
45 * s390.h (s390_opcode_cpu_val): Add enum for cpu type z990.
49 * h8300.h (IMM2_NS, IMM8_NS, IMM16_NS): Remove.
50 (IMM8U, IMM8U_NS): Define.
51 (h8_opcodes): Use IMM8U_NS for mov.[wl] #xx:8,@yy.
55 * h8300.h (h8_opcodes): Fix the mov.l @(dd:32,ERs),ERd and
56 mov.l ERs,@(dd:32,ERd) entries.
60 * i386.h (i386_optab): Support Intel Precott New Instructions.
64 * ppc.h (PPC_OPERAND_DQ): Define.
68 * h8300.h (IMM4_NS, IMM8_NS): New.
69 (h8_opcodes): Replace IMM4 with IMM4_NS in mov.b and mov.w entries.
70 Likewise IMM8 for mov.w and mov.l. Likewise IMM16U for mov.l.
74 * h8300.h (enum h8_model): Add AV_H8S to distinguish from H8H.
75 (ldc): Split ccr ops from exr ops (which are only available
78 (andc, orc, xorc): Ditto.
79 (ldmac, stmac, clrmac, mac): Change access to AV_H8S.
84 * h8300.h: Add support for h8300sx instruction set.
88 * i860.h (expand_type): Add XP_ONLY.
89 (scyc.b): New XP instruction.
103 * i860.h (flush): Set lower 3 bits properly and use 'L'
104 for the immediate operand type instead of 'i'.
108 * i860.h (fzchks): Both S and R bits must be set.
112 (fix.ss): Remove (invalid instruction).
114 (ftrunc.ss): Likewise.
115 (pftrunc.ss): Likewise.
119 * i860.h (form, pform): Add missing .dd suffix.
123 * m68hc11.h (M68HC12_BANK_VIRT): Define to 0x010000
127 * h8300.h (ldc/stc): Fix up src/dst swaps.
131 * mips.h: Correct comment typo.
135 * s390.h (s390_opcode_arch_val): Rename to s390_opcode_mode_val.
136 (S390_OPCODE_ESAME): Rename to S390_OPCODE_ZARCH.
137 (s390_opcode): Remove architecture. Add modes and min_cpu.
141 * h8300.h (O_SYS_CMDLINE): New pseudo opcode for command line
146 * h8300.h (ldmac, stmac): Replace MACREG with MS32 and MD32.
150 * m68hc11.h (cpu6812s): Define.
154 * mips.h: Fix missing space in comment.
155 (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, INSN_ISA5)
156 (INSN_ISA32, INSN_ISA32R2, INSN_ISA64): Shift values right
161 * mips.h: Update copyright years to include 2002 (which had
162 been missed previously) and 2003. Make comments about "+A",
163 "+B", and "+C" operand types more descriptive.
167 * mips.h: Note that the "+D" operand type name is now used.
171 * mips.h: Document "+" as the start of two-character operand
172 type names, and add new "K", "+A", "+B", and "+C" operand types.
173 (OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB)
174 (OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New
179 * msp430.h: New file. Defines msp430 opcodes.
183 * h8300.h: Added some more pseudo opcodes for system call
188 * mips.h (OP_OP_COP0, OP_OP_COP1, OP_OP_COP2, OP_OP_COP3)
189 (OP_OP_LWC1, OP_OP_LWC2, OP_OP_LWC3, OP_OP_LDC1, OP_OP_LDC2)
190 (OP_OP_LDC3, OP_OP_SWC1, OP_OP_SWC2, OP_OP_SWC3, OP_OP_SDC1)
191 (OP_OP_SDC2, OP_OP_SDC3): Define.
195 * hppa.h (completer_chars): #if 0 out.
197 * ns32k.h (struct ns32k_opcode): Constify "name", "operands" and
199 (struct not_wot): Constify "args".
200 (struct not): Constify "name".
201 (numopcodes): Delete.
206 * pj.h (pj_opc_info_t): Add union.
210 * ia64.h: Fix copyright message.
211 (IA64_OPND_AR_CSD): New operand kind.
215 * ia64.h (enum ia64_opnd): Add IA64_OPND_LDXMOV.
219 * cgen.h (struct cgen_maybe_multi_ifield): Add "const PTR p" to union.
220 Constify "leaf" and "multi".
224 * h8300.h (h8_opcode): Remove 'noperands', 'idx', and 'size'
226 (h8_opcodes). Modify initializer and initializer macros to no
227 longer initialize the removed fields.
231 * tic4x.h (c4x_insts): Fixed LDHI constraint
235 * h8300.h (h8_opcode): Remove 'length' field.
236 (h8_opcodes): Mark as 'const' (both the declaration and
237 definition). Modify initializer and initializer macros to no
238 longer initialize the length field.
242 * arc.h (arc_ext_opcodes): Declare as extern.
243 (arc_ext_operands): Declare as extern.
244 * i860.h (i860_opcodes): Declare as const.
248 * tic4x.h: File reordering. Added enhanced opcodes.
252 * tic4x.h: Major rewrite of entire file. Define instruction
253 classes, and put each instruction into a class.
257 * tic4x.h: Added new opcodes and corrected some bugs. Add support
262 * cgen.h: Test __BFD_H_SEEN__ rather than BFD_VERSION_DATE.
270 * mips.h: Update comment for new opcodes.
271 (OP_MASK_VECBYTE, OP_SH_VECBYTE): New.
272 (OP_MASK_VECALIGN, OP_SH_VECALIGN): New.
273 (INSN_4111, INSN_4120, INSN_5400, INSN_5500): New.
274 (CPU_VR4120, CPU_VR5400, CPU_VR5500): New.
275 (OPCODE_IS_MEMBER): Handle the new CPU_* values and INSN_* flags.
276 Don't match CPU_R4111 with INSN_4100.
282 * ppc.h (PPC_OPCODE_SPE): New opcode flag for Powerpc e500
284 (PPC_OPCODE_ISEL, PPC_OPCODE_BRLOCK, PPC_OPCODE_PMR,
285 PPC_OPCODE_CACHELCK, PPC_OPCODE_RFMCI): New opcode flags for the
286 e500x2 Integer select, branch locking, performance monitor,
287 cache locking and machine check APUs, respectively.
288 (PPC_OPCODE_EFS): New opcode type for efs* instructions.
289 (PPC_OPCODE_CLASSIC): New opcode type for Classic PowerPC instructions.
293 * m68hc11.h (M6812_OP_PAGE): Define to identify call operand.
294 (M68HC12_BANK_VIRT, M68HC12_BANK_MASK, M68HC12_BANK_BASE,
295 M68HC12_BANK_SHIFT, M68HC12_BANK_PAGE_MASK): Define for 68HC12
297 (M6811_OC1M5, M6811_OC1M4, M6811_MODF): Fix value.
301 * mips.h (INSN_MIPS16): New define.
305 * i386.h: Remove IgnoreSize from movsx and movzx.
309 * a29k.h: Replace CONST with const.
310 (CONST): Don't define.
311 * convex.h: Replace CONST with const.
312 (CONST): Don't define.
313 * dlx.h: Replace CONST with const.
314 * or32.h (CONST): Don't define.
318 * mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL)
319 (MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH)
320 (MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC)
321 (INSN_MDMX): New constants, for MDMX support.
322 (opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX.
330 * ia64.h: Use #include "" instead of <> for local header files.
335 * mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases.
339 * h8300.h: Corrected defs of all control regs
344 * i386.h: Add intel mode cmpsd and movsd.
345 Put them before SSE2 insns, so that rep prefix works.
349 * mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D
351 (OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks
352 may be passed along with the ISA bitmask.
356 * pdp11.h: Add format codes for float instruction formats.
360 * ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define.
364 * i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands.
368 * i386.h (push,pop): Allow 16bit operands in 64bit mode.
370 (in, out): Disable 64bit operands.
371 (call, jmp): Avoid REX prefixes.
372 (jcxz): Prohibit in 64bit mode
373 (jrcxz, loop): Add 64bit variants.
374 (movq): Fix patterns.
375 (movmskps, pextrw, pinstrw): Add 64bit variants.
383 * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure.
384 (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field.
388 * h8300.h: Comment typo fix.
392 * ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific.
393 (PPC_OPCODE_BOOKE64): Likewise.
397 * hppa.h (call, ret): Move to end of table.
398 (addb, addib): PA2.0 variants should have been PA2.0W.
399 (ldw, ldh, ldb, stw, sth, stb, stwa): Reorder to keep disassembler
401 (fldw, fldd, fstw, fstd, bb): Likewise.
402 (short loads/stores): Tweak format specifier slightly to keep
404 (indexed loads/stores): Likewise.
405 (absolute loads/stores): Likewise.
409 * d10v.h (OPERAND_NOSP): New macro.
413 * d10v.h (OPERAND_SP): New macro.
417 * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param.
421 * tic54x.h: Revise opcode layout; don't really need a separate
422 structure for parallel opcodes.
427 * i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to
432 * mips.h (OPCODE_IS_MEMBER): Remove extra space.
440 * mips.h (OPCODE_IS_MEMBER): Add a no-op term to the end
441 of the expression, to make source code merging easier.
445 * mips.h: Sort coprocessor instruction argument characters
446 in comment, add a few more words of description for "H".
450 * mips.h (INSN_SB1): New cpu-specific instruction bit.
451 (OPCODE_IS_MEMBER): Allow instructions matching INSN_SB1
456 * ppc.h (PPC_OPCODE_BOOKE64): Fix typo.
460 * ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_BOOKE64, PPC_OPCODE_403): New
461 opcode flags for BookE 32-bit, BookE 64-bit and PowerPC 403
462 instructions, respectively.
466 * v850.h: Remove spurious comment.
470 * h8300.h: Fix compile time warning messages
474 * alpha.h (struct alpha_operand): Pack elements into bitfields.
478 * mips.h: Remove CPU_MIPS32_4K.
482 * ppc.h (PPC_OPERAND_DS): Define.
486 * d30v.h: Fix declaration of reg_name_cnt.
488 * d10v.h: Fix declaration of d10v_reg_name_cnt.
490 * arc.h: Add prototypes from opcodes/arc-opc.c.
494 * mips.h (INSN_10000): Define.
495 (OPCODE_IS_MEMBER): Check for INSN_10000.
499 * ppc.h: Revert 2001-08-08.
503 * mips.h (INSN_GP32): Remove.
504 (OPCODE_IS_MEMBER): Remove gp32 parameter.
505 (M_MOVE): New macro identifier.
510 * ppc.h (struct powerpc_operand): New field `reloc'.
514 * mips.h (INSN_ISA_MASK): Nuke bits 12-15.
518 * cgen.h (CGEN_INSN): Add regex support.
519 (build_insn_regex): Declare.
523 * cgen.h (CGEN_MACH): Add insn_chunk_bitsize field.
524 (cgen_cpu_desc): Ditto.
528 * m88k.h: Clean up and reformat. Remove unused code.
532 * cgen.h (cgen_keyword): Add nonalpha_chars field.
536 * mips.h (CPU_R12000): Define.
540 * cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48.
544 * mips.h (INSN_ISA_MASK): Define.
548 * i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg,
549 not an mmx reg. Swap xmm/mmx regs on both movdq2q and movq2dq,
550 and use InvMem as these insns must have register operands.
554 * i386.h (i386_optab): Move InvMem to first operand of pmovmskb
555 and pextrw to swap reg/rm assignments.
559 * cris.h (enum cris_insn_version_usage): Correct comment for
564 * i386.h (i386_optab): Correct entry for "movntdq". Add "punpcklqdq".
565 Add InvMem to first operand of "maskmovdqu".
569 * cris.h (ADD_PC_INCR_OPCODE): New macro.
573 * h8300.h: Fix formatting.
577 * i386.h (i386_optab): Add paddq, psubq.
581 * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define.
585 * m68k.h: new defines for Coldfire V4. Update mcf to know
594 * i386.h (i386_optab): SSE integer converison instructions have
595 64bit versions on x86-64.
599 * mips.h: Remove extraneous whitespace. Formating change to allow
600 for future contribution.
608 * cgen.h (CGEN_SYNTAX_CHAR_TYPE): Typedef as unsigned short.
609 (CGEN_MAX_SYNTAX_ELEMENTS): Rename from CGEN_MAX_SYNTAX_BYTES.
610 (CGEN_SYNTAX): Define using CGEN_MAX_SYNTAX_ELEMENTS.
614 * i386.h (i386_optab): Fix swapgs
618 * hppa.h: Describe new '<' and '>' operand types, and tidy
620 (pa_opcodes): Add entries for missing wide mode ldi,ldo,ldw,stw.
621 Remove duplicate "ldw j(s,b),x". Sort some entries.
625 * i386.h (i386_optab): Fix pusha and ret templates.
629 * arc.h (ARC_MACH_5, ARC_MACH_6, ARC_MACH_7, ARC_MACH_8): New
630 definitions for masking cpu type.
631 (arc_ext_operand_value) New structure for storing extended
633 (ARC_OPERAND_*) Flags for operand values.
637 * i386.h (pinsrw): Add.
639 (cvttpd2dq): Fix operands.
640 (cvttps2dq): Likewise.
641 (movq2q): Rename to movdq2q.
645 * i386.h: Correct movnti instruction.
649 * cgen.h (CGEN_SYNTAX_CHAR_TYPE): New typedef based on max number
650 of operands (unsigned char or unsigned short).
651 (CGEN_SYNTAX): Changed to make array CGEN_SYNTAX_CHAR_TYPE.
652 (CGEN_SYNTAX_CHAR): Changed to cast to unsigned char.
656 * i386.h (i386_optab): Make [sml]fence template to use immext field.
660 * i386.h (i386_optab): Fix 64bit pushf template; Add instructions
661 introduced by Pentium4
665 * i386.h (i386_optab): Add "rex*" instructions;
666 add swapgs; disable jmp/call far direct instructions for
667 64bit mode; add syscall and sysret; disable registers for 0xc6
668 template. Add 'q' suffixes to extendable instructions, disable
669 obsolete instructions, add new sign/zero extension ones.
670 (i386_regtab): Add extended registers.
672 (q_Suf, wlq_Suf, bwlq_Suf): New.
676 * i386.h (i386_optab): Replace "Imm" with "EncImm".
677 (i386_regtab): Add flags field.
681 * mips.h: Fix formatting.
685 mips.h (OP_MASK_SYSCALL, OP_SH_SYSCALL): Delete.
686 (OP_MASK_CODE20, OP_SH_CODE20): Define, with values of old
687 OP_*_SYSCALL definitions.
688 (OP_SH_CODE19, OP_MASK_CODE19): Define, for use as
690 (MIPS operand specifier comments): Remove 'm', add 'U' and
691 'J', and update the meaning of 'B' so that it's more general.
693 * mips.h (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4,
694 INSN_ISA5): Renumber, redefine to mean the ISA at which the
695 instruction was added.
696 (INSN_ISA32): New constant.
697 (INSN_4650, INSN_4010, INSN_4100, INSN_3900, INSN_GP32):
698 Renumber to avoid new and/or renumbered INSN_* constants.
699 (INSN_MIPS32): Delete.
700 (ISA_UNKNOWN): New constant to indicate unknown ISA.
701 (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, ISA_MIPS5,
702 ISA_MIPS32): New constants, defined to be the mask of INSN_*
703 constants available at that ISA level.
704 (CPU_UNKNOWN): New constant to indicate unknown CPU.
705 (CPU_4K, CPU_MIPS32_4K): Rename the former to the latter,
706 define it with a unique value.
707 (OPCODE_IS_MEMBER): Update for new ISA membership-related
710 * mips.h (INSN_ISA64, ISA_MIPS5, ISA_MIPS64): New
713 * mips.h (CPU_SB1): New constant.
717 * sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B.
718 Note that '3' is used for siam operand.
722 * ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP.
726 * mips.h: Use defines instead of hard-coded processor numbers.
727 (CPU_R2000, CPU_R3000, CPU_R3900, CPU_R4000, CPU_R4010,
728 CPU_VR4100, CPU_R4111, CPU_R4300, CPU_R4400, CPU_R4600, CPU_R4650,
729 CPU_R5000, CPU_R6000, CPU_R8000, CPU_R10000, CPU_MIPS32, CPU_4K,
730 CPU_4KC, CPU_4KM, CPU_4KP): Define..
731 (OPCODE_IS_MEMBER): Use new defines.
732 (OP_MASK_SEL, OP_SH_SEL): Define.
733 (OP_MASK_CODE20, OP_SH_CODE20): Define.
734 Add 'P' to used characters.
735 Use 'H' for coprocessor select field.
736 Use 'm' for 20 bit breakpoint code.
737 Document new arg characters and add to used characters.
738 (INSN_MIPS32): New define for MIPS32 extensions.
739 (OPCODE_IS_MEMBER): Recognize MIPS32 instructions.
743 * hppa.h: Mention cz completer.
747 * ia64.h (IA64_OPCODE_POSTINC): New.
751 * i386.h: Swap the Intel syntax "movsx"/"movzx" due to the
756 * i860.h: Small formatting adjustments.
760 * avr.h (AVR_UNDEF_P, AVR_SKIP_P, AVR_DISP0_P): New macros.
761 Move related opcodes closer to each other.
762 Minor changes in comments, list undefined opcodes.
766 * cgen.h (cgen_hw_lookup_by_num): Second parameter is unsigned.
770 * i860.h (btne, bte, bla): Changed these opcodes
771 to use sbroff ('r') instead of split16 ('s').
772 (J, K, L, M): New operand types for 16-bit aligned fields.
773 (ld.x, {p}fld.x, fst.x, pst.d): Changed these opcodes to
774 use I, J, K, L, M instead of just I.
775 (T, U): New operand types for split 16-bit aligned fields.
776 (st.x): Changed these opcodes to use S, T, U instead of just S.
777 (andh, andnoth, orh, xorh): Deleted 3-register forms as they do not
779 (pfgt.sd, pfle.sd): Deleted these as they do not exist on the i860.
780 (pfeq.ss, pfeq.dd): New opcodes.
781 (st.s): Fixed incorrect mask bits.
782 (fmlow): Fixed incorrect mask bits.
783 (fzchkl, pfzchkl): Fixed incorrect mask bits.
784 (faddz, pfaddz): Fixed incorrect mask bits.
785 (form, pform): Fixed incorrect mask bits.
786 (pfld.l): Fixed incorrect mask bits.
787 (fst.q): Fixed incorrect mask bits.
788 (all floating point opcodes): Fixed incorrect mask bits for
789 handling of dual bit.
797 * avr.h (AVR_ISA_WRAP): Remove, now assumed if not AVR_ISA_MEGA.
798 (AVR_ISA_ESPM): Remove, because ESPM removed in databook update.
799 (AVR_ISA_85xx): Remove, all uses changed back to AVR_ISA_2xxx.
800 (AVR_ISA_M83): Define for ATmega83, ATmega85.
801 (espm): Remove, because ESPM removed in databook update.
802 (eicall, eijmp): Move to the end of opcode table.
806 * m68hc11.h: New file for support of Motorola 68hc11.
810 * avr.h: clr,lsl,rol, ... moved after add,adc, ...
814 * avr.h: New file with AVR opcodes.
818 * d10v.h: added ALONE attribute for d10v_opcode.exec_type.
822 * i386.h: Allow d suffix on iret, and add DefaultSize modifier.
826 * i386.h: Use sl_FP, not sl_Suf for fild.
830 * cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32. Check that
831 it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set.
832 (CGEN_MAX_IFMT_OPERANDS): Increase to 16. Check that it exceeds
833 CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set.
837 * i386.h (i386_optab): Cpu686 for sysenter,sysexit,fxsave,fxrestore.
842 * i386.h (i386_optab): Add cpu_flags for all instructions.
847 * i386.h (wld_Suf): Define. Use on pushf, popf, pusha, popa.
855 * ppc.h (PPC_OPCODE_ALTIVEC): New opcode flag for vector unit.
856 (PPC_OPERAND_VR): New operand flag for vector registers.
860 * h8300.h (EOP): Add missing initializer.
864 * hppa.h (pa_opcodes): New opcodes for PA2.0 wide mode
865 forms of ld/st{b,h,w,d} and fld/fst{w,d} (16-bit displacements).
866 New operand types l,y,&,fe,fE,fx added to support above forms.
867 (pa_opcodes): Replaced usage of 'x' as source/target for
868 floating point double-word loads/stores with 'fx'.
879 * d30v.h (SHORT_A1): Fix value.
880 (SHORT_AR): Renumber so that it is at the end of the list of short
881 instructions, not the end of the list of long instructions.
885 * i386.h: (UNIXWARE_COMPAT): Rename to SYSV386_COMPAT as the
886 problem isn't really specific to Unixware.
887 (OLDGCC_COMPAT): Define.
888 (i386_optab): If !OLDGCC_COMPAT, don't handle fsubp etc. with
890 Fix lots of comments.
895 (SHORT_B2r, SHORT_B3, SHORT_B3r, SHORT_B3b, SHORT_B3br): Updated.
896 (SHORT_D1r, SHORT_D2, SHORT_D2r, SHORT_D2Br, SHORT_U): Updated.
897 (SHORT_F, SHORT_AF, SHORT_T, SHORT_A5, SHORT_CMP, SHORT_CMPU): Updated.
898 (SHORT_A1, SHORT_AA, SHORT_RA, SHORT_MODINC, SHORT_MODDEC): Updated.
899 (SHORT_C1, SHORT_C2, SHORT_UF, SHORT_A2, SHORT_NONE, LONG): Updated.
900 (LONG_U, LONG_Ur, LONG_CMP, LONG_M, LONG_M2, LONG_2, LONG_2r): Updated.
901 (LONG_2b, LONG_2br, LONG_D, LONG_Dr, LONG_Dbr): Updated.
905 * i386.h (fild, fistp): Change intel d_Suf form to fildd and
906 fistpd without suffix.
910 * cgen.h (cgen_cpu_desc): Rename field 'flags' to
911 'signed_overflow_ok_p'.
912 Delete prototypes for cgen_set_flags() and cgen_get_flags().
916 * cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
917 (CGEN_CPU_TABLE): flags: new field.
918 Add prototypes for new functions.
922 * i386.h: Add some more UNIXWARE_COMPAT comments.
930 * d30v.h (FLAG_NOT_WITH_ADDSUBppp): Redefined as operation
931 cannot be combined in parallel with ADD/SUBppp.
935 * mips.h: (OPCODE_IS_MEMBER): Add comment.
939 * mips.h (OPCODE_IS_MEMBER): Add gp32 arg, which determines
940 whether synthetic opcodes (e.g. move) generate 32-bit or 64-bit
945 * i386.h: Qualify intel mode far call and jmp with x_Suf.
949 * i386.h: Add JumpAbsolute qualifier to all non-intel mode
950 indirect jumps and calls. Add FF/3 call for intel mode.
954 * mn10300.h: Add new operand types. Add new instruction formats.
958 * hppa.h (pa_opcodes): Correctly handle immediate for PA2.0 "bb"
963 * mips.h (INSN_ISA5): New.
967 * mips.h (OPCODE_IS_MEMBER): New.
971 * d30v.h (SHORT_AR): Define.
975 * alpha.h (alpha_num_opcodes): Convert to unsigned.
976 (alpha_num_operands): Ditto.
980 * hppa.h (pa_opcodes): Add load and store cache control to
981 instructions. Add ordered access load and store.
983 * hppa.h (pa_opcode): Add new entries for addb and addib.
985 * hppa.h (pa_opcodes): Fix cmpb and cmpib entries.
987 * hppa.h (pa_opcodes): Add entries for cmpb and cmpib.
991 * d10v.h: Add flag RESTRICTED_NUM3 for imm3 operands.
995 * hppa.h (pa_opcodes): Add "call" and "ret". Clean up "b", "bve"
996 and "be" using completer prefixes.
998 * hppa.h (pa_opcodes): Add initializers to silence compiler.
1000 * hppa.h: Update comments about character usage.
1004 * hppa.h (pa_opcodes): Fix minor thinkos introduced while cleaning
1005 up the new fstw & bve instructions.
1009 * hppa.h (pa_opcodes): Add remaining PA2.0 integer load/store
1012 * hppa.h (pa_opcodes): Add remaining PA2.0 FP load/store instructions.
1014 * hppa.h (pa_opcodes): Add long offset double word load/store
1017 * hppa.h (pa_opcodes): Add FLAG_STRICT variants of FP loads and
1020 * hppa.h (pa_opcodes): Handle PA2.0 fcnv, fcmp and ftest insns.
1022 * hppa.h (pa_opcodes): Finish support for PA2.0 "b" instructions.
1024 * hppa.h (pa_opcodes): Handle PA2.0 "bve" instructions.
1026 * hppa.h (pa_opcodes): Add new syntax "be" instructions.
1028 * hppa.h (pa_opcodes): Note use of 'M' and 'L'.
1030 * hppa.h (pa_opcodes): Add support for "b,l".
1032 * hppa.h (pa_opcodes): Add support for "b,gate".
1036 * hppa.h (pa_opcodes): Use 'fX' for first register operand
1039 * hppa.h (pa_opcodes): Fix mask for probe and probei.
1041 * hppa.h (pa_opcodes): Fix mask for depwi.
1045 * hppa.h (pa_opcodes): Add "addil" variant which has the %r1 as
1046 an explicit output argument.
1050 * hppa.h: Add strict variants of PA1.0/PA1.1 loads and stores.
1051 Add a few PA2.0 loads and store variants.
1059 * i386.h (i386_regtab): Move %st to top of table, and split off
1060 other fp reg entries.
1061 (i386_float_regtab): To here.
1065 * hppa.h (pa_opcodes): Replace 'f' by 'v'. Prefix float register args
1068 * hppa.h (pa_opcodes): Add extrd, extrw, depd, depdi, depw, depwi.
1069 Add supporting args.
1071 * hppa.h: Document new completers and args.
1072 * hppa.h (pa_opcodes): Add 64 bit patterns and pa2.0 syntax for uxor,
1073 uaddcm, dcor, addi, add, sub, subi, shladd, rfi, and probe. Add pa2.0
1074 extensions for ssm, rsm, pdtlb, pitlb. Add performance instructions
1077 * hppa.h (pa_opcodes): Add pa2.0 instructions hadd, hshl,
1078 hshr, hsub, mixh, mixw, permh.
1080 * hppa.h (pa_opcodes): Change completers in instructions to
1083 * hppa.h (pa_opcodes): Add popbts, new forms of bb, havg,
1084 hshladd, hshradd, shrpd, and shrpw instructions. Update arg comments.
1086 * hppa.h (pa_opcodes): Change fmpyfadd, fmpynfadd, fneg,
1087 fnegabs to use 'I' instead of 'F'.
1091 * i386.h: Add AMD athlon instructions, pfnacc, pfpnacc, pswapd.
1092 Document pf2iw and pi2fw as athlon insns. Remove pswapw.
1093 Alphabetically sort PIII insns.
1097 * cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
1101 * hppa.h (pa_opcodes): Add 64 bit versions of or, xor, and,
1102 and andcm. Add 32 and 64 bit version of cmpclr, cmpiclr.
1104 * hppa.h: Document 64 bit condition completers.
1108 * hppa.h (pa_opcodes): Change condition args to use '?' prefix.
1112 * i386.h (i386_optab): Add DefaultSize modifier to all insns
1113 that implicitly modify %esp. #undef d_Suf, x_suf, sld_suf,
1114 sldx_suf, bwld_Suf, d_FP, x_FP, sld_FP, sldx_FP at end of table.
1119 * hppa.h (pa_opcodes): Add "pushnom" and "pushbts".
1121 * hppa.h (pa_opcodes): Mark all PA2.0 opcodes with FLAG_STRICT.
1123 * hppa.h (pa_opcodes): Change xmpyu, fmpyfadd,
1124 and fmpynfadd to use 'J' and 'K' instead of 'E' and 'X'.
1128 * i386.h: Add "undocumented" AMD 3DNow! pf2iw, pi2fw, pswapw insns.
1132 * hppa.h (struct pa_opcode): Add new field "flags".
1133 (FLAGS_STRICT): Define.
1138 * hppa.h (pa_opcodes): Add pa2.0 clrbts instruction.
1140 * hppa.h (pa_opcodes): Add entries for mfia and mtsarcm instructions.
1144 * i386.h: Allow `l' suffix on bswap. Allow `w' suffix on arpl,
1145 lldt, lmsw, ltr, str, verr, verw. Add FP flag to fcmov*. Add FP
1146 flag to fcomi and friends.
1150 * hppa.h (pa_opcodes): Move integer arithmetic instructions after
1151 integer logical instructions.
1155 * m68k.h: Document new formats `E', `G', `H' and new places `N',
1158 * m68k.h: Define mcf5206e, mcf5307, mcf. Document new format `u'
1159 and new places `m', `M', `h'.
1163 * hppa.h (pa_opcodes): Add several processor specific system
1168 * hppa.h (pa_opcodes): Add second entry for "comb", "comib",
1169 "addb", and "addib" to be used by the disassembler.
1173 * i386.h (ReverseModrm): Remove all occurences.
1174 (InvMem): Add to control/debug/test mov insns, movhlps, movlhps,
1175 movmskps, pextrw, pmovmskb, maskmovq.
1176 Change NoSuf to FP on all MMX, XMM and AMD insns as these all
1177 ignore the data size prefix.
1179 * i386.h (i386_optab, i386_regtab): Add support for PIII SIMD.
1184 * ppc.h (PPC_OPCODE_64_BRIDGE): New.
1188 * cgen.h (CGEN_ATTR): Delete member num_nonbools.
1189 (CGEN_ATTR_TYPE): Update.
1190 (CGEN_ATTR_MASK): Number booleans starting at 0.
1191 (CGEN_ATTR_VALUE): Update.
1192 (CGEN_INSN_ATTR): Update.
1196 * hppa.h (fmpyfadd, fmpynfadd, fneg, fnegabs): New PA2.0
1201 * hppa.h (bb, bvb): Tweak opcode/mask.
1206 * cgen.h (CGEN_ISA,CGEN_MACH): New typedefs.
1207 (struct cgen_cpu_desc): Rename member mach to machs. New member isas.
1208 New members word_bitsize,default_insn_bitsize,base_insn-bitsize,
1209 min_insn_bitsize,max_insn_bitsize,isa_table,mach_table,rebuild_tables.
1210 Delete member max_insn_size.
1211 (enum cgen_cpu_open_arg): New enum.
1212 (cpu_open): Update prototype.
1213 (cpu_open_1): Declare.
1214 (cgen_set_cpu): Delete.
1218 * cgen.h (CGEN_HW_TABLE): Delete `num_init_entries' member.
1219 (CGEN_OPERAND_NIL): New macro.
1220 (CGEN_OPERAND): New member `type'.
1221 (@arch@_cgen_operand_table): Delete decl.
1222 (CGEN_OPERAND_INDEX,CGEN_OPERAND_TYPE,CGEN_OPERAND_ENTRY): Delete.
1223 (CGEN_OPERAND_TABLE): New struct.
1224 (cgen_operand_lookup_by_name,cgen_operand_lookup_by_num): Declare.
1225 (CGEN_OPINST): Pointer to operand table entry replaced with enum.
1226 (CGEN_CPU_TABLE): New member `isa'. Change member `operand_table',
1227 now a CGEN_OPERAND_TABLE. Add CGEN_CPU_DESC arg to
1228 {get,set}_{int,vma}_operand.
1229 (@arch@_cgen_cpu_open): New arg `isa'.
1230 (cgen_set_cpu): Ditto.
1234 * i386.h: Fill in cmov and fcmov alternates. Add fcomi short forms.
1238 * cgen.h (enum cgen_asm_type): Add CGEN_ASM_NONE.
1239 (CGEN_HW_ENTRY): Delete member `next'. Change type of `type' to
1241 (CGEN_HW_TABLE): New struct.
1242 (hw_table): Delete declaration.
1243 (CGEN_OPERAND): Change member hw to hw_type, change type from pointer
1244 to table entry to enum.
1245 (CGEN_OPINST): Ditto.
1246 (CGEN_CPU_TABLE): Change member hw_list to hw_table.
1250 * alpha.h (AXP_OPCODE_EV6): New.
1251 (AXP_OPCODE_NOPAL): Include it.
1255 * cgen.h (CGEN_CPU_DESC): Renamed from CGEN_OPCODE_DESC.
1256 All uses updated. New members int_insn_p, max_insn_size,
1257 parse_operand,insert_operand,extract_operand,print_operand,
1258 sizeof_fields,set_fields_bitsize,get_int_operand,set_int_operand,
1259 get_vma_operand,set_vma_operand,parse_handlers,insert_handlers,
1260 extract_handlers,print_handlers.
1261 (CGEN_ATTR): Change type of num_nonbools to unsigned int.
1262 (CGEN_ATTR_BOOL_OFFSET): New macro.
1263 (CGEN_ATTR_MASK): Subtract it to compute bit number.
1264 (CGEN_ATTR_VALUE): Redo bool/nonbool attr calculation.
1265 (cgen_opcode_handler): Renamed from cgen_base.
1266 (CGEN_HW_ATTR_VALUE): Renamed from CGEN_HW_ATTR, all uses updated.
1267 (CGEN_OPERAND_ATTR_VALUE): Renamed from CGEN_OPERAND_ATTR,
1269 (CGEN_OPERAND_INDEX): Rewrite to use table entry, not global.
1270 (enum cgen_opinst_type): Renamed from cgen_operand_instance_type.
1271 (CGEN_IFLD_ATTR_VALUE): Renamed from CGEN_IFLD_ATTR, all uses updated.
1272 (CGEN_OPCODE,CGEN_IBASE): New types.
1273 (CGEN_INSN): Rewrite.
1274 (CGEN_{ASM,DIS}_HASH*): Delete.
1275 (init_opcode_table,init_ibld_table): Declare.
1276 (CGEN_INSN_ATTR): New type.
1280 * i386.h (d_Suf, x_Suf, sld_Suf, sldx_Suf, bwld_Suf): Define.
1281 (x_FP, d_FP, dls_FP, sldx_FP): Define.
1282 Change *Suf definitions to include x and d suffixes.
1283 (movsx): Use w_Suf and b_Suf.
1285 (movs): Use bwld_Suf.
1286 (fld): Change ordering. Use sld_FP.
1287 (fild): Add Intel Syntax equivalent of fildq.
1290 (fstp): Use sld_FP. Add x_FP version.
1291 (fistp): LLongMem version for Intel Syntax.
1292 (fcom, fcomp): Use sld_FP.
1293 (fadd, fiadd, fsub): Use sld_FP.
1294 (fsubr): Use sld_FP.
1295 (fmul, fimul, fdvi, fidiv, fdivr): Use sld_FP.
1299 * cgen.h (enum cgen_mode): Add CGEN_MODE_TARGET_MAX, CGEN_MODE_INT,
1304 * hppa.h (bv): Fix mask.
1308 * cgen.h (CGEN_ATTR_VALUE_TYPE): New typedef.
1309 (CGEN_ATTR): Use it.
1310 (CGEN_ATTR_TYPE,CGEN_ATTR_ENTRY): Ditto.
1311 (CGEN_ATTR_TABLE): New member dfault.
1315 * mips.h (MIPS16_INSN_BRANCH): New.
1319 The following is part of a change made by Edith Epstein
1321 changes by HP; HP did not create ChangeLog entries.
1323 * hppa.h (completer_chars): list of chars to not put a space
1328 * i386.h (i386_optab): Permit w suffix on processor control and
1329 status word instructions.
1333 * cgen.h (struct cgen_hw_entry): Delete const on attrs member.
1334 (struct cgen_keyword_entry): Ditto.
1335 (struct cgen_operand): Ditto.
1336 (CGEN_IFLD): New typedef, with associated access macros.
1337 (CGEN_IFMT): New typedef, with associated access macros.
1338 (CGEN_IFMT): Renamed from CGEN_FORMAT. New member `iflds'.
1339 (CGEN_IVALUE): New typedef.
1340 (struct cgen_insn): Delete const on syntax,attrs members.
1341 `format' now points to format data. Type of `value' is now
1343 (struct cgen_opcode_table): New member ifld_table.
1347 * cgen.h (cgen_extract_fn): Update type of `base_insn' arg.
1348 (CGEN_OPERAND_INSTANCE): New member `attrs'.
1349 (CGEN_OPERAND_INSTANCE_{ATTRS,ATTR}): New macros.
1350 (cgen_dis_lookup_insn): Update type of `base_insn' arg.
1351 (cgen_opcode_table): Update type of dis_hash fn.
1352 (extract_operand): Update type of `insn_value' arg.
1356 * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Delete.
1360 * mips.h (INSN_MULT): Added.
1364 * i386.h (MAX_MNEM_SIZE): Rename from MAX_OPCODE_SIZE.
1368 * cgen.h (CGEN_INSN_INT): New typedef.
1369 (CGEN_INT_INSN_P): Renamed from CGEN_INT_INSN.
1370 (CGEN_INSN_BYTES): Renamed from cgen_insn_t.
1371 (CGEN_INSN_BYTES_PTR): New typedef.
1372 (CGEN_EXTRACT_INFO): New typedef.
1373 (cgen_insert_fn,cgen_extract_fn): Update.
1374 (cgen_opcode_table): New member `insn_endian'.
1375 (assemble_insn,lookup_insn,lookup_get_insn_operands): Update.
1376 (insert_operand,extract_operand): Update.
1377 (cgen_get_insn_value,cgen_put_insn_value): Add prototypes.
1381 * cgen.h (CGEN_ATTR_BOOLS): New macro.
1382 (struct CGEN_HW_ENTRY): New member `attrs'.
1383 (CGEN_HW_ATTR): New macro.
1384 (struct CGEN_OPERAND_INSTANCE): New member `name'.
1385 (CGEN_INSN_INVALID_P): New macro.
1389 * hppa.h: Add "fid".
1394 * i386.h (i386_optab): Add AMD 3DNow! instructions.
1395 (AMD_3DNOW_OPCODE): Define.
1399 * d30v.h (EITHER_BUT_PREFER_MU): Define.
1403 * cgen.h (cgen_insn): #if 0 out element `cdx'.
1407 Move all global state data into opcode table struct, and treat
1408 opcode table as something that is "opened/closed".
1409 * cgen.h (CGEN_OPCODE_DESC): New type.
1410 (all fns): New first arg of opcode table descriptor.
1411 (cgen_set_parse_operand_fn): Add prototype.
1412 (cgen_current_machine,cgen_current_endian): Delete.
1413 (CGEN_OPCODE_TABLE): New members mach,endian,operand_table,
1414 parse_operand_fn,asm_hash_table,asm_hash_table_entries,
1415 dis_hash_table,dis_hash_table_entries.
1416 (opcode_open,opcode_close): Add prototypes.
1418 * cgen.h (cgen_insn): New element `cdx'.
1422 * d30v.h (FLAG_LKR): New flag for "left-kills-right" instructions.
1426 * mn10300.h: Add "no_match_operands" field for instructions.
1427 (MN10300_MAX_OPERANDS): Define.
1431 * cgen.h (cgen_macro_insn_count): Declare.
1435 * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Define.
1436 (cgen_insert_fn,cgen_extract_fn): New arg `pc'.
1437 (get_operand,put_operand): Replaced with get_{int,vma}_operand,
1438 set_{int,vma}_operand.
1442 * mn10300.h: Add "machine" field for instructions.
1443 (MN103, AM30): Define machine types.
1447 * i386.h: Use FP, not sl_Suf, for fxsave and fxrstor.
1451 * i386.h: Add support for fxsave, fxrstor, sysenter and sysexit.
1455 * i386.h (i386_optab): Add general form of aad and aam. Add ud2a
1457 (i386_regtab): Allow cr0..7, db0..7, dr0..7, tr0..7, not just
1458 those that happen to be implemented on pentiums.
1462 * i386.h: Change occurences of Data16 to Size16, Data32 to Size32,
1463 IgnoreDataSize to IgnoreSize. Flag address and data size prefixes
1464 with Size16|IgnoreSize or Size32|IgnoreSize.
1468 * i386.h (REPNE): Rename to REPNE_PREFIX_OPCODE.
1469 (REPE): Rename to REPE_PREFIX_OPCODE.
1470 (i386_regtab_end): Remove.
1471 (i386_prefixtab, i386_prefixtab_end): Remove.
1472 (i386_optab): Use NULL as sentinel rather than "" to suit rewrite
1474 (MAX_OPCODE_SIZE): Define.
1475 (i386_optab_end): Remove.
1477 (sl_FP): Use sl_Suf.
1479 * i386.h (i386_optab): Allow 16 bit displacement for `mov
1480 mem,acc'. Combine 16 and 32 bit forms of various insns. Allow 16
1481 bit form of ljmp. Add IsPrefix modifier to prefixes. Add addr32,
1482 data32, dword, and adword prefixes.
1483 (i386_regtab): Add BaseIndex modifier to valid 16 bit base/index
1488 * i386.h (i386_regtab): Remove BaseIndex modifier from esp.
1490 * i386.h: Allow `l' suffix on fld, fst, fstp, fcom, fcomp with
1491 register operands, because this is a common idiom. Flag them with
1492 a warning. Allow illegal faddp, fsubp, fsubrp, fmulp, fdivp,
1493 fdivrp because gcc erroneously generates them. Also flag with a
1496 * i386.h: Add suffix modifiers to most insns, and tighter operand
1497 checks in some cases. Fix a number of UnixWare compatibility
1498 issues with float insns. Merge some floating point opcodes, using
1499 new FloatMF modifier.
1500 (WORD_PREFIX_OPCODE): Rename to DATA_PREFIX_OPCODE for
1503 * i386.h: Change occurence of ShortformW to W|ShortForm. Add
1504 IgnoreDataSize where appropriate.
1508 * i386.h: (one_byte_segment_defaults): Remove.
1509 (two_byte_segment_defaults): Remove.
1510 (i386_regtab): Add BaseIndex to 32 bit regs reg_type.
1514 * cgen.h (cgen_hw_lookup_by_name): Renamed from cgen_hw_lookup.
1515 (cgen_hw_lookup_by_num): Declare.
1519 * mips.h (OP_{SH,MASK}_CODE2): Added "q" operand format for lower
1520 ten bits of MIPS ISA1 "break" instruction, and for "sdbbp"
1524 * cgen.h (cgen_asm_init_parse): Delete.
1525 (cgen_save_fixups,cgen_restore_fixups,cgen_swap_fixups): Delete.
1526 (cgen_asm_record_register,cgen_asm_finish_insn): Delete.
1530 * cgen.h (CGEN_ATTR_TYPE): Delete `const', moved to uses.
1531 (cgen_asm_finish_insn): Update prototype.
1532 (cgen_insn): New members num, data.
1533 (CGEN_INSN_TABLE): Members asm_hash, asm_hash_table_size,
1534 dis_hash, dis_hash_table_size moved to ...
1535 (CGEN_OPCODE_TABLE). Here. Renamed from CGEN_OPCODE_DATA.
1536 All uses updated. New members asm_hash_p, dis_hash_p.
1537 (CGEN_MINSN_EXPANSION): New struct.
1538 (cgen_expand_macro_insn): Declare.
1539 (cgen_macro_insn_count): Declare.
1540 (get_insn_operands): Update prototype.
1541 (lookup_get_insn_operands): Declare.
1545 * i386.h (i386_optab): Change iclrKludge and imulKludge to
1546 regKludge. Add operands types for string instructions.
1550 * i386.h (X): Renamed from `Z_' to preserve formatting of opcode
1555 * i386.h (Z_): Renamed from `_' to avoid clash with common alias
1560 * i386.h: Remove NoModrm flag from all insns: it's never checked.
1561 Add IsString flag to string instructions.
1562 (IS_STRING): Don't define.
1563 (LOCK_PREFIX_OPCODE, CS_PREFIX_OPCODE, DS_PREFIX_OPCODE): Define.
1564 (ES_PREFIX_OPCODE, FS_PREFIX_OPCODE, GS_PREFIX_OPCODE): Define.
1565 (SS_PREFIX_OPCODE): Define.
1569 * i386.h: Revert March 24 patch; no more LinearAddress.
1573 * i386.h (i386_optab): Remove fwait (9b) from all floating point
1574 instructions, and instead add FWait opcode modifier. Add short
1575 form of fldenv and fstenv.
1576 (FWAIT_OPCODE): Define.
1578 * i386.h (i386_optab): Change second operand constraint of `mov
1579 sreg,reg|mem' instruction from Reg16|Mem to WordReg|WordMem to
1580 allow legal instructions such as `movl %gs,%esi'
1584 * h8300.h: Various changes to fully bracket initializers.
1588 * i386.h: Set LinearAddress for lidt and lgdt.
1592 * cgen.h (CGEN_BOOL_ATTR): New macro.
1596 * d30v.h (FLAG_DELAY): New flag for delayed branches/jumps.
1600 * cgen.h (CGEN_CAT3): Delete. Use CONCAT3 now.
1601 (cgen_insn): Record syntax and format entries here, rather than
1606 * cgen.h (CGEN_SYNTAX_MAKE_FIELD): New macro.
1610 * cgen.h (cgen_insert_fn): Change type of result to const char *.
1611 (cgen_parse_{signed,unsigned}_integer): Delete min,max arguments.
1612 (CGEN_{INSN,KEYWORD,OPERAND}_NBOOL_ATTRS): Renamed from ..._MAX_ATTRS.
1616 * cgen.h (lookup_insn): New argument alias_p.
1620 Fix rac to accept only a0:
1621 * d10v.h (OPERAND_ACC): Split into:
1622 (OPERAND_ACC0, OPERAND_ACC1) .
1623 (OPERAND_GPR): Define.
1627 * cgen.h (CGEN_FIELDS): Define here.
1628 (CGEN_HW_ENTRY): New member `type'.
1629 (hw_list): Delete decl.
1630 (enum cgen_mode): Declare.
1631 (CGEN_OPERAND): New member `hw'.
1632 (enum cgen_operand_instance_type): Declare.
1633 (CGEN_OPERAND_INSTANCE): New type.
1634 (CGEN_INSN): New member `operands'.
1635 (CGEN_OPCODE_DATA): Make hw_list const.
1636 (get_insn_operands,lookup_insn): Add prototypes for.
1640 * cgen.h (CGEN_INSN_MAX_ATTRS): Renamed from CGEN_MAX_INSN_ATTRS.
1641 (CGEN_HW_ENTRY): Move `next' entry to end of struct.
1642 (CGEN_KEYWORD_MAX_ATTRS): Renamed from CGEN_MAX_KEYWORD_ATTRS.
1643 (CGEN_OPERAND_MAX_ATTRS): Renamed from CGEN_MAX_OPERAND_ATTRS.
1647 * cgen.h: Correct typo in comment end marker.
1651 * tic30.h: New file.
1655 * cgen.h: Add prototypes for cgen_save_fixups(),
1656 cgen_restore_fixups(), and cgen_swap_fixups(). Change prototype
1657 of cgen_asm_finish_insn() to return a char *.
1661 * cgen.h: Formatting changes to improve readability.
1665 * cgen.h (*): Clean up pass over `struct foo' usage.
1666 (CGEN_ATTR): Make unsigned char.
1667 (CGEN_ATTR_TYPE): Update.
1668 (CGEN_ATTR_{ENTRY,TABLE}): New types.
1669 (cgen_base): Move member `attrs' to cgen_insn.
1670 (CGEN_KEYWORD): New member `null_entry'.
1671 (CGEN_{SYNTAX,FORMAT}): New types.
1672 (cgen_insn): Format and syntax separated from each other.
1676 * d30v.h (d30v_opcode): Reorder flags somewhat, add new flags for
1677 2 word load/store, ADDppp/SUBppp, 16/32 bit multiply. Make
1678 flags_{used,set} long.
1679 (d30v_operand): Make flags field long.
1683 * m68k.h: Fix comment describing operand types.
1687 * d30v.h (SHORT_CMPU): Add case for cmpu instruction, and move
1688 everything else after down.
1692 * d10v.h (OPERAND_FLAG): Split into:
1693 (OPERAND_FFLAG, OPERAND_CFLAG) .
1697 * mips.h (struct mips_opcode): Changed comments to reflect new
1702 * mips.h: Added to comments a quick-ref list of all assigned
1703 operand type characters.
1704 (OP_{MASK,SH}_PERFREG): New macros.
1708 * sparc.h: Add '_' and '/' for v9a asr's.
1713 * h8300.h: Bit ops with absolute addresses not in the 8 bit
1714 area are not available in the base model (H8/300).
1718 * m68k.h: Remove documentation of ` operand specifier.
1722 * m68k.h: Document q and v operand specifiers.
1726 * v850.h (struct v850_opcode): Add processors field.
1727 (PROCESSOR_V850, PROCESSOR_ALL): New bit constants.
1728 (PROCESSOR_V850E, PROCESSOR_NOT_V850): New bit constants.
1729 (PROCESSOR_V850EA): New bit constants.
1733 Merge changes from Martin Hunt:
1735 * d30v.h: Allow up to 64 control registers. Add
1738 * d30v.h (LONG_Db): New form for delayed branches.
1740 * d30v.h: (LONG_Db): New form for repeati.
1742 * d30v.h (SHORT_D2B): New form.
1744 * d30v.h (SHORT_A2): New form.
1746 * d30v.h (OPERAND_2REG): Add new operand to indicate 2
1747 registers are used. Needed for VLIW optimization.
1751 * cgen.h: Move assembler interface section
1752 up so cgen_parse_operand_result is defined for cgen_parse_address.
1753 (cgen_parse_address): Update prototype.
1757 * v850.h (V850_OPREAND_ADJUST_SHORT_MEMORY): Removed.
1761 * i386.h (two_byte_segment_defaults): Correct base register 5 in
1762 modes 1 and 2 to be ss rather than ds. From Gabriel Paubert
1765 * i386.h: Set ud2 to 0x0f0b. From Gabriel Paubert
1768 * i386.h: Comment fixes for ficom[p]?{s,l} from Gabriel Paubert
1771 * i386.h (JUMP_ON_CX_ZERO): Uncomment (define again).
1772 (JUMP_ON_ECX_ZERO): Remove commented out macro.
1776 * v850.h (V850_NOT_R0): New flag.
1780 * v850.h (struct v850_opcode): Remove flags field.
1784 * v850.h (struct v850_opcode): Add flags field.
1785 (struct v850_operand): Extend meaning of 'bits' and 'shift'
1787 (V850E_INSTRUCTION, V850EA_INSTRUCTION): New flags.
1788 (V850E_PUSH_POP, V850E_IMMEDIATE16, V850E_IMMEDIATE32): New flags.
1796 * sparc.h (sparc_opcodes): Declare as const.
1800 * mips.h (FP_S, FP_D): Define. Bitmasks indicating if an insn
1801 uses single or double precision floating point resources.
1802 (INSN_NO_ISA, INSN_ISA1): Define.
1803 (cpu specific INSN macros): Tweak into bitmasks outside the range
1808 * i386.h: Fix pand opcode.
1812 * mips.h: Widen INSN_ISA and move it to a more convenient
1813 bit position. Add INSN_3900.
1817 * mips.h (struct mips_opcode): added new field membership.
1821 * i386.h (movd): only Reg32 is allowed.
1823 * i386.h: add fcomp and ud2. From Wayne Scott
1828 * i386.h: Add MMX instructions.
1832 * i386.h: Remove W modifier from conditional move instructions.
1836 * i386.h: Change the opcodes for fsubp, fsubrp, fdivp, and fdivrp
1837 with no arguments to match that generated by the UnixWare
1842 * cgen.h (<cpu>_cgen_assemble_insn): New arg for errmsg.
1843 (cgen_parse_operand_fn): Declare.
1844 (cgen_init_parse_operand): Declare.
1845 (cgen_parse_operand): Renamed from cgen_asm_parse_operand,
1846 new argument `want'.
1847 (enum cgen_parse_operand_result): Renamed from cgen_asm_result.
1848 (enum cgen_parse_operand_type): New enum.
1852 * i386.h: Revert last patch for the NON_BROKEN_OPCODES cases.
1860 * i386.h: Correct opcode values for fsubp, fsubrp, fdivp, and
1865 * v850.h (extract): Make unsigned.
1873 * i386.h: Change DW to W for cmpxchg and xadd, since they don't
1874 take a direction bit.
1878 * sparc.h (sparc_opcode_lookup_arch): Use full prototype.
1882 * sparc.h: Include <ansidecl.h>. Update function declarations to
1883 use prototypes, and to use const when appropriate.
1887 * mn10300.h (MN10300_OPERAND_RELAX): Define.
1891 * d10v.h: Change pre_defined_registers to
1892 d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt.
1896 * mips.h: Add macros for cop0, cop1 cop2 and cop3.
1897 Change mips_opcodes from const array to a pointer,
1898 and change bfd_mips_num_opcodes from const int to int,
1899 so that we can increase the size of the mips opcodes table
1904 * d30v.h (FLAG_X): Remove unused flag.
1912 * tic80.h (PDS_NAME): Macro to access name field of predefined symbols.
1913 (PDS_VALUE): Macro to access value field of predefined symbols.
1914 (tic80_next_predefined_symbol): Add prototype.
1918 * tic80.h (tic80_symbol_to_value): Change prototype to match
1919 change in function, added class parameter.
1923 * tic80.h (TIC80_OPERAND_ENDMASK): Add for flagging TIc80
1924 endmask fields, which are somewhat weird in that 0 and 32 are
1925 treated exactly the same.
1929 * tic80.h: Change all the OPERAND defines to use the form (1 << X)
1930 rather than a constant that is 2**X. Reorder them to put bits for
1931 operands that have symbolic names in the upper bits, so they can
1932 be packed into an int where the lower bits contain the value that
1933 corresponds to that symbolic name.
1934 (predefined_symbo): Add struct.
1935 (tic80_predefined_symbols): Declare array of translations.
1936 (tic80_num_predefined_symbols): Declare size of that array.
1937 (tic80_value_to_symbol): Declare function.
1938 (tic80_symbol_to_value): Declare function.
1942 * mn10200.h (MN10200_OPERAND_RELAX): Define.
1946 * tic80.h (TIC80_NO_R0_DEST): Add for opcodes where r0 cannot
1947 be the destination register.
1951 * tic80.h (struct tic80_opcode): Change "format" field to "flags".
1952 (FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete.
1953 (TIC80_VECTOR): Define a flag bit for the flags. This one means
1954 that the opcode can have two vector instructions in a single
1955 32 bit word and we have to encode/decode both.
1959 * tic80.h (TIC80_OPERAND_PCREL): Renamed from
1960 TIC80_OPERAND_RELATIVE for PC relative.
1961 (TIC80_OPERAND_BASEREL): New flag bit for register
1966 * tic80.h (TIC80_OPERAND_FLOAT): Add for floating point operands.
1970 * tic80.h (TIC80_OPERAND_SCALED): Operand may have optional
1971 ":s" modifier for scaling.
1975 * tic80.h (TIC80_OPERAND_M_SI): Add operand modifier for ":m".
1976 (TIC80_OPERAND_M_LI): Ditto
1980 * tic80.h (TIC80_OPERAND_BITNUM): Renamed from TIC80_OPERAND_CC_SZ.
1981 (TIC80_OPERAND_CC): New define for condition code operand.
1982 (TIC80_OPERAND_CR): New define for control register operand.
1986 * tic80.h (struct tic80_opcode): Name changed.
1987 (struct tic80_opcode): Remove format field.
1988 (struct tic80_operand): Add insertion and extraction functions.
1989 (TIC80_OPERAND_*): Remove old bogus values, start adding new
1995 * v850.h (V850_OPERAND_ADJUST_SHORT_MEMORY): New flag to adjust
1996 type IV instruction offsets.
2000 * tic80.h: New file.
2004 * mn10200.h (MN10200_OPERAND_NOCHECK): Define.
2008 * mn10200.h: Fix comment, mn10200_operand not powerpc_operand.
2009 * mn10300.h: Fix comment, mn10300_operand not powerpc_operand.
2010 * v850.h: Fix comment, v850_operand not powerpc_operand.
2014 * mn10200.h: Flesh out structures and definitions needed by
2015 the mn10200 assembler & disassembler.
2019 * mips.h: Add mips16 definitions.
2023 * m68k.h: Document new <, >, m, n, o and p operand specifiers.
2027 * mn10300.h (MN10300_OPERAND_PCREL): Define.
2028 (MN10300_OPERAND_MEMADDR): Define.
2032 * mn10300.h (MN10300_OPERAND_REG_LIST): Define.
2036 * mn10300.h (MN10300_OPERAND_SPLIT): Define.
2040 * mn10300.h (MN10300_OPERAND_EXTENDED): Define.
2044 * mn10300.h (MN10300_OPERAND_REPEATED): Define.
2048 * alpha.h: Don't include "bfd.h"; private relocation types are now
2049 negative to minimize problems with shared libraries. Organize
2050 instruction subsets by AMASK extensions and PALcode
2052 (struct alpha_operand): Move flags slot for better packing.
2056 * v850.h (V850_OPERAND_RELAX): New operand flag.
2060 * mn10300.h (FMT_*): Move operand format definitions
2065 * mn10300.h (MN10300_OPERAND_PAREN): Define.
2069 * mn10300.h (mn10300_opcode): Add "format" field.
2070 (MN10300_OPERAND_*): Define.
2074 * mn10x00.h: Delete.
2075 * mn10200.h, mn10300.h: New files.
2079 * mn10x00.h: New file.
2083 * v850.h: Add new flag to indicate this instruction uses a PC
2088 * h8300.h (stmac): Add missing instruction.
2092 * v850.h (v850_opcode): Remove "size" field. Add "memop"
2097 * v850.h (V850_OPERAND_EP): Define.
2099 * v850.h (v850_opcode): Add size field.
2103 * v850.h (v850_operands): Add insert and extract fields, pointers
2104 to functions used to handle unusual operand encoding.
2105 (V850_OPERAND_REG, V850_OPERAND_SRG, V850_OPERAND_CC,
2106 V850_OPERAND_SIGNED): Defined.
2110 * v850.h (v850_operands): Add flags field.
2111 (OPERAND_REG, OPERAND_NUM): Defined.
2119 * mips.h (OP_SH_LOCC, OP_SH_HICC, OP_MASK_CC, OP_SH_COP1NORM,
2120 OP_MASK_COP1NORM, OP_SH_COP1SPEC, OP_MASK_COP1SPEC,
2121 OP_MASK_COP1SCLR, OP_MASK_COP1CMP, OP_SH_COP1CMP, OP_SH_FORMAT,
2122 OP_MASK_FORMAT, OP_SH_TRUE, OP_MASK_TRUE, OP_SH_GE, OP_MASK_GE,
2123 OP_SH_UNSIGNED, OP_MASK_UNSIGNED, OP_SH_HINT, OP_MASK_HINT):
2128 * hppa.h (pitlb, pitlbe, iitlba, iitlbp, fic, fice): Accept
2129 a 3 bit space id instead of a 2 bit space id.
2133 * d10v.h: Add some additional defines to support the
2134 assembler in determining which operations can be done in parallel.
2138 * h8300.h (SN): Define.
2139 (eepmov.b): Renamed from "eepmov"
2140 (nop, bpt, rte, rts, sleep, clrmac): These have no size associated
2145 * d10v.h (OPERAND_SHIFT): New operand flag.
2149 * d10v.h: Changes for divs, parallel-only instructions, and
2154 * d10v.h (pd_reg): Define. Putting the definition here allows
2155 the assembler and disassembler to share the same struct.
2159 * i960.h (i960_opcodes): "halt" takes an argument. From Stephen
2168 * h8300.h (band, bclr): Force high bit of immediate nibble to zero.
2172 * m68k.h (mcf5200): New macro.
2173 Document names of coldfire control registers.
2177 * h8300.h (SRC_IN_DST): Define.
2179 * h8300.h (UNOP3): Mark the register operand in this insn
2180 as a source operand, not a destination operand.
2181 (SHIFT_2, SHIFT_IMM): Remove. Eliminate all references.
2182 (UNOP3): Change SHIFT_IMM to IMM for H8/S bitops. Mark
2183 register operand with SRC_IN_DST.
2187 * alpha.h: New file.
2191 * rs6k.h: Remove obsolete file.
2195 * i386.h: Correct opcode values for faddp, fsubp, fsubrp, fmulp,
2196 fdivp, and fdivrp. Add ffreep.
2200 * h8300.h: Reorder various #defines for readability.
2201 (ABS32SRC, ABS32DST, DSP32LIST, ABS32LIST, A32LIST): Define.
2202 (BITOP): Accept additional (unused) argument. All callers changed.
2205 (ldc, stc, movb, movw, movl): Use 32bit offsets and absolutes.
2207 * h8300.h (EXR, SHIFT_2, MACREG, SHIFT_IMM, RDINC): Define.
2208 (O_TAS, O_CLRMAC, O_LDMAC, O_MAC, O_LDM, O_STM): Define.
2209 (BITOP, EBITOP): Handle new H8/S addressing modes for
2211 (UNOP3): Handle new shift/rotate insns on the H8/S.
2212 (insns using exr): New instructions.
2213 (tas, mac, ldmac, clrmac, ldm, stm): New instructions.
2217 * h8300.h (add.l): Undo Apr 5th change. The manual I had
2222 * h8300.h (START): Remove.
2223 (MEMRELAX): Define. Mark absolute memory operands in mov.b, mov.w
2224 and mov.l insns that can be relaxed.
2228 * i386.h: Remove Abs32 from lcall.
2232 * sparc.h (SPARC_OPCODE_ARCH_V9_P): New macro.
2233 (SLCPOP): New macro.
2234 Mark X,Y opcode letters as in use.
2238 * sparc.h (F_FLOAT, F_FBR): Define.
2242 * h8300.h (ABS8MEM): Renamed from ABSMOV. Remove ABSMOV
2244 (ABS8SRC,ABS8DST): Add ABS8MEM.
2245 (add.l): Fix reg+reg variant.
2246 (eepmov.w): Renamed from eepmovw.
2247 (ldc,stc): Fix many cases.
2251 * sparc.h (SPARC_OPCODE_ARCH_MASK): New macro.
2255 * sparc.h (O): Mark operand letter as in use.
2259 * sparc.h (sparc_{encode,decode}_sparclet_cpreg): Declare.
2260 Mark operand letters uU as in use.
2264 * sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_SPARCLET.
2265 (sparc_opcode_arch): Delete member `conflicts'. Add `supported'.
2266 (SPARC_OPCODE_SUPPORTED): New macro.
2267 (SPARC_OPCODE_CONFLICT_P): Rewrite.
2272 * sparc.h (sparc_opcode_lookup_arch) Make return type in
2273 declaration consistent with return type in definition.
2277 * i386.h (i386_optab): Remove Data32 from pushf and popf.
2281 * i386.h (i386_regtab): Add 80486 test registers.
2285 * i960.h (I_HX): Define.
2286 (i960_opcodes): Add HX instruction.
2290 * i386.h: Fix waiting forms of finit, fstenv, fsave, fstsw, fstcw,
2295 * sparc.h (enum sparc_opcode_arch_val): Replaces sparc_architecture.
2296 (SPARC_OPCODE_CONFLICT_P): Renamed from ARCHITECTURES_CONFLICT_P.
2297 (bfd_* defines): Delete.
2298 (sparc_opcode_archs): Replaces architecture_pname.
2299 (sparc_opcode_lookup_arch): Declare.
2300 (NUMOPCODES): Delete.
2304 * sparc.h (enum sparc_architecture): Add v9a.
2305 (ARCHITECTURES_CONFLICT_P): Update.
2309 * i386.h: Added Pentium Pro instructions.
2313 * m68k.h: Document new 'W' operand place.
2317 * hppa.h: Add lci and syncdma instructions.
2321 * mips.h: Added INSN_4100 flag to mark NEC VR4100 specific
2326 * ppc.h (PPC_OPCODE_{COMMON,ANY}): New opcode flags for
2327 assembler's -mcom and -many switches.
2331 * i386.h: Fix cmpxchg8b extension opcode description.
2335 * i386.h: Add Pentium instructions wrmsr, rdtsc, rdmsr, cmpxchg8b,
2340 * m68k.h: Change comment: split type P into types 0, 1 and 2.
2344 * sparc.h (sparc_{encode,decode}_prefetch): Declare.
2348 * sparc.h (sparc_{encode,decode}_{asi,membar}): Declare.
2352 * m68kmri.h: Remove.
2354 * m68k.h: Move tables into opcodes/m68k-opc.c, leaving just the
2355 declarations. Remove F_ALIAS and flag field of struct
2356 m68k_opcode. Change arch field of struct m68k_opcode to unsigned
2357 int. Make name and args fields of struct m68k_opcode const.
2361 * sparc.h (F_NOTV9): Define.
2365 * mips.h (INSN_4010): Define.
2369 * m68k.h (TBL1): Reverse sense of "round" argument in result.
2372 * m68k.h: Fix argument descriptions of coprocessor
2373 instructions to allow only alterable operands where appropriate.
2374 [!NO_DEFAULT_SIZES]: An omitted size defaults to `w'.
2375 (m68k_opcode_aliases): Add more aliases.
2379 * m68k.h: Added explcitly short-sized conditional branches, and a
2380 bunch of aliases (fmov*, ftest*, tdivul) to support gcc's
2381 svr4-based configurations.
2386 * i386.h: added missing Data16/Data32 flags to a few instructions.
2390 * mips.h (OP_MASK_FR, OP_SH_FR): Define.
2391 (OP_MASK_BCC, OP_SH_BCC): Define.
2392 (OP_MASK_PREFX, OP_SH_PREFX): Define.
2393 (OP_MASK_CCC, OP_SH_CCC): Define.
2394 (INSN_READ_FPR_R): Define.
2399 * m68k.h (enum m68k_architecture): Deleted.
2400 (struct m68k_opcode_alias): New type.
2401 (m68k_opcodes): Now const. Deleted opcode aliases with exactly
2402 matching constraints, values and flags. As a side effect of this,
2403 the MOTOROLA_SYNTAX_ONLY and MIT_SYNTAX_ONLY macros, which so far
2404 as I know were never used, now may need re-examining.
2405 (numopcodes): Now const.
2406 (m68k_opcode_aliases, numaliases): New variables.
2408 [DONT_DEFINE_TABLE]: Declare numopcodes, numaliases, and
2409 m68k_opcode_aliases; update declaration of m68k_opcodes.
2413 * hppa.h (delay_type): Delete unused enumeration.
2414 (pa_opcode): Replace unused delayed field with an architecture
2416 (pa_opcodes): Mark each instruction as either PA1.0 or PA1.1.
2420 * mips.h (INSN_ISA4): Define.
2424 * mips.h (M_DLA_AB, M_DLI): Define.
2428 * hppa.h (fstwx): Fix single-bit error.
2432 * mips.h (M_ULD, M_ULD_A, M_USD, M_USD_A): Define.
2436 * i386.h: added cpuid instruction , and dr[0-7] aliases for the
2443 * i386.h (MOV_AX_DISP32): New macro.
2444 (i386_optab): Added Data16 and Data32 as needed. Added "w" forms
2445 of several call/return instructions.
2446 (ADDR_PREFIX_OPCODE): New macro.
2452 * vax.h (struct vot_wot, field `args'): Make it pointer to const
2454 (struct vot, field `name'): ditto.
2458 * vax.h: Supply and properly group all values in end sentinel.
2462 * mips.h (INSN_ISA, INSN_4650): Define.
2466 * a29k.h: Add operand type 'I' for `inv' and `iretinv'. On
2467 systems with a separate instruction and data cache, such as the
2468 29040, these instructions take an optional argument.
2472 * mips.h (INSN_STORE_MEMORY): Correct value to not conflict with
2477 * mips.h (INSN_STORE_MEMORY): Define.
2481 * sparc.h: Document new operand type 'x'.
2485 * i960.h (I_CX2): New instruction category. It includes
2486 instructions available on Cx and Jx processors.
2487 (I_JX): New instruction category, for JX-only instructions.
2488 (i960_opcodes): Put eshro and sysctl in I_CX2 category. Added
2489 Jx-only instructions, in I_JX category.
2493 * ns32k.h (endop): Made pointer const too.
2497 * ns32k.h: Drop Q operand type as there is no correct use
2498 for it. Add I and Z operand types which allow better checking.
2502 * h8300.h (xor.l) :fix bit pattern.
2503 (L_2): New size of operand.
2508 * m68k.h: Move "trap" before "tpcc" to change disassembly.
2512 * sparc.h: Include v9 definitions.
2516 * m68k.h (m68060): Defined.
2517 (m68040up, mfloat, mmmu): Include it.
2518 (struct m68k_opcode): Widen `arch' field.
2519 (m68k_opcodes): Updated for M68060. Removed comments that were
2520 instructions commented out by "JF" years ago.
2524 * m68k.h (struct m68k_opcode): Shorten `arch' field to 8 bits, and
2525 add a one-bit `flags' field.
2526 (F_ALIAS): New macro.
2530 * h8300.h (dec, inc): Get encoding right.
2534 * ppc.h (struct powerpc_operand): Removed signedp field; just use
2536 (PPC_OPERAND_SIGNED): Define.
2537 (PPC_OPERAND_SIGNOPT): Define.
2541 * i386.h (IS_JUMP_ON_ECX_ZERO, "jcxz" pattern): Operand size
2546 * i386.h: Reverse last change. It'll be handled in gas instead.
2550 * i386.h (sar): Disabled the two-operand Imm1 form, since it was
2551 slower on the 486 and used the implicit shift count despite the
2552 explicit operand. The one-operand form is still available to get
2553 the shorter form with the implicit shift count.
2557 * hppa.h: Fix typo in fstws arg string.
2561 * ppc.h (struct powerpc_opcode): Make operands field unsigned.
2565 * ppc.h (PPC_OPCODE_601): Define.
2569 * hppa.h (addb): Use '@' for addb and addib pseudo ops.
2570 (so we can determine valid completers for both addb and addb[tf].)
2572 * hppa.h (xmpyu): No floating point format specifier for the
2577 * ppc.h (PPC_OPERAND_NEXT): Define.
2578 (PPC_OPERAND_NEGATIVE): Change value to make room for above.
2579 (struct powerpc_macro): Define.
2580 (powerpc_macros, powerpc_num_macros): Declare.
2584 * ppc.h: New file. Header file for PowerPC opcode table.
2588 * hppa.h: More minor template fixes for sfu and copr (to allow
2589 for easier disassembly).
2591 * hppa.h: Fix templates for all the sfu and copr instructions.
2595 * i386.h (push): Permit Imm16 operand too.
2599 * h8300.h (andc): Exists in base arch.
2604 * hppa.h: #undef NONE to avoid conflict with hiux include files.
2608 * hppa.h: Add FP quadword store instructions.
2612 * mips.h: (M_J_A): Added.
2617 * mips.h (OP_MASK_CACHE, OP_SH_CACHE): Define. From Ted Lemon
2622 * hppa.h: Immediate field in probei instructions is unsigned,
2623 not low-sign extended.
2627 * m88k.h (RRI10MASK): Change from 0xfc00ffe0 to 0xfc00fc00.
2631 * i386.h: Add "fxch" without operand.
2635 * mips.h (M_JAL_1, M_JAL_2, M_JAL_A): Added.
2639 * hppa.h: Add gfw and gfr to the opcode table.
2643 * m88k.h: extended to handle m88110.
2647 * hppa.h (be, ble): Use operand type 'z' to denote absolute branch
2652 * i960.h (i960_opcodes): Properly bracket initializers.
2656 * m88k.h (BOFLAG): rewrite to avoid nested comment.
2660 * m68k.h (two): Protect second argument with parentheses.
2664 * i386.h (i386_optab): Added new instruction "rsm" (for i386sl).
2665 Deleted old in/out instructions in "#if 0" section.
2669 * i386.h (i386_optab): Properly bracket initializers.
2673 * hppa.h (pa_opcode): Use '|' for movb and movib insns. (From
2678 * i386.h (lcall): Accept Imm32 operand also.
2682 * mips.h (M_ABSU): Removed (absolute value of unsigned number??).
2687 * mips.h (INSN_*): Changed values. Removed unused definitions.
2688 Added INSN_COND_BRANCH_LIKELY, INSN_ISA2 and INSN_ISA3. Split
2689 INSN_LOAD_DELAY into INSN_LOAD_MEMORY_DELAY and
2690 INSN_LOAD_COPROC_DELAY. Split INSN_COPROC_DELAY into
2691 INSN_COPROC_MOVE_DELAY and INSN_COPROC_MEMORY_DELAY.
2692 (M_*): Added new values for r6000 and r4000 macros.
2693 (ANY_DELAY): Removed.
2697 * mips.h: Added M_LI_S and M_LI_SS.
2701 * h8300.h: Get some rare mov.bs correct.
2705 * sparc.h: Don't define const ourself; rely on ansidecl.h having
2710 * sparc.h (F_JSR, F_UNBR, F_CONDBR): Add new flags to mark
2711 jump instructions, for use in disassemblers.
2715 * m88k.h: Make bitfields just unsigned, not unsigned long or
2720 * hppa.h: New argument type 'y'. Use in various float instructions.
2724 * hppa.h (break): First immediate field is unsigned.
2726 * hppa.h: Add rfir instruction.
2730 * mips.h: Split the actual table out into ../../opcodes/mips-opc.c.
2734 * mips.h: Reworked the hazard information somewhat, and fixed some
2735 bugs in the instruction hazard descriptions.
2739 * m88k.h: Corrected a couple of opcodes.
2743 * mips.h: Replaced with version from Ralph Campbell and OSF. The
2744 new version includes instruction hazard information, but is
2745 otherwise reasonably similar.
2749 * h8300.h: Fix typo in UNOP3 (affected sh[al][lr].l).
2754 * hppa.h: Clean up some of the OLD_TABLE, non-OLD_TABLE braindamage.
2755 Make the tables be the same for the following instructions:
2756 "bb", "addb[tf]", "addib[tf]", "add", "add[loc]", "addco",
2757 "sh[123]add", "sh[123]add[lo]", "sub", "sub[obt]", "sub[bt]o",
2758 "ds", "comclr", "addi", "addi[ot]", "addito", "subi", "subio",
2759 "comiclr", "fadd", "fsub", "fmpy", "fdiv", "fsqrt", "fabs",
2760 "frnd", "fcpy", "fcnvff", "fcnvxf", "fcnvfx", "fcnvfxt",
2761 "fcmp", and "ftest".
2763 * hppa.h: Make new and old tables the same for "break", "mtctl",
2764 "mfctl", "bb", "ssm", "rsm", "xmpyu", "fmpyadd", "fmpysub".
2765 Fix typo in last patch. Collapse several #ifdefs into a
2768 * hppa.h: Delete remaining OLD_TABLE code. Bring some
2769 of the comments up-to-date.
2771 * hppa.h: Update "free list" of letters and update
2772 comments describing each letter's function.
2776 * h8300.h: Lots of little fixes for the h8/300h.
2780 Support for H8/300-H
2781 * h8300.h: Lots of new opcodes.
2785 * h8300.h: checkpoint, includes H8/300-H opcodes.
2790 * hppa.h: Rework single precision FP
2791 instructions so that they correctly disassemble code
2796 * i386.h (i386_optab, mov pattern): Remove Mem16 restriction from
2797 mov to allow instructions like mov ss,xyz(ecx) to assemble.
2801 * hppa.h: Use new version from Utah if OLD_TABLE isn't defined;
2802 gdb will define it for now.
2806 * sparc.h: Don't end enumerator list with comma.
2811 * mips.h (OP_MASK_COPZ, OP_SH_COPZ): Define.
2812 ("bc2t"): Correct typo.
2813 ("[ls]wc[023]"): Use T rather than t.
2814 ("c[0123]"): Define general coprocessor instructions.
2818 * m68k.h: Move split point for gcc compilation more towards
2823 * rs6k.h: Clean up instructions for primary opcode 19 (many were
2824 simply wrong, ics, rfi, & rfsvc were missing).
2825 Add "a" to opr_ext for "bb". Doc fix.
2830 * mips.h: Add casts, to suppress warnings about shifting too much.
2831 * m68k.h: Document the placement code '9'.
2835 * m68k.h (BREAK_UP_BIG_DECL, AND_OTHER_PART): Add kludge which
2836 allows callers to break up the large initialized struct full of
2837 opcodes into two half-sized ones. This permits GCC to compile
2838 this module, since it takes exponential space for initializers.
2839 (numopcodes, endop): Revise to use AND_OTHER_PART in size calcs.
2843 * a29k.h: Remove RCS crud, update GPL to v2, update copyrights.
2844 * convex.h: Added, from GDB's convx-opcode.h. Added CONST to all
2845 initialized structs in it.
2850 * m88k.h (PMEM): Avoid previous definition from <sys/param.h>.
2851 (AND): Change to AND_ to avoid ansidecl.h `AND' conflict.
2855 * mips.h: document "i" and "j" operands correctly.
2859 * mips.h: Removed endianness dependency.
2863 * h8300.h: include info on number of cycles per instruction.
2865 Mon Dec 21 21:29:08 1992 Stu Grossman (grossman at cygnus.com)
2867 * hppa.h: Move handy aliases to the front. Fix masks for extract
2868 and deposit instructions.
2872 * i386.h: accept shld and shrd both with and without the shift
2873 count argument, which is always %cl.
2875 Fri Nov 27 17:13:18 1992 Ken Raeburn (raeburn at cygnus.com)
2877 * i386.h (i386_optab_end, i386_regtab_end): Now const.
2878 (one_byte_segment_defaults, two_byte_segment_defaults,
2879 i386_prefixtab_end): Ditto.
2883 * vax.h (bb*): Use "v" (bitfield type), not "a" (address operand)
2888 * m68k.h: Define FIXED_SIZE_BRANCH, so bsr and bra instructions
2889 always use 16-bit offsets. Makes calculated-size jump tables
2894 * i386.h: Fix one-operand forms of in* and out* patterns.
2898 * m68k.h: Added CPU32 support.
2902 * mips.h (break): Disassemble the argument. Patch from
2907 * m68k.h: merged Motorola and MIT syntax.
2911 * m68k.h (pmove): make the tests less strict, the 68k book is
2916 * m68k.h (m68ec030): Defined as alias for 68030.
2917 (m68k_opcodes): New type characters "3" for 68030 MMU regs and "t"
2918 for immediate 0-7 added. Set up some opcodes (ptest, bkpt) to use
2919 them. Tightened description of "fmovex" to distinguish it from
2920 some "pmove" encodings. Added "pmove" for 68030 MMU regs, cleaned
2921 up descriptions that claimed versions were available for chips not
2922 supporting them. Added "pmovefd".
2926 * m68k.h: fix where the . goes in divull
2930 * m68k.h: the cas2 instruction is supposed to be written with
2931 indirection on the last two operands, which can be either data or
2932 address registers. Added a new operand type 'r' which accepts
2933 either register type. Added new cases for cas2l and cas2w which
2934 use them. Corrected masks for cas2 which failed to recognize use
2935 of address register.
2939 * m68k.h: Merged in patches (mostly m68040-specific) from
2942 * m68k.h: Merged m68kmri.h and m68k.h (using the former as a
2943 base). Also cleaned up duplicates, re-ordered instructions for
2944 the sake of dis-assembling (so aliases come after standard names).
2945 * m68kmri.h: Now just defines some macros, and #includes m68k.h.
2949 * m68kmri.h: added various opcodes. Moved jbxx to bxxes. Filled in
2954 * sparc.h: Moved tables to BFD library.
2956 * i386.h (i386_optab): Add fildq, fistpq aliases used by gcc.
2960 * h8300.h: Finish filling in all the holes in the opcode table,
2961 so that the Lucid C compiler can digest this as well...
2963 Fri Jun 26 21:27:17 1992 John Gilmore (gnu at cygnus.com)
2965 * i386.h: Add setc, setnc, addr16, data16, repz, repnz aliases.
2966 Fix opcodes on various sizes of fild/fist instructions
2967 (16bit=no suffix, 32bit="l" suffix, 64bit="ll" suffix).
2968 Use tabs to indent for comments. Fixes suggested by Minh Tran-Le.
2970 Thu Jun 25 16:13:26 1992 Stu Grossman (grossman at cygnus.com)
2972 * h8300.h: Fill in all the holes in the opcode table so that the
2973 losing HPUX C compiler can digest this...
2975 Thu Jun 11 12:15:25 1992 John Gilmore (gnu at cygnus.com)
2977 * mips.h: Fix decoding of coprocessor instructions, somewhat.
2982 * sparc.h: Add new architecture variant sparclite; add its scan
2983 and divscc opcodes. Define ARCHITECTURES_CONFLICT_P macro.
2987 * mips.h: Add some more opcode synonyms (from Frank Yellin,
2992 * rs6k.h: New version from IBM (Metin).
2996 * rs6k.h: Fix incorrect extended opcode for instructions `fm'
2999 Tue Apr 7 13:38:47 1992 Stu Grossman (grossman at cygnus.com)
3001 * rs6k.h: Move from ../../gdb/rs6k-opcode.h.
3005 * m68k.h (one, two): Cast macro args to unsigned to suppress
3006 complaints from compiler and lint about integer overflow during
3009 Sun Mar 29 12:22:08 1992 John Gilmore (gnu at cygnus.com)
3011 * sparc.h (OP): Avoid signed overflow when shifting to high order bit.
3013 Fri Mar 6 00:22:38 1992 John Gilmore (gnu at cygnus.com)
3015 * mips.h: Make bitfield layout depend on the HOST compiler,
3016 not on the TARGET system.
3020 * i386.h: added inb, inw, outb, outw opcodes, added att syntax for
3021 scmp, slod, smov, ssca, ssto. Curtesy Minh Tran-Le
3024 Thu Jan 30 07:31:44 1992 Steve Chamberlain (sac at rtl.cygnus.com)
3026 * h8300.h: turned op_type enum into #define list
3028 Thu Jan 30 01:07:24 1992 John Gilmore (gnu at cygnus.com)
3030 * sparc.h: Remove "cypress" architecture. Remove "fitox" and
3031 similar instructions -- they've been renamed to "fitoq", etc.
3032 REALLY fix tsubcctv. Fix "fcmpeq" and "fcmpq" which had wrong
3033 number of arguments.
3034 * h8300.h: Remove extra ; which produces compiler warning.
3036 Tue Jan 28 22:59:22 1992 Stu Grossman (grossman at cygnus.com)
3038 * sparc.h: fix opcode for tsubcctv.
3040 Tue Jan 7 17:19:39 1992 K. Richard Pixley (rich at cygnus.com)
3042 * sparc.h: fba and cba are now aliases for fb and cb respectively.
3044 Fri Dec 27 10:55:50 1991 Per Bothner (bothner at cygnus.com)
3046 * sparc.h (nop): Made the 'lose' field be even tighter,
3047 so only a standard 'nop' is disassembled as a nop.
3049 Sun Dec 22 12:18:18 1991 Michael Tiemann (tiemann at cygnus.com)
3051 * sparc.h (nop): Add RD_GO to `lose' so that only %g0 in dest is
3052 disassembled as a nop.
3054 Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com)
3056 * m68k.h, sparc.h: ANSIfy enums.
3058 Tue Dec 10 00:22:20 1991 K. Richard Pixley (rich at rtl.cygnus.com)
3060 * sparc.h: fix a typo.
3062 Sat Nov 30 20:40:51 1991 Steve Chamberlain (sac at rtl.cygnus.com)
3064 * a29k.h, arm.h, h8300.h, i386.h, i860.h, i960.h , m68k.h,
3065 m88k.h, mips.h , np1.h, ns32k.h, pn.h, pyr.h, sparc.h, tahoe.h,
3066 vax.h: Renamed from ../<foo>-opcode.h.
3070 version-control: never