3 * cgen-ibld.in: Include safe-ctype.h in preference to
5 * cgen-asm.in: Include safe-ctype.h in preference to
6 ctype.h. Fix formatting. Use ISSPACE instead of isspace and
7 TOLOWER instead of tolower.
8 (@arch@_cgen_build_insn_regex): Remove duplication of syntax
9 string elements in constructed regular expression.
10 * fr30-asm.c: Regenerate.
11 * fr30-desc.c: Regenerate.
12 * fr30-ibld.c: Regenerate.
13 * m32r-asm.c: Regenerate.
14 * m32r-desc.c: Regenerate.
15 * m32r-ibld.c: Regenerate.
16 * openrisc-asm.c: Regenerate.
17 * openrisc-desc.c: Regenerate.
18 * openrisc-ibld.c: Regenerate.
19 * po/opcodes.pot: Regenerate.
23 * ppc-opc.c (insert_de, extract_de, insert_des, extract_des): New
24 instruction field instruction/extraction functions for new BookE
26 (CT): New macro for CT field in an X form instruction.
27 (DE, DES, DEO, DE_MASK): New macros for DE/DES fields in DE form
29 (PPC64): Don't include PPC_OPCODE_PPC.
30 (403): New opcode macro for PPC403 processors.
31 (BOOKE): New opcode macro for BookE processors.
32 (bce, bcel, bcea, bcela, bclre, bclrel: New BookE instructions.
33 (bcctre, bcctrel, be, bel, bea, bela, icbt, icbte, lwzxe): Likewise.
34 (dcbste, lwzuxe, luxe, dcbfe, lbzxe, lwarxe, lbzuxe): Likewise.
35 (stwcxe, stwxe, stxe, stwuxe, stuxe, stbxe, dcbtste, stbuxe): Likewise.
36 (mfapidi, dcbte, lhzxe, lhzuxe, lhaxe, lhauxe, subfe64): Likewise.
37 (subfeo64, adde64, addeo64, sthxe, sthuxe, subfze64): Likewise.
38 (subfzeo64, addze64, addzeo64, dcbie, subfme64, subfmeo64): Likewise.
39 (addme64, addmeo64, stdcxe., mcrxr64, lwbrxe, lfsxe, lfsuxe): Likewise.
40 (lfdxe, lfduxe, stwbrxe, stfsxe, stfsuxe, stfdxe, dcbae): Likewise.
41 (stfduxe, tlbivax, tlbivaxe, lhbrxe, ldxe, lduxe, tlbsx): Likewise.
42 (tlbsxe, sthbrxe, stdxe, stduxe, icbie, stfiwxe, dcbze, lbze): Likewise.
43 (lbzue, ldue, lhze, lhzue, lhae, lhaue, lwze, lwzue): Likewise.
44 (stbe, stbue, sthe, sthue, stwe, stwue, lfse, lfsue, lfde): Likewise.
45 (lfdue, stde, stdue, stfse, stfsue, stfde, stfdue): Likewise.
47 * ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc): Look
48 for a disassembler option of `booke', `booke32' or `booke64' to enable
49 BookE support in the disassembler.
53 * cgen-dis.in (print_insn): Use min (cd->base_insn_bitsize, buflen*8)
54 for the length when extracting the base part of the insn.
58 * cgen-asm.in (*_cgen_build_insn_regex): Generate a case sensitive
59 regular expression. Fix some formatting problems.
60 * fr30-asm.c: Regenerate.
61 * openrisc-asm.c: Regenerate.
62 * m32r-asm.c: Regenerate.
66 * z8k-dis.c (unparse_instr): Fixed formatting. Change disassembly
67 of indirect register memory accesses to be same format the
72 * sh-opc.h: Fix encoding of least significant nibble of the
73 DSP single data transfer instructions.
75 * sh-dis.c (print_insn_shx): Fix decoding of As opcode in DSP
80 * cgen-asm.in: Fix compile time warning messages in generated
82 * cgen-dis.in: The same.
83 * cgen-ibld.in: The same.
84 * fr30-asm.c: Regenerate.
85 * fr30-desc.c: Regenerate.
86 * fr30-dis.c: Regenerate.
87 * fr30-ibld.c: Regenerate.
88 * fr30-opc.c: Regenerate.
89 * m32r-asm.c: Regenerate.
90 * m32r-desc.c: Regenerate.
91 * m32r-dis.c: Regenerate.
92 * m32r-ibld.c: Regenerate.
93 * m32r-opc.c: Regenerate.
94 * m32r-opinst.c Regenerate.
95 * openrisc-asm.c: Regenerate.
96 * openrisc-desc.c: Regenerate.
97 * openrisc-dis.c: Regenerate.
98 * openrisc-ibld.c: Regenerate.
99 * openrisc-opc.c: Regenerate.
100 * openrisc-opc.h: Regenerate.
101 * Makefile.in: Regenerate.
102 * po/POTFILES.in: Regenerate.
103 * po/opcodes.pot: Regenerate.
107 * arm-opc.h (arm_opcodes): Add cirrus insns.
109 * arm-dis.c (print_insn_arm): Add 'I' case.
113 * po/POTFILES.in: Regenerate.
114 * configure: Regenerate.
118 * Makefile.am (Makefile): Depend on bfd/configure.in.
120 * Makefile.in: Regenerate.
124 * cgen-ibld.in (insert_1): Switched bfd_get_bits and bfd_set_bits
125 calls to cgen_get_insn_value and cgen_put_insn_value calls.
126 (extract_1): Switched bfd_get_bits call to cgen_get_insn_value call.
130 * Makefile.am: Update dependencies with "make dep-am".
131 * Makefile.in: Regenerate.
135 * arc-dis.c: Formatting fixes.
136 (my_sprintf): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE.
140 * arc-dis.c: Don't include <ctype.h>.
141 * openrisc-desc.c: Likewise.
142 * openrisc-ibld.c: Likewise.
146 * fr30-opc.c: Fix compile time warning messages.
147 * i370-opc.c: Fix compile time warning messages.
148 * i960-dis.c: Fix compile time warning messages.
149 * m32r-asm.c: Fix compile time warning messages.
150 * m32r-desc.c: Fix compile time warning messages.
151 * m32r-dis.c: Fix compile time warning messages.
152 * m32r-ibld.c: Fix compile time warning messages.
153 * m32r-opc.c: Fix compile time warning messages.
154 * m32r-opinst.c: Fix compile time warning messages.
155 * ns32k-dis.c: Fix compile time warning messages.
156 * openrisc-asm.c: Fix compile time warning messages.
157 * openrisc-desc.c: Fix compile time warning messages.
158 * openrisc-dis.c: Fix compile time warning messages.
159 * openrisc-ibld.c: Fix compile time warning messages.
160 * openrisc-opc.c: Fix compile time warning messages.
161 * pdp11-dis.c: Fix compile time warning messages.
162 * tic54x-dis.c: Fix compile time warning messages.
163 * v850-opc.c: Fix compile time warning messages.
164 * vax-dis.c: Fix compile time warning messages.
165 * w65-opc.h: Fix compile time warning messages.
166 * z8k-opc.h: Fix compile time warning messages.
167 * z8kgen.c: Fix compile time warning messages.
171 * arm-dis.c: Fix compile time warning messages.
172 * cgen-asm.c: Fix compile time warning messages.
173 * cgen-dis.c: Fix compile time warning messages.
174 * cris-dis.c: Fix compile time warning messages.
175 * d10v-dis.c: Fix compile time warning messages.
176 * fr30-asm.c: Fix compile time warning messages.
177 * fr30-desc.c: Fix compile time warning messages.
178 * fr30-dis.c: Fix compile time warning messages.
179 * fr30-ibld.c: Fix compile time warning messages.
183 * cgen-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
184 (cgen_parse_keyword): Use ISALNUM instead of isalnum.
185 * cgen-opc.c: Include "safe-ctype.h" instead of <ctype.h>.
186 (cgen_keyword_lookup_name): Use ISALPHA/TOLOWER instead of
188 (cgen_keyword_add): Use ISALNUM instead of isalnum.
189 (hash_keyword_name): Use TOLOWER instead of tolower.
190 * fr30-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
191 (parse_insn_normal): Use TOLOWER/ISSPACE instead of
193 (fr30_cgen_assemble_insn): Use ISSPACE instead of isspace.
194 * fr30-desc.c: Don't include <ctype.h>.
195 * fr30-ibld.c: Likewise.
196 * ia64-gen.c: Include "safe-ctype.h" instead of <ctype.h>.
197 (load_insn_classes, parse_resource_users, load_depfile): Use
198 ISSPACE instead of isspace.
199 * m32r-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
200 (parse_insn_normal): Use TOLOWER/ISSPACE instead of
202 (m32r_cgen_assemble_insn): Use ISSPACE instead of isspace.
203 * m32r-desc.c: Don't include <ctype.h>.
204 * m32r-ibld.c: Likewise.
205 * openrisc-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
206 (parse_insn_normal): Use TOLOWER/ISSPACE instead of
208 (openrisc_cgen_assemble_insn): Use ISSPACE instead of isspace.
212 * Makefile.am: Add rules and dependencies to create the s/390 opcode
213 table out of s390-opc.txt automatically.
214 * configure.in: Add BFD_CC_FOR_BUILD to allow CC_FOR_BUILD to be used.
215 * s390-mkopc.c (dumpTable): Change output to create a complete file.
216 * s390-opc.c: New improved opcode format macros and remove the
217 pregenerated opcode table.
218 * s390-opc.txt: Adapt to new improved opcode format macros.
222 * ppc-opc.c (VXA, VXA_MASK): Fix mask bits.
226 * i386-dis.c (grps): Don't print the implicit al/ax/eax register
227 for opcode 0xf6 or 0xf7 forms of mul, imul, div, idiv insns.
232 * mips-dis.c: Add support for bfd_mach_mipsisa32 and
233 bfd_mach_mipsisa64. Remove bfd_mach_mips32, bfd_mach_mips32_4k,
238 * tic54x-opc.c: Add default initializers to avoid warnings.
240 * arc-opc.c: Include "sysdep.h" to get stdio.h as include file.
241 * arc-ext.c: Likewise.
245 * ppc-opc.c (icbt): Order correctly.
250 * ppc-opc.c (DS): Add PPC_OPERAND_DS flag.
252 (insert_ds): Complain if not a multiple of 4.
254 (XSYNC_MASK): Define.
255 (powerpc_opcodes): Add "slbmte", "lwsync", "ptesync", "slbmfev",
256 "slbmfee". Modify "sync" to use XSYNC_MASK and LS.
260 * h8500-opc.h: Add default initializers to h8500_table to shut up
265 * tic54x-dis.c: Add unused attributes where needed.
267 * z8k-dis.c (output_instr): Add unused attribute.
269 * h8300-dis.c: Add missing prototypes.
270 (bfd_h8_disassemble): Make static.
272 * cris-dis.c: Add missing prototype.
273 * h8500-dis.c: Likewise.
274 * m68hc11-dis.c: Likewise.
275 * pj-dis.c: Likewise.
276 * tic54x-dis.c: Likewise.
277 * v850-dis.c: Likewise.
278 * vax-dis.c: Likewise.
279 * w65-dis.c: Likewise.
280 * z8k-dis.c: Likewise.
282 * d10v-dis.c: Add missing prototype.
283 (dis_long): Remove unused variable.
284 (dis_2_short): Likewise.
286 * sh-dis.c: Add missing prototypes.
287 * v850-opc.c: Likewise.
288 Add unused attributes where needed.
290 * ns32k-dis.c: Add missing prototypes.
291 (bit_extract_simple): Remove unused variable.
295 * opcodes/s390-opc.c: Add "low or high" and "not low or high"
296 branch instructions for gcc 3.0.
297 * opcodes/s390-opc.txt: Likewise.
301 * i960-dis.c: Add parameters for prototypes
302 (ctrl): Add unused attributes.
306 * mips-dis.c: Add missing prototypes.
307 * a29k-dis.c: Likewise.
308 * arc-dis.c: Likewise.
309 * ia64-opc.c: Likewise.
311 * s390-dis.c: Add missing prototypes.
312 (init_disasm): Remove unused attribute since the parameter is
317 * mips-opc.c (M1): Define. Reformatted Code.
318 (mips_builtin_opcodes): Added performance counter opcodes mfpc, mfps,
323 * mips-opc.c: R3900s can support all branch likely INSN_MACROs where
324 the corresponding non-likely insn is in MIPS I.
328 * mcore-dis.c: Fix formatting.
329 * mips-dis.c: Likewise.
330 * pj-dis.c: Likewise.
331 * z8k-dis.c: Likewise.
335 * cgen-ibld.in (extract_normal): Match type of VALUE and MASK
336 to *VALUEP. Regenerate all cgen files.
340 * mips-dis.c (print_insn_mips): Remove OPCODE_IS_MEMBER's gp32
342 * mips-opc.c (G6): Undefine.
343 (mips_builtin_opcodes): Remove gp32 entry for "move". Add macro
344 as the first "move" alternative.
348 * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
350 * configure: Regenerate.
354 * ppc-opc.c: Revert 2001-08-08.
358 * dis-buf.c (generic_strcat_address): Add missing prototype.
359 #if 0 the functions as it is unused.
364 * ppc-opc.c: Include "bfd.h".
365 (powerpc_operands): Add new field for reloc type.
369 * mips-dis.c (print_insn_arg): Don't use software integer registers
370 for coprocessor registers.
371 (get_mips_isa): Removed.
372 (is_newabi): New function, checks if NewABI is used.
373 (_print_insn_mips): Get distinction between old ABI and new ABI right.
377 * z8kgen.c: Fixed indentation of opt[] array. Include stdio.h to
378 get stderr definition.
379 (internal, gas): Removed warnings.
380 (gas): Create a correct final entry for created array.
381 * z8k-opc.h: Recreated with new z8kgen.
385 * i386-dis.c: Fix formatting.
389 * i386-dis.c: Change formatting conventions for architecture
390 i386:intel to better match the format of various intel i386
391 assemblers, like nasm, tasm or masm.
395 * Makefile.am: Update dependencies with "make dep-am".
396 * Makefile.in: Regenerate
400 * alpha-dis.c: Fix formatting.
401 * cris-dis.c: Likewise.
402 * d10v-dis.c: Likewise.
403 * d30v-dis.c: Likewise.
404 * m10300-dis.c: Likewise.
405 * tic54x-dis.c: Likewise.
409 * m68k-dis.c: Fix formatting.
410 * pj-dis.c: Likewise.
411 * s390-dis.c: Likewise.
412 * z8k-dis.c: Likewise.
416 * mips-opc.c (mips_builtin_opcodes): Sort c.le.s and c.lt.s
417 into the rest of the surrounding definitions.
421 * i386-dis.c (grps): Print l or w suffix, and require mem modrm
422 for lgdt, lidt, sgdt, sidt.
426 * arm-dis.c (print_insn_arm): Use decimal for offsets in LDR/STR.
430 * cgen-asm.in: Include "xregex.h" always to enable the libiberty
432 (@arch@_cgen_build_insn_regex): New routine from Graydon.
433 (@arch@_cgen_assemble_insn): Add Graydon's code to use regex
434 to verify if it is worth parsing the insn as insn "x". Also update
435 error message when insn is not a recognized format of the insn vs
436 when the insn is completely unrecognized.
440 * cgen-dis.in (print_insn): Use cgen_get_insn_value instead of
442 * cgen-opc.c (cgen_get_insn_value, cgen_put_insn_value): Respect
443 non-zero CGEN_CPU_DESC->insn_chunk_bitsize.
447 * i386-dis.c (set_op): Handle 64 bit and 32 bit mode.
448 (OP_J): Use bfd_vma for mask to work properly with 64 bits.
449 (op_address,op_riprel): Use bfd_vma to handle 64 bits.
453 * Makefile.am (CPUDIR): Define.
454 (stamp-m32r): Update dependencies.
456 (stamp-openrisc): Ditto.
457 * Makefile.in: Regenerate.
461 * ppc-opc.c: Fix encoding of 'clf' instruction.
465 * cgen-ibld.in (insert_normal): Support CGEN_IFLD_SIGN_OPT.
469 * cgen-asm.c (cgen_parse_keyword): Allow any first character.
470 * cgen-opc.c (cgen_keyword_add): Ignore special first
471 character when building nonalpha_chars field.
475 * m88k-dis.c: Format to conform to GNU coding standards.
479 * disassemble.c (disassembler_usage): Add unused attribute.
483 * mips-opc.c: Move prefx to start of the table.
487 * arc-opc.c (insert_st_syntax): Fix over-optimisation of ST
492 * m68k-opc.c: Add wdebug instruction.
496 * m10300-opc.c (mn10300_opcodes): Change opcode for AM33 subc.
500 * cgen-asm.c (cgen_parse_keyword): When looking for the
501 boundaries of a keyword, allow any special characters
502 that are actually in one of the allowed keyword.
503 * cgen-opc.c (cgen_keyword_add): Add any special characters
504 to the nonalpha_chars field.
508 * s390-opc.c: Add lgh instruction.
509 * s390-opc.txt: Likewise.
513 * i386-dis.c: Group function prototypes in one place.
514 (FLOATCODE): Redefine as 1.
515 (USE_GROUPS): Redefine as 2.
516 (USE_PREFIX_USER_TABLE): Redefine as 3.
517 (X86_64_SPECIAL): Define as 4.
518 (GRP1b..GRPAMD): Move USE_GROUPS to bytecode1, index to bytecode2.
519 (PREGRP0..PREGRP26): Similarly with USE_PREFIX_USER_TABLE.
520 (dis386_att, dis386_intel, disx86_64_att, disx86_64_intel): Delete.
521 (dis386): New table combining above four tables.
522 (dis386_twobyte_att, dis386_twobyte_intel): Delete.
523 (dis386_twobyte): New table combining above two tables.
524 (x86_64_table): New table to handle x86_64.
526 (float_mem_att, float_mem_intel): Delet.
527 (float_mem): New table combining above two tables.
528 (print_insn_i386): Modify for above.
530 (putop): Handle '{', '|' and '}' to select alternative mnemonics.
531 Return 0 on success, 1 if no valid alternative.
532 (putop <case 'F'>, <case 'H'>): Print nothing for intel_syntax.
533 (putop <case 'T'>): Move to case 'U', and share case 'Q' code.
534 (putop <case 'I'>): Move to case 'T', and share case 'P' code.
535 (OP_REG <case rAX_reg .. rDI_reg>): Handle as for eAX_reg .. eDI_reg
537 (OP_I <case q_mode>): Handle as for v_mode if not 64-bit mode.
538 (OP_I64): If not 64-bit mode, call OP_I.
539 OP_OFF64): If not 64-bit mode, call OP_OFF.
540 (OP_ST, OP_STi, OP_SEG, OP_DIR, OP_OFF, OP_OFF64, OP_MMX): Rename
541 'ignore'/'ignored' to 'bytemode'.
545 * configure.in: Sort 'ta' case statement.
546 * configure: Regenerate.
548 * i386-dis.c (dis386_att): Add 'H' to conditional branch and
550 (disx86_64_att): Likewise.
551 (dis386_twobyte_att): Likewise.
552 (print_insn_i386): Don't print branch hints as a prefix.
553 (putop): 'H' macro prints branch hints.
554 (get64): Kill compile warnings.
558 * sh-opc.h (sh_table): Don't use empty initializers.
562 * z8k-dis.c: Fix formatting.
563 (unpack_instr): Remove unused cases in switch statement. Add
564 safety abort() in default case.
565 (unparse_instr): Add safety abort() in default case.
569 * m68k-dis.c (print_insn_m68k): Fix typo.
570 * m68k-opc.c (m68k_opcodes): Correct allowed operands for
571 mcf (ColdFire) div, rem and moveb instructions.
575 * i386-dis.c (cond_jump_flag, loop_jcxz_flag): Define.
576 (cond_jump_mode, loop_jcxz_mode): Define.
577 (dis386_att): Add cond_jump_flag and loop_jcxz_flag as
578 appropriate, and 'F' suffix to loop insns.
579 (disx86_64_att): Likewise.
580 (dis386_twobyte_att): Likewise.
581 (print_insn_i386): Don't output addr prefix for loop, jcxz insns.
582 Output data size prefix for long conditional jumps. Output cs and
584 (putop): Handle 'F', and mark PREFIX_ADDR used for case 'E'.
585 (OP_J): Don't make PREFIX_DATA used.
589 * sh-opc.h (sh_table): Complete last element entry to avoid
594 * mips-dis.c (mips_isa_type): Add MIPS r12k support.
598 * arc-opc.c: Whitespace changes.
602 * cris-opc.c (cris_spec_regs): Add missing initializer field for
607 * cgen-dis.in (extract_normal): Complete support for min<base case.
611 * mips-dis.c (INSNLEN): Rename MAXLEN.
612 (std_reg_names): Replace by mips32_reg_names and mips64_reg_names.
613 (print_insn_arg): Remove $ prefix of register names.
614 (set_mips_isa_type): Remove.
615 (mips_isa_type): New function.
616 (get_mips_isa): New Function.
617 (print_insn_mips): Rename _print_insn_mips.
618 (_print_insn_mips): New function, contains code which was
619 duplicated in print_insn_big_mips and print_insn_little_mips.
620 (print_insn_big_mips): Moved code to _print_insn_mips.
621 (print_insn_little_mips): Likewise.
622 (print_mips16_insn_arg): Remove $ prefix of register names.
623 Print error message before abort.
627 * ppc-opc.c (powerpc_opcodes): Fixed extended opcode field of
628 simplified mnemonics used for setting PPC750-specific special
633 * i386-dis.c (print_insn_i386): Always set `mod', `reg' and
638 * arc-opc.c (arc_reg_names): Correct attribute for lp_count
639 register to r/w. Formatting fixes throughout file.
643 * i386-dis.c (prefix_user_table): Correct movq2dq, movdq2q, and
645 (twobyte_has_modrm): Update table.
646 (need_modrm): Give it file scope.
647 (MODRM_CHECK): Define.
648 (dofloat): Use MODRM_CHECK.
655 * cgen-dis.in (default_print_insn): Tolerate min<base instructions
656 even at end of a section.
657 * cgen-ibld.in (extract_normal): Tolerate min!=base!=max instructions
658 by ignoring precariously-unpacked insn_value in favor of raw buffer.
662 * disassemble.c (disassembler_usage): Remove unused attribute.
666 * m32r-dis.c, -asm.c, -ibld.c: Regenerated with disassembler fixes.
670 * cgen-dis.in (print_insn): Remove call to read_insn. Instead,
671 assume incoming buffer already has the base insn loaded. Handle
672 smaller-than-base instructions for variable-length case.
676 * i386-dis.c (Ev, Ed): Remove duplicate define.
679 (OP_XS): New function.
680 (dis386_twobyte_att): Correct pinsrw, pextrw, pmovmskb, and
682 (dis386_twobyte_intel): Likewise.
683 (prefix_user_table): Use MS for maskmovq operand.
687 * Makefile.am: Add OpenRISC target.
688 * Makefile.in: Regenerated.
690 * disassemble.c (disassembler): Recognize the OpenRISC disassembly.
692 * configure.in (bfd_openrisc_arch): Add target.
693 * configure: Regenerated.
695 * openrisc-asm.c: New file.
696 * openrisc-desc.c: Likewise.
697 * openrisc-desc.h: Likewise.
698 * openrisc-dis.c: Likewise.
699 * openrisc-ibld.c: Likewise.
700 * openrisc-opc.c: Likewise.
701 * openrisc-opc.h: Likewise.
705 * z8k-dis.c: add names of control registers (ctrl_names);
706 (seg_length): provides instruction length fixup for segmented
707 mode; (unpack_instr): correctly handle ARG_DISP16, ARG_DISP12,
708 CLASS_0DISP7, CLASS_1DISP7, CLASS_DISP8 and CLASS_PR cases;
709 (unparse_intr): handle CLASS_PR, print addresses without '#'
710 * z8k-opc.h: re-created with new z8kgen
711 * z8kgen.c: merged in fixes which were in existing z8k-opc.h; new
712 entries for ldctl/ldctlb instruction
716 * i386-dis.c: Add ffreep instruction.
720 * ppc-opc.c (insert_mbe): Shift mask initializer as long.
724 * i386-dis.c (PREGRP25): Define.
725 (dis386_twobyte_att): Use here in place of "movntq" entry.
726 (dis386_twobyte_intel): Likewise.
727 (prefix_user_table): Add PREGRP25 entry for "movntq" and "movntdq".
729 (dis386_twobyte_att): Use here.
730 (dis386_twobyte_intel): Likewise.
731 (prefix_user_table): Add PREGRP26 entry for "punpcklqdq".
732 (prefix_user_table <maskmovdqu>): XM operand, not MX.
733 (prefix_user_table): Cosmetic changes to "bad" entries.
737 * mips-opc.c: Remove extraneous whitespace.
738 * mips-dis.c: Remove extraneous whitespace.
742 * cgen-asm.in (@arch@_cgen_assemble_insn): Move tmp_errmsg
743 declaration inside CGEN_VERBOSE_ASSEMBLER_ERRORS conditional.
744 * cgen-ibld.in (put_insn_int_value): Mark cd parameter as unused
745 to allay a compiler warning.
749 * i386-dis.c (dis386_twobyte_att): Add entries for paddq, psubq.
750 (dis386_twobyte_intel): Likewise.
751 (twobyte_has_modrm): Set entry for paddq, psubq.
755 * cgen-dis.in (print_insn_@arch@): Add support for target machine
756 determination via CGEN_COMPUTE_MACH.
757 * fr30-desc.c: Regenerate.
758 * fr30-dis.c: Regenerate.
759 * fr30-opc.h: Regenerate.
760 * m32r-desc.c: Regenerate.
761 * m32r-dis.c: Regenerate.
762 * m32r-opc.h: Regenerate.
763 * m32r-opinst.c: Regenerate.
767 * configure.in: Remove the redundent AC_ARG_PROGRAM.
768 * configure: Rebuild.
772 * ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and
773 notestr if larger than xsect.
774 (in_class): Handle format M5.
775 * ia64-asmtab.c: Regnerate.
779 * vax-dis.c (print_insn_vax): Only fetch two bytes if the info buffer
780 has more than one byte left to read.
784 * s390-opc.c: Add new opcodes. Smooth out formatting.
785 * s390-opc.txt: Add new opcodes.
789 * arm-dis.c (print_insn_thumb): Compute destination address
790 of BLX(1) instruction by taking bit 1 from PC and not from bit
795 * m68k-dis.c (print_insn_m68k): Recognize Coldfire CPUs
796 so command line switches will work.
800 * fr30-asm.c: Regenerate.
801 * fr30-desc.c: Regenerate.
802 * fr30-desc.h: Regenerate.
803 * fr30-dis.c: Regenerate.
804 * fr30-ibld.c: Regenerate.
805 * fr30-opc.c: Regenerate.
806 * fr30-opc.h: Regenerate.
807 * m32r-asm.c: Regenerate.
808 * m32r-desc.c: Regenerate.
809 * m32r-desc.h: Regenerate.
810 * m32r-dis.c: Regenerate.
811 * m32r-ibld.c: Regenerate.
812 * m32r-opc.c: Regenerate.
813 * m32r-opc.h: Regenerate.
814 * m32r-opinst.c: Regenerate.
818 * m68k-opc.c: fix cpushl according to Motorola. Enable
819 bunch of instructions for Coldfire 5407 and add all new.
823 * configure.in (BFD_VERSION): Do without grep.
824 * configure: Regenerate.
825 * Makefile.am: Run "make dep-am".
826 * Makefile.in: Regenerate.
830 * ia64-opc-a.c: Add missing pseudo-ops for "cmp" and "cmp4".
831 * ia64-asmtab.c: Regenerate.
835 * ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two
836 separate variants: one for IMM22 and the other for IMM14.
837 * ia64-asmtab.c: Regenerate.
841 * cgen-opc.c (cgen_get_insn_value): Add missing `return'.
845 * Makefile.am (ia64-ic.tbl): Remove the target.
846 (ia64-raw.tbl): Likewise.
847 (ia64-waw.tbl): Likewise.
848 (ia64-war.tbl): Likewise.
849 (ia64-asmtab.c): Generate it in the source directory.
850 * Makefile.in: Regenerated.
854 * Makefile.am: Add PDP-11 target.
855 * configure.in: Likewise.
856 * disassemble.c: Likewise.
857 * pdp11-dis.c: New file.
858 * pdp11-opc.c: New file.
862 * ia64-ic.tbl: Update from Intel. Add setf to fr-writers.
863 * ia64-asmtab.c: Regenerate.
867 * i386-dis.c (prefix_user_t): Add 'Y' to SSE ineger converison
873 * mips-dis.c (print_insn_arg): Use top four bits of the address of
874 the following instruction not of the jump itself for the jump
876 (print_mips16_insn_arg): Likewise.
880 * Makefile.am (stamp-lib): ranlib the libopcodes.a in the build
882 * Makefile.in: Regenerate.
886 * Makefile.am: Add linux target for S/390.
887 * Makefile.in: Likewise.
888 * configure.in: Likewise.
889 * disassemble.c: Likewise.
890 * s390-dis.c: New file.
891 * s390-mkopc.c: New file.
892 * s390-opc.c: New file.
893 * s390-opc.txt: New file.
897 * ia64-asmtab.c: Revert 2000-12-16 change.
901 * fr30-desc.h: Regenerate with CGEN_MAX_SYNTAX_ELEMENTS.
902 * m32r-desc.h: Regenerate.
906 * i386-dis.c (dis386_att, grps): Use 'T' for push/pop
907 (putop): Handle 'T', alphabetize order, fix 'I' handling in Intel syntax
911 * hppa-dis.c (print_insn_hppa): Handle '>' and '<' arg types.
915 * disassemble.c: Remove spurious white space.
919 * i386-dis.c (dis386_att, disx86_64_att): Fix ret, lret and iret
924 * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
925 * Makefile.am (C_FILES): Add arc-ext.c.
926 (ALL_MACHINES) Add arc-ext.lo.
927 (INCLUDES) Add opcode directory to list.
928 New dependency entry for arc-ext.lo.
929 * disassemble.c (disassembler): Correct call to
930 arc_get_disassembler.
931 * arc-opc.c: New update for ARC, including full base
932 instructions for ARC variants.
933 * arc-dis.h, arc-dis.c: New update for ARC, including
934 extensibility functionality.
935 * arc-ext.h, arc-ext.c: New files for handling extensibility.
939 * i386-dis.c (PREGRP15 - PREGRP24): New.
940 (dis386_twobyt): Add SSE2 instructions.
941 (twobyte_uses_SSE_prefix: Rename from ... ; add new SSE instructions.
942 (twobyte_uses_f3_prefix): ... this one.
943 (grps): Add SSE instructions.
944 (prefix_user_table): Add two new slots; add SSE2 instructions.
945 (print_insn_i386): Rename uses_f3_prefix to uses_SSE_prefix;
946 Handle the REPNZ and Data16 prefixes as well; do proper lookup
947 to prefix_user_table.
948 (OP_E): Accept mfence and lfence as well.
949 (OP_MMX): Data16 prefix turns MMX to SSE; support REX extensions.
950 (OP_XMM): Support REX extensions.
956 * arm-dis.c (print_insn): Set pc to zero for instructions with
957 a reloc associated with them.
961 * cgen-asm.in (parse_insn_normal): Changed syn to be
962 CGEN_SYNTAX_CHAR_TYPE. Changed all references to *syn
963 as character to use CGEN_SYNTAX_CHAR macro and all comparisons
964 to '\0' to use 0 instead.
965 * cgen-dis.in (print_insn_normal): Ditto.
966 * cgen-ibld.in (insert_insn_normal, extract_insn_normal): Ditto.
970 * i386-dis.c: Add x86_64 support.
971 (rex): New static variable.
972 (REX_MODE64, REX_EXTX, REX_EXTY, REX_EXTZ): New constants.
973 (USED_REX): New macro.
974 (Ev, Ed, Rm, Iq, Iv64, Cm, Dm, Rm*, Ob64, Ov64): New macros.
975 (OP_I64, OP_OFF64, OP_IMREG): New functions.
976 (OP_REG, OP_OFF): Declare.
977 (get64, get32, get32s): New functions.
978 (r??_reg): New constants.
979 (dis386_att): Change templates of instruction implicitly promoted
980 to 64bit; change e?? to RMe?? for unwind RM byte instructions.
982 (dis386_intel): Likewise.
983 (dixx86_64_att): New table based on dis386_att.
984 (dixx86_64_intel): New table based on dis386_intel.
985 (names64, names8rex): New global variable.
986 (names32, names16): Add extended registers.
987 (prefix_user_t): Recognize rex prefixes.
988 (prefix_name): Print REX prefixes nicely.
989 (op_riprel): New global variable.
990 (start_pc): Set type to bfd_vma.
991 (print_insn_i386): Detect the 64bit mode and use proper table;
992 move ckprefix after initializing the buffer; output unused rex prefixes;
993 output information about target of RIP relative addresses.
994 (putop): Support 'O' and 'I'. Update handling of "P', 'Q', 'R' and 'S';
995 (print_operand_value): New function.
996 (OP_E, OP_G, OP_REG, OP_I, OP_J, OP_DIR, OP_OFF, OP_D): Add support for
997 REX prefix and new modes.
998 (get64, get32s): New.
999 (get32): Return bfd_signed_vma type.
1000 (set_op): Initialize the op_riprel.
1001 * disassemble.c (disassembler): Recognize the x86-64 disassembly.
1005 cgen-dis.in (read_insn): Use bfd_get_bits()
1009 * cgen-dis.c (hash_insn_array): Use bfd_put_bits().
1010 (hash_insn_list): Likewise
1011 * cgen-ibld.in (insert_1): Use bfd_put_bits() and bfd_get_bits().
1012 (extract_1): Use bfd_get_bits().
1013 (extract_normal): Apply sign extension to both extraction
1015 * cgen-opc.c (cgen_get_insn_value): Use bfd_get_bits()
1016 (cgen_put_insn_value): Use bfd_put_bits()
1020 * cgen-asm.in (parse_insn_normal): Print better error message for
1021 instructions with missing operands.
1025 * cgen-opc.c: Include alloca.h if HAVE_ALLOCA_H is defined.
1029 * Makefile.in: Regenerate.
1030 * aclocal.m4: Regenerate.
1031 * config.in: Regenerate.
1032 * configure.in: Add spacing.
1033 * configure: Regenerate.
1034 * ia64-asmtab.c: Regenerate.
1035 * po/opcodes.pot: Regenerate.
1039 * cgen-asm.in (@arch@_cgen_assemble_insn): Prefer printing insert-time
1040 error messages over later parse-time ones.
1044 * ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode
1046 * ia64-gen.c (insert_deplist): Cast sizeof result to int.
1047 (print_dependency_table): Print NULL if semantics field not set.
1048 (insert_opcode_dependencies): Mark cmp parameter as unused.
1049 (print_main_table): Use fprintf_vma to print long long fields.
1050 (main): Mark argv paramter as unused. Convert to old style definition.
1051 * ia64-opc.c (ia64_find_dependency): Cast sizeof result to int.
1052 * ia64-asmtab.c: Regnerate.
1056 * m32r-dis.c (print_insn): Prevent re-read of instruction from
1059 * fr30-dis.c: Regenerate.
1063 * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
1064 * Makefile.am (C_FILES): Add arc-ext.c.
1065 (ALL_MACHINES) Add arc-ext.lo.
1066 (INCLUDES) Add opcode directory to list.
1067 New dependency entry for arc-ext.lo.
1068 * disassemble.c (disassembler): Correct call to
1069 arc_get_disassembler.
1070 * arc-opc.c: New update for ARC, including full base
1071 instructions for ARC variants.
1072 * arc-dis.h, arc-dis.c: New update for ARC, including
1073 extensibility functionality.
1074 * arc-ext.h, arc-ext.c: New files for handling extensibility.
1078 * mips-opc.c (mips_builtin_opcodes): Use the WR_HILO, RD_HILO,
1079 MOD_HILO, and MOD_LO macros.
1081 * mips-opc.c (M1, M2): Delete.
1082 (mips_builtin_opcodes): Remove all uses of M1.
1084 * mips-opc.c (mips_builtin_opcodes): Make the dmfc2 and dmtc2
1085 instructions take "G" format second operands and use the
1087 There are mfc3 and mtc3 opcodes, so add dmfc3 and dmtc3 opcodes to
1089 Delete "sel" code operands from mfc1 and mtc1.
1090 Add MIPS64 opcode changes (dclo, dclz), and "sel" code variants
1096 * mips-opc.c (mips_builtin_opcodes): Finish additions
1097 for MIPS32 support, and clean up existing entries for
1098 aesthetics, consistency with the MIPS32 ISA, and
1099 with consistency the rest of the table.
1103 * mips16-opc.c (mips16_opcodes): Add initialiser for membership
1108 mips-dis.c (print_insn_arg): Handle new 'U' and 'J' argument
1109 specifiers. Update 'B' for new constant names, and remove
1111 mips-opc.c (mips_builtin_opcodes): Place "pref" and "ssnop"
1112 near the top of the array, so they are disassembled properly.
1113 Enable "ssnop" for MIPS32. Add "break" variant with 20 bit
1114 code for MIPS32. Update "clo" and "clz" to use 'U' operand
1115 specifier. Add 'H' format specifier variants for "mfc1,"
1116 "mfc2," "mfc3," "mtc1," "mtc2," and "mtc3" for MIPS32. Update
1117 MIPS32 "sdbbp" to use 'B' operand specifier. Add MIPS32
1118 "wait" variant which uses 'J' operand specifier.
1120 * mips-dis.c (set_mips_isa_type): Update to use
1121 CPU_UNKNOWN and ISA_* constants. Add bfd_mach_mips32 case.
1122 Replace bfd_mach_mips4K with bfd_mach_mips32_4k case.
1123 * mips-opc.c (I32): New constant for instructions added in
1126 (mips_builtin_opcodes) Replace all uses of P4 with I32.
1128 * mips-dis.c (set_mips_isa_type): Add cases for
1129 bfd_mach_mips5 and bfd_mach_mips64.
1130 * mips-opc.c (I64): New definitions.
1132 * mips-dis.c (set_mips_isa_type): Add case for
1137 * sh-dis.c (print_insn_ddt): Make insn_x, insn_y unsigned.
1138 (print_insn_ppi): Make nib1, nib2, nib3 unsigned.
1139 Initialize variable dc to NULL.
1140 (print_insn_shx): Remove unused label d_reg_n.
1144 * arm-opc.h: Add new opcode formatting parameter 'B'.
1145 (arm_opcodes): Add XScale, v5, and v5te instructions.
1146 (thumb_opcodes): Add v5t instructions.
1148 * arm-dis.c (print_insn_arm): Handle new 'B' format
1150 (print_insn_thumb): Decode BLX(1) instruction.
1154 * mips-opc.c: Fix file header comment.
1158 * cris-dis.c (cris_get_disassembler): If abfd is NULL, return
1159 print_insn_cris_with_register_prefix.
1163 * sh-opc.h: The operand of `mov.w r0, (<disp>,GBR)' is IMM1, not 0.
1167 * cgen-dis.in (print_insn): All insns which can fit into insn_value
1168 must be loaded there in their entirety.
1172 * sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
1173 (compute_arch_mask): Add v8plusb and v9b machines.
1174 (print_insn_sparc): siam mode decoding, accept ASRs up to 25.
1175 * sparc-opc.c: Support for Cheetah instruction set.
1176 (prefetch_table): Add #invalidate.
1180 * mcore-dis.c (imsk): Change mask for OC to 0xFE00.
1184 * fr30-desc.h: Regenerate.
1185 * m32r-desc.h: Regenerate.
1186 * m32r-ibld.c: Regenerate.
1190 * ia64-ic.tbl: Update from Intel.
1191 * ia64-asmtab.c: Regenerate.
1195 * ia64-gen.c: Convert C++-style comments to C-style comments.
1196 * tic54x-dis.c: Likewise.
1200 Changes to add dollar prefix to registers for files where user symbols
1201 don't have a leading underscore. Fix formatting.
1202 * cris-dis.c (REGISTER_PREFIX_CHAR): New.
1203 (format_reg): Add parameter with_reg_prefix. All callers changed.
1204 (print_with_operands): Ditto.
1205 (print_insn_cris_generic): Renamed from print_insn_cris, add
1206 parameter with_reg_prefix.
1207 (print_insn_cris_with_register_prefix,
1208 print_insn_cris_without_register_prefix, cris_get_disassembler):
1210 * disassemble.c (disassembler) [ARCH_cris]: Call cris_get_disassembler.
1214 * ia64-opc-f.c (ia64_opcodes_f): Add fpcmp pseudo-ops for
1215 gt, ge, ngt, and nge.
1216 * ia64-asmtab.c: Regenerate.
1218 * ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
1219 * ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
1220 (lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
1221 * ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
1222 * ia64-asmtab.c: Regnerate.
1226 * mips-opc.c (mips_builtin_opcodes): Support cache instruction on 4K cores.
1227 Add mfc0 and mtc0 with sub-selection values.
1228 Add clo and clz opcodes.
1229 Add msub and msubu instructions for MIPS32.
1230 Add madd/maddu aliases for mad/madu for MIPS32.
1231 Support wait, deret, eret, movn, pref for MIPS32.
1232 Support tlbp, tlbr, tlbwi, tlbwr.
1235 * mips-dis.c (print_insn_arg): Print sdbbp 'm' args.
1236 (print_insn_arg): Handle 'H' args.
1237 (set_mips_isa_type): Recognize 4K.
1238 Use CPU_* defines instead of hardcoded numbers.
1242 * d30v-opc.c (d30v_operand_t): New operand type Rb2.
1243 (d30v_format_tab): Use Rb2 for modinc and moddec.
1247 * d30v-opc.c (d30v_format_tab): Use format Ra for
1252 * configure: Rebuilt with new libtool.m4.
1256 * configure: Regenerate.
1257 * po/opcodes.pot: Regenerate.
1261 * acinclude.m4: Include libtool and gettext macros from the
1263 * aclocal.m4, configure: Rebuilt.
1267 * tic80-dis.c: Fix formatting.
1271 * w65-dis.c: Fix formatting.
1275 * ppc-opc.c: Add XTLB macro for a few PPC 4xx extended mnemonics.
1276 (powerpc_opcodes): Add table entries for PPC 405 instructions.
1277 Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403
1278 instructions. Added extended mnemonic mftbl as defined in the
1279 405GP manual for all PPCs.
1283 * ia64-dis.c (print_insn_ia64): Add failed label after ia64_free_opcode
1284 call. Change last goto to use failed instead of done.
1288 * cgen-ibld.in (cgen_put_insn_int_value): New function.
1289 (insert_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
1290 (insert_insn_normal): Use cgen_put_insn_int_value with CGEN_INT_INSN_P.
1291 (extract_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
1292 * cgen-dis.in (read_insn): New static function.
1293 (print_insn): Use read_insn to read the insn into the buffer and set
1295 (print_insn): in CGEN_INT_INSN_P, make sure that the entire insn is
1297 * fr30-asm.c: Regenerated.
1298 * fr30-desc.c: Regenerated.
1299 * fr30-desc.h: Regenerated.
1300 * fr30-dis.c: Regenerated.
1301 * fr30-ibld.c: Regenerated.
1302 * fr30-opc.c: Regenerated.
1303 * fr30-opc.h: Regenerated.
1304 * m32r-asm.c: Regenerated.
1305 * m32r-desc.c: Regenerated.
1306 * m32r-desc.h: Regenerated.
1307 * m32r-dis.c: Regenerated.
1308 * m32r-ibld.c: Regenerated.
1309 * m32r-opc.c: Regenerated.
1313 * tic30-dis.c: Fix formatting.
1317 * sh-dis.c: Fix formatting.
1321 * ppc-opc.c (powerpc_opcodes): Add rfid, mtsrd, mtsrdin, mtmsrd.
1325 * z8k-dis.c: Fix formatting.
1329 * ia64-ic.tbl (pr-readers-nobr-nomovpr): Add addl, adds. Delete
1330 break, mov-immediate, nop.
1331 * ia64-opc-f.c: Delete fpsub instructions.
1332 * ia64-opc-m.c: Add POSTINC to all instructions with postincrement
1333 address operand. Rewrite using macros to avoid long lines.
1334 * ia64-opc.h (POSTINC): Define.
1335 * ia64-asmtab.c: Regenerate.
1339 * ia64-ic.tbl: Add missing entries.
1343 * i860-dis.c (print_br_address): Change third argument from int
1348 * ia64-dis.c (print_insn_ia64): Get byte skip count correct
1349 for MLI templates. Handle IA64_OPND_TGT64.
1353 * cgen-dis.in, cgen-asm.in, cgen-ibld.in: New files.
1354 * cgen.sh: Likewise.
1358 * ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end.
1362 * avr-dis.c (avr_operand): Use PARAMS macro in declaration.
1363 Change return type from void to int. Check the combination
1364 of operands, return 1 if valid. Fix to avoid BUF overflow.
1365 Report undefined combinations of operands in COMMENT.
1366 Report internal errors to stderr. Output the adiw/sbiw
1367 constant operand in both decimal and hex.
1368 (print_insn_avr): Disassemble ldd/std with displacement of 0
1369 as ld/st. Check avr_operand () return value, handle invalid
1370 combinations of operands like unknown opcodes.
1374 * Makefile.am (CGEN, CGENDEPS, CGENDIR, CGENFLAGS): New.
1375 (run-cgen, stamp-m32r, stamp-fr30): New targets.
1376 * Makefile.in: Regenerate.
1377 * configure.in: Add --enable-cgen-maint option.
1378 * configure: Regenerate.
1382 * cgen-opc.c (cgen_hw_lookup_by_name): 'i' is now unsigned.
1383 (cgen_hw_lookup_by_num): Ditto.
1384 (cgen_operand_lookup_by_name): Ditto.
1385 (print_address): Ditto.
1386 (print_keyword): Ditto.
1387 * cgen-dis.c (hash_insn_array): Mark unused parameters with
1389 * cgen-asm.c (hash_insn_array): Mark unused parameters with
1391 (cgen_parse_keyword): Ditto.
1395 * i860-dis.c: New file.
1396 (print_insn_i860): New function.
1397 (print_br_address): New function.
1398 (sign_extend): New function.
1399 (BITWISE_OP): New macro.
1400 (I860_REG_PREFIX): New macro.
1401 (grnames, frnames, crnames): New structures.
1403 * disassemble.c (ARCH_i860): Define.
1404 (disassembler): Add check for bfd_arch_i860 to set disassemble
1405 function to print_insn_i860.
1407 * Makefile.in (CFILES): Added i860-dis.c.
1408 (ALL_MACHINES): Added i860-dis.lo.
1409 (i860-dis.lo): New dependences.
1411 * configure.in: New bits for bfd_i860_arch.
1413 * configure: Regenerated.
1417 * Makefile.am (CFILES): Add cris-dis.c and cris-opc.c.
1418 (ALL_MACHINES): Add cris-dis.lo and cris-opc.lo.
1419 (cris-dis.lo, cris-opc.lo): New rules.
1420 * Makefile.in: Rebuild.
1421 * configure.in (bfd_cris_arch): New target.
1422 * configure: Rebuild.
1423 * disassemble.c (ARCH_cris): Define.
1424 (disassembler): Support ARCH_cris.
1425 * cris-dis.c, cris-opc.c: New files.
1426 * po/POTFILES.in, po/opcodes.pot: Regenerate.
1430 * sparc-opc.c (sparc_opcodes): popc has 0 in rs1, not rs2.
1435 * ppc-opc.c (powerpc_opcodes): Correct suffix for vslw.
1440 * hppa-dis.c (fput_reg, fput_fp_reg, fput_fp_reg_r, fput_creg,
1441 fput_const, extract_3, extract_5_load, extract_5_store,
1442 extract_5r_store, extract_5R_store, extract_10U_store,
1443 extract_5Q_store, extract_11, extract_14, extract_16, extract_21,
1444 extract_12, extract_17, extract_22): Prototype.
1445 (print_insn_hppa): Rename inner block opcode -> opc to avoid
1446 shadowing outer block.
1455 * arm-dis.c (print_insn_arm): Output combinations of PSR flags.
1459 * avr-dis.c (avr_operand): Change _ () to _() around all strings
1460 marked for translation (exception from the usual coding style).
1461 (print_insn_avr): Initialize insn2 to avoid warnings.
1465 * h8300-dis.c (bfd_h8_disassemble): Improve readability.
1466 * h8500-dis.c: Fix formatting.
1470 * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed
1471 (CLEANFILES): Add DEPA.
1472 * Makefile.in: Regenerate.
1476 * arm-dis.c (regnames): Add an additional register set to match
1477 the set used by GCC. Make it the default.
1481 * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
1483 * Makefile.in: Regenerate.
1487 * Makefile.am: Rebuild dependency.
1488 * Makefile.in: Rebuild.
1492 * Makefile.in, configure: regenerate
1493 * disassemble.c (disassembler): Recognize ARCH_m68hc12,
1495 * m68hc11-dis.c (read_memory, print_insn, print_insn_m68hc12):
1497 * configure.in: Recognize m68hc12 and m68hc11.
1498 * m68hc11-dis.c, m68hc11-opc.c: New files for support of m68hc1x
1499 * Makefile.am (CFILES, ALL_MACHINES): New files for disassembly
1500 and opcode generation for m68hc11 and m68hc12.
1504 * disassemble.c (disassembler): Refer to the PowerPC 620 using
1505 bfd_mach_ppc_620 instead of 620.
1509 * h8300-dis.c: Fix formatting.
1510 (bfd_h8_disassemble): Distinguish adds/subs, inc/dec.[wl]
1515 * avr-dis.c (avr_operand): Bugfix for jmp/call address.
1519 * avr-dis.c: completely rewritten.
1523 * h8300-dis.c: Follow the GNU coding style.
1524 (bfd_h8_disassemble) Fix a typo.
1528 * h8300-dis.c (bfd_h8_disassemble_init): Fix a typo.
1529 (bfd_h8_disassemble): Distinguish the operand size of inc/dev.[wl]
1530 correctly. Fix a typo.
1534 * opintl.h (_(String)): Explain why dgettext is used instead of
1539 * opintl.h (gettext, dgettext, dcgettext, textdomain,
1540 bindtextdomain): Replace defines with those from intl/libgettext.h
1541 to quieten gcc warnings.
1545 * Makefile.am: Update dependencies with "make dep-am"
1546 * Makefile.in: Regenerate.
1550 * m10300-dis.c (disassemble): Don't assume 32-bit longs when
1551 sign-extending operands.
1555 * d10v-opc.c (d10v_opcodes): add ALONE tag to all short branches
1560 * Makefile.am (LIBIBERTY): Define.
1564 * mips-dis.c (REGISTER_NAMES): Rename to STD_REGISTER_NAMES.
1565 (STD_REGISTER_NAMES): New name for REGISTER_NAMES.
1566 (reg_names): Rename to std_reg_names. Change it to a char **
1568 (std_reg_names): New name for reg_names.
1569 (set_mips_isa_type): Set reg_names to point to std_reg_names by
1574 * fr30-desc.h: Partially regenerated to account for changed
1575 CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros.
1576 * m32r-desc.h: Ditto.
1580 * arm-opc.h: Use upper case for flasg in MSR and MRS
1581 instructions. Allow any bit to be set in the field_mask of
1582 the MSR instruction.
1584 * arm-dis.c (print_insn_arm): Decode _x and _s bits of the
1585 field_mask of an MSR instruction.
1589 * arm-opc.h: Disassembly of thumb ldsb/ldsh
1590 instructions changed to ldrsb/ldrsh.
1594 * mips-dis.c (print_insn_arg): Don't mask top 32 bits of 64-bit
1595 target addresses for 'jal' and 'j'.
1599 * ppc-opc.c (powerpc_opcodes): Make the predicted-branch opcodes
1600 also available in common mode when powerpc syntax is being used.
1604 * m68k-dis.c (dummy_printer): Add ATTRIBUTE_UNUSED to args.
1605 (dummy_print_address): Ditto.
1609 * tic54x-opc.c: New.
1610 * tic54x-dis.c: New.
1611 * disassemble.c (disassembler): Add ARCH_tic54x.
1612 * configure.in: Added tic54x target.
1614 * Makefile.am: Add tic54x dependencies.
1615 * Makefile.in: Ditto.
1619 * ppc-opc.c (VA, VB, VC, VD, VS, SIMM, UIMM, SHB): New macros, for
1620 vector unit operands.
1621 (VX, VX_MASK, VXA, VXA_MASK, VXR, VXR_MASK): New macros, for vector
1622 unit instruction formats.
1623 (PPCVEC): New macro, mask for vector instructions.
1624 (powerpc_operands): Add table entries for above operand types.
1625 (powerpc_opcodes): Add table entries for vector instructions.
1627 * ppc-dis.c (print_insn_big_powerpc): Add PPC_OPCODE_ALTIVEC to mask.
1628 (print_insn_little_powerpc): Likewise.
1629 (print_insn_powerpc): Prepend 'v' when printing vector registers.
1633 * configure.in: Add bfd_powerpc_64_arch.
1634 * disassemble.c (disassembler): Use print_insn_big_powerpc for
1639 * fr30-desc.c (fr30_cgen_cpu_open): Initialise signed_overflow
1644 * avr-dis.c (reg_fmul_d): New. Extract destination register from
1646 (reg_fmul_r): New. Extract source register from FMUL instruction.
1647 (reg_muls_d): New. Extract destination register from MULS instruction.
1648 (reg_muls_r): New. Extract source register from MULS instruction.
1649 (reg_movw_d): New. Extract destination register from MOVW instruction.
1650 (reg_movw_r): New. Extract source register from MOVW instruction.
1651 (print_insn_avr): Handle MOVW, MULS, MULSU, FMUL, FMULS, FMULSU,
1652 EICALL, EIJMP, LPM r,Z, ELPM r,Z, SPM, ESPM instructions.
1656 * ia64-gen.c (general): Add an ordered table of primary
1657 opcode names, as well as priority fields to disassembly data
1658 structures to enforce a preferred disassembly format based on the
1659 ordering of the opcode tables.
1660 (load_insn_classes): Show a useful message if IC tables are missing.
1661 (load_depfile): Ditto.
1662 * ia64-asmtab.h (struct ia64_dis_names ): Add priority flag to
1663 distinguish preferred disassembly.
1664 * ia64-opc-f.c: Reorder some insn for preferred disassembly
1665 format. Fix incorrect flag on fma.s/fma.s.s0.
1666 * ia64-opc.c: Scan *all* disassembly matches and use the one with
1667 the highest priority.
1668 * ia64-opc-b.c: Use more abbreviations.
1669 * ia64-asmtab.c: Regenerate.
1673 * hppa-dis.c (extract_16): New function.
1674 (print_insn_hppa): Fix incorrect handling of 'fe'. Added handling of
1675 new operand types l,y,&,fe,fE,fx.
1683 * Makefile.am (HFILES): Add ia64-asmtab.h, ia64-opc.h.
1684 (CFILES): Add ia64-dis.c, ia64-opc-a.c, ia64-opc-b.c, ia64-opc-f.c,
1685 ia64-opc-i.c, ia64-opc-m.c, ia64-opc-d.c, ia64-opc.c, ia64-gen.c,
1687 (ALL_MACHINES): Add ia64-dis.lo, ia64-opc.lo.
1688 (ia64-ic.tbl, ia64-raw.tbl, ia64-waw.tbl, ia64-war.tbl, ia64-gen,
1689 ia64-gen.o, ia64-asmtab.c, ia64-dis.lo, ia64-opc.lo): New rules.
1690 * Makefile.in: Rebuild.
1691 * configure Rebuild.
1692 * configure.in (bfd_ia64_arch): New target.
1693 * disassemble.c (ARCH_ia64): Define.
1694 (disassembler): Support ARCH_ia64.
1695 * ia64-asmtab.c, ia64-asmtab.h, ia64-dis.c, ia64-gen.c ia64-ic.tbl,
1696 ia64-opc-a.c, ia64-opc-b.c, ia64-opc-d.c ia64-opc-f.c, ia64-opc-i.c,
1697 ia64-opc-m.c, ia64-opc-x.c, ia64-opc.c, ia64-opc.h, ia64-raw.tbl,
1698 ia64-war.tbl, ia64-waw.tbl: New files.
1702 * m10300-dis.c (HAVE_AM30, HAVE_AM33): Define.
1703 (disassemble): Use them.
1707 * sysdep.h: Include "ansidecl.h" not <ansidecl.h>
1708 * Makefile.am: Update dependencies.
1709 * Makefile.in: Regenerate.
1713 * a29k-dis.c, alpha-dis.c, alpha-opc.c, arc-dis.c, arc-opc.c,
1714 avr-dis.c, d10v-dis.c, d10v-opc.c, d30v-dis.c, d30v-opc.c,
1715 disassemble.c, h8300-dis.c, h8500-dis.c, hppa-dis.c, i370-dis.c,
1716 i370-opc.c, i960-dis.c, m10200-dis.c, m10200-opc.c, m10300-dis.c,
1717 m10300-opc.c, m68k-dis.c, m68k-opc.c, m88k-dis.c, mcore-dis.c,
1718 mips-dis.c, mips-opc.c, mips16-opc.c, pj-dis.c, pj-opc.c,
1719 ppc-dis.c, ppc-opc.c, sh-dis.c, sparc-dis.c, sparc-opc.c,
1720 tic80-dis.c, tic80-opc.c, v850-dis.c, v850-opc.c, vax-dis.c,
1721 w65-dis.c, z8k-dis.c, z8kgen.c: Include sysdep.h. Remove
1722 ansidecl.h as sysdep.h includes it.
1726 * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add
1727 --enable-build-warnings option.
1728 * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
1729 * Makefile.in, configure: Re-generate.
1733 * sh-opc.h (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs.
1734 stc GBR,@-<REG_N> is available for arch_sh1_up.
1735 Group parallel processing insn with identical mnemonics together.
1736 Make three-operand psha / pshl come first.
1740 * sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4.
1741 Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
1742 (sh_arg_type): Add A_PC.
1743 (sh_table): Update entries using immediates. Add repeat.
1744 * sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4.
1745 Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
1749 * po/opcodes.pot: Regenerate.
1751 * Makefile.am (MKDEP): Use gcc -MM rather than mkdep.
1752 (DEP): Quote when passing vars to sub-make. Add warning message
1754 (DEP1): Rewrite for "gcc -MM".
1755 (CLEANFILES): Add DEP2.
1756 Update dependencies.
1757 * Makefile.in: Regenerate.
1761 * avr-dis.c: Syntax cleanup.
1762 (add0fff): Print the pc relative address as a signed number.
1763 (add03f8): Likewise.
1767 * disassemble.c (disassembler_usage): Don't use a prototype. Mark
1768 the parameter ATTRIBUTE_UNUSED.
1769 * ppc-opc.c: Add ATTRIBUTE_UNUSED as needed.
1773 * m10300-opc.c: SP-based offsets are always unsigned.
1777 * arm-opc.h (thumb_opcodes): Disassemble 0xde.. to "bal"
1778 [branch always] instead of "undefined".
1782 * d30v-opc.c (d30v_format_table): Move SHORT_AR to end of list of
1783 short instructions, from end of list of long instructions.
1787 * Makefile.am (CFILES): Add avr-dis.c.
1788 (ALL_MACHINES): Add avr-dis.lo.
1792 * avr-dis.c (add0fff, add03f8): Don't use structure bitfields to
1794 (print_insn_avr): Call function via pointer in K&R compatible way.
1795 (dispLDD, regPP, reg50, reg104, reg40, reg20w, lit404, lit204,
1796 add0fff, add03f8): Convert to old style function declaration and
1798 (avrdis_opcode): Add prototype.
1802 * avr-dis.c: New file. AVR disassembler.
1803 * configure.in (bfd_avr_arch): New architecture support.
1804 * disassemble.c: Likewise.
1805 * configure: Regenerate.
1809 * sh-opc.h (sh_table): ldre and ldrs have a *signed* displacement.
1813 * d30v-dis.c (print_insn): Remove d*i hacks. Use per-operand
1814 flag to determine if operand is pc-relative.
1816 (d30v_format_table):
1817 (REL6S3): Renamed from IMM6S3.
1818 Added flag OPERAND_PCREL.
1819 (REL12S3, REL18S3, REL32): Split from IMM12S3, IMM18S3, REL32, with
1820 added flag OPERAND_PCREL.
1821 (IMM12S3U): Replaced with REL12S3.
1822 (SHORT_D2, LONG_D): Delay target is pc-relative.
1823 (SHORT_B2r, SHORT_B3r, SHORT_B3br, SHORT_D2r, LONG_Ur, LONG_2r):
1824 Split from SHORT_B2, SHORT_D2, SHORT_B3b, SHORT_D2, LONG_U, LONG_2r,
1825 using the REL* operands.
1826 (LONG_2br, LONG_Dr): Likewise, from LONG_2b, LONG_D.
1827 (SHORT_D1r, SHORT_D2Br, LONG_Dbr): Renamed from SHORT_D1, SHORT_D2B,
1828 LONG_Db, using REL* operands.
1829 (SHORT_U, SHORT_A5S): Removed stray alternatives.
1830 (d30v_opcode_table): Use new *r formats.
1834 * m32r-desc.c (m32r_cgen_cpu_open): Replace 'flags' with
1835 'signed_overflow_ok_p'.
1839 * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
1840 name of the libtool directory.
1841 * Makefile.in: Rebuild.
1845 * cgen-opc.c (cgen_set_signed_overflow_ok): New function.
1846 (cgen_clear_signed_overflow_ok): New function.
1847 (cgen_signed_overflow_ok_p): New function.
1851 * m32r-asm.c, m32r-desc.c, m32r-desc.h, m32r-dis.c,
1852 m32r-ibld.c, m32r-opc.h: Rebuild.
1856 * i370-dis.c, i370-opc.c: New.
1858 * disassemble.c (ARCH_i370): Define.
1859 (disassembler): Handle it.
1861 * Makefile.am: Add support for Linux/IBM 370.
1862 * configure.in: Likewise.
1864 * Makefile.in: Regenerate.
1865 * configure: Likewise.
1869 * d30v-opc.c (d30v_opcode_tab) : Added FLAG_NOT_WITH_ADDSUBppp to
1870 ST2H, STB, STH, STHH, STW and ST2H opcodes to prohibit parallel
1875 * mips-dis.c (_print_insn_mips): New arg for OPCODE_IS_MEMBER:
1877 * mips-opc.c (G6): New define.
1878 (mips_builtin_op): Add "move" definition for -gp32.
1883 * ppc-opc.c: Correct dcread--it takes 3 arguments, not 2.
1887 * dis-buf.c (buffer_read_memory): Change `length' param and all int
1892 * sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
1893 (print_insn_ppi): Likewise.
1894 (print_insn_shx): Use info->mach to select appropriate insn set.
1895 Add support for sh-dsp. Remove FD_REG_N support.
1896 * sh-opc.h (sh_nibble_type): Add new values for sh-dsp support.
1897 (sh_arg_type): Likewise. Remove FD_REG_N.
1898 (sh_dsp_reg_nums): New enum.
1899 (arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros.
1900 (arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise.
1901 (arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise.
1902 (arch_sh3_dsp_up): Likewise.
1903 (sh_opcode_info): New field: arch.
1904 (sh_table): Split up insn with FD_REG_N into ones with F_REG_N and
1905 D_REG_N. Fill in arch field. Add sh-dsp insns.
1909 * arm-dis.c: Change flavor name from atpcs-special to
1910 special-atpcs to prevent name conflict in gdb.
1911 (get_arm_regname_num_options, set_arm_regname_option,
1912 get_arm_regnames): New functions. API to access the several
1913 flavor of register names. Note: Used by gdb.
1914 (print_insn_thumb): Use the register name entry from the currently
1915 selected flavor for LR and PC.
1919 * mcore-opc.h (enum mcore_opclass): Add MULSH and OPSR
1921 (mcore_table): Add "idly4", "psrclr", "psrset", "mulsh" and
1922 "mulsh.h" instructions.
1923 * mcore-dis.c (imsk array): Add masks for MULSH and OPSR
1925 (print_insn_mcore): Add support for little endian targets.
1926 Add support for MULSH and OPSR classes.
1930 * arm-dis.c (parse_arm_diassembler_option): Rename again.
1931 Previous delat did not take.
1935 * dis-buf.c (buffer_read_memory): Use octets_per_byte field
1936 to adjust target address bounds checking and calculate the
1937 appropriate octet offset into data.
1941 * arm-dis.c: (parse_disassembler_option): Rename to
1942 parse_arm_disassembler_option and allow to be exported.
1944 * disassemble.c (disassembler_usage): New function: Print out any
1945 target specific disassembler options.
1946 Call arm_disassembler_options() if the ARM architecture is being
1949 * arm-dis.c (NUM_ELEM): Define this macro if not already
1951 (arm_regname): New struct type for ARM register names.
1952 (arm_toggle_regnames): Delete.
1953 (parse_disassembler_option): Use register name structure.
1954 (print_insn): New function: Combines duplicate code found in
1955 print_insn_big_arm and print_insn_little_arm.
1956 (print_insn_big_arm): Call print_insn.
1957 (print_insn_little_arm): Call print_insn.
1958 (print_arm_disassembler_options): Display list of supported,
1959 ARM specific disassembler options.
1963 * arm-dis.c (printf_insn_big_arm): Treat ELF symbols with the
1964 ARM_STT_16BIT flag as Thumb code symbols.
1966 * arm-dis.c (printf_insn_little_arm): Ditto.
1970 * arm-dis.c (printf_insn_thumb): Prevent double dumping
1971 of raw thumb instructions.
1975 * mcore-opc.h (mcore_table): Add "add" as an alias for "addu".
1979 * arm-dis.c (streq): New macro.
1980 (strneq): New macro.
1981 (force_thumb): ew local variable.
1982 (parse_disassembler_option): New function: Parse a single, ARM
1983 specific disassembler command line switch.
1984 (parse_disassembler_option): Call parse_disassembler_option to
1985 parse individual command line switches.
1986 (print_insn_big_arm): Check force_thumb.
1987 (print_insn_little_arm): Check force_thumb.
1989 For older changes see ChangeLog-9899
1995 version-control: never