3 * m68k-opc.c: Fix definitions of wddata[bwl].
7 * cgen-asm.c (cgen_parse_keyword): If the keyword is too big to
8 fit in the buffer, try to match the empty keyword.
12 * cgen-ibld.in (extract_1): Fix badly placed #if 0.
13 * fr30-ibld.c: Regenerate.
14 * m32r-ibld.c: Regenerate.
15 * openrisc-ibld.c: Regenerate.
19 * mips-dis.c (print_insn_mips): Remove spaces at end of line.
23 * configure.in (ALL_LINGUAS): Add "fr", "sv" and "tr".
24 * configure: Regernate.
31 * m68hc11-dis.c (print_insn): Fix disassembly of movb with a
36 * Makefile.am (CFILES): Add mmix-dis.c and mmix-opc.c. Regenerate
38 * Makefile.in: Regenerate.
39 * mmix-dis.c, mmix-opc.c: New files.
43 * d30v-dis.c: Fix a comment typo.
47 * mips-opc.c (mips_builtin_opcodes): Mark "bgezall" and
48 "bltzall" as writing GPR 31 (since they do).
50 * mips-dis.c (print_insn_arg): Calculate info->target
52 (print_insn_mips): Fill in instruction info.
53 (print_mips16_insn_arg): Remove unneded variable 'val'.
54 Removed duplicated instruction target calculations,
55 calculate once and print that result. Use same idiom for
56 masking the jump segment bits as is used in print_insn_arg.
60 * ppc-opc.c (CT): Make it an optional operand.
64 * mips-dis.c (mips_isa_type): Make the ISA used to disassemble
65 SB-1 binaries include instructions specific to the SB-1.
66 * mips-opc.c (SB1): New definition.
67 (mips_builtin_opcodes): Add SB-1 extension opcodes "div.ps",
68 "recip.ps", "rsqrt.ps", and "sqrt.ps".
72 * ppc-opc.c (STRM): New AltiVec operand.
73 (XDSS): New AltiVec instruction form.
74 (mtvscr): Correct operand list.
75 (dst, dstt, dstst, dststt, dss, dssall): AltiVec instructions.
79 * po/POTFILES.in: Regenerate.
83 * ppc-opc.c (MO): New macro for MO field of mbar instruction.
84 (powerpc_opcodes): Add rfci, wrtee, wrteei, mfdcrx, mfdcr,
85 mtdcrx, mtdcr, msync, dcba and mbar as BookE instructions.
89 * cgen-ibld.in: Include safe-ctype.h in preference to
91 * cgen-asm.in: Include safe-ctype.h in preference to
92 ctype.h. Fix formatting. Use ISSPACE instead of isspace and
93 TOLOWER instead of tolower.
94 (@arch@_cgen_build_insn_regex): Remove duplication of syntax
95 string elements in constructed regular expression.
96 * fr30-asm.c: Regenerate.
97 * fr30-desc.c: Regenerate.
98 * fr30-ibld.c: Regenerate.
99 * m32r-asm.c: Regenerate.
100 * m32r-desc.c: Regenerate.
101 * m32r-ibld.c: Regenerate.
102 * openrisc-asm.c: Regenerate.
103 * openrisc-desc.c: Regenerate.
104 * openrisc-ibld.c: Regenerate.
105 * po/opcodes.pot: Regenerate.
109 * ppc-opc.c (insert_de, extract_de, insert_des, extract_des): New
110 instruction field instruction/extraction functions for new BookE
111 DE form instructions.
112 (CT): New macro for CT field in an X form instruction.
113 (DE, DES, DEO, DE_MASK): New macros for DE/DES fields in DE form
115 (PPC64): Don't include PPC_OPCODE_PPC.
116 (403): New opcode macro for PPC403 processors.
117 (BOOKE): New opcode macro for BookE processors.
118 (bce, bcel, bcea, bcela, bclre, bclrel: New BookE instructions.
119 (bcctre, bcctrel, be, bel, bea, bela, icbt, icbte, lwzxe): Likewise.
120 (dcbste, lwzuxe, luxe, dcbfe, lbzxe, lwarxe, lbzuxe): Likewise.
121 (stwcxe, stwxe, stxe, stwuxe, stuxe, stbxe, dcbtste, stbuxe): Likewise.
122 (mfapidi, dcbte, lhzxe, lhzuxe, lhaxe, lhauxe, subfe64): Likewise.
123 (subfeo64, adde64, addeo64, sthxe, sthuxe, subfze64): Likewise.
124 (subfzeo64, addze64, addzeo64, dcbie, subfme64, subfmeo64): Likewise.
125 (addme64, addmeo64, stdcxe., mcrxr64, lwbrxe, lfsxe, lfsuxe): Likewise.
126 (lfdxe, lfduxe, stwbrxe, stfsxe, stfsuxe, stfdxe, dcbae): Likewise.
127 (stfduxe, tlbivax, tlbivaxe, lhbrxe, ldxe, lduxe, tlbsx): Likewise.
128 (tlbsxe, sthbrxe, stdxe, stduxe, icbie, stfiwxe, dcbze, lbze): Likewise.
129 (lbzue, ldue, lhze, lhzue, lhae, lhaue, lwze, lwzue): Likewise.
130 (stbe, stbue, sthe, sthue, stwe, stwue, lfse, lfsue, lfde): Likewise.
131 (lfdue, stde, stdue, stfse, stfsue, stfde, stfdue): Likewise.
133 * ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc): Look
134 for a disassembler option of `booke', `booke32' or `booke64' to enable
135 BookE support in the disassembler.
139 * cgen-dis.in (print_insn): Use min (cd->base_insn_bitsize, buflen*8)
140 for the length when extracting the base part of the insn.
144 * cgen-asm.in (*_cgen_build_insn_regex): Generate a case sensitive
145 regular expression. Fix some formatting problems.
146 * fr30-asm.c: Regenerate.
147 * openrisc-asm.c: Regenerate.
148 * m32r-asm.c: Regenerate.
152 * z8k-dis.c (unparse_instr): Fixed formatting. Change disassembly
153 of indirect register memory accesses to be same format the
158 * sh-opc.h: Fix encoding of least significant nibble of the
159 DSP single data transfer instructions.
161 * sh-dis.c (print_insn_shx): Fix decoding of As opcode in DSP
166 * cgen-asm.in: Fix compile time warning messages in generated
168 * cgen-dis.in: The same.
169 * cgen-ibld.in: The same.
170 * fr30-asm.c: Regenerate.
171 * fr30-desc.c: Regenerate.
172 * fr30-dis.c: Regenerate.
173 * fr30-ibld.c: Regenerate.
174 * fr30-opc.c: Regenerate.
175 * m32r-asm.c: Regenerate.
176 * m32r-desc.c: Regenerate.
177 * m32r-dis.c: Regenerate.
178 * m32r-ibld.c: Regenerate.
179 * m32r-opc.c: Regenerate.
180 * m32r-opinst.c Regenerate.
181 * openrisc-asm.c: Regenerate.
182 * openrisc-desc.c: Regenerate.
183 * openrisc-dis.c: Regenerate.
184 * openrisc-ibld.c: Regenerate.
185 * openrisc-opc.c: Regenerate.
186 * openrisc-opc.h: Regenerate.
187 * Makefile.in: Regenerate.
188 * po/POTFILES.in: Regenerate.
189 * po/opcodes.pot: Regenerate.
193 * arm-opc.h (arm_opcodes): Add cirrus insns.
195 * arm-dis.c (print_insn_arm): Add 'I' case.
199 * po/POTFILES.in: Regenerate.
200 * configure: Regenerate.
204 * Makefile.am (Makefile): Depend on bfd/configure.in.
206 * Makefile.in: Regenerate.
210 * cgen-ibld.in (insert_1): Switched bfd_get_bits and bfd_set_bits
211 calls to cgen_get_insn_value and cgen_put_insn_value calls.
212 (extract_1): Switched bfd_get_bits call to cgen_get_insn_value call.
216 * Makefile.am: Update dependencies with "make dep-am".
217 * Makefile.in: Regenerate.
221 * arc-dis.c: Formatting fixes.
222 (my_sprintf): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE.
226 * arc-dis.c: Don't include <ctype.h>.
227 * openrisc-desc.c: Likewise.
228 * openrisc-ibld.c: Likewise.
232 * fr30-opc.c: Fix compile time warning messages.
233 * i370-opc.c: Fix compile time warning messages.
234 * i960-dis.c: Fix compile time warning messages.
235 * m32r-asm.c: Fix compile time warning messages.
236 * m32r-desc.c: Fix compile time warning messages.
237 * m32r-dis.c: Fix compile time warning messages.
238 * m32r-ibld.c: Fix compile time warning messages.
239 * m32r-opc.c: Fix compile time warning messages.
240 * m32r-opinst.c: Fix compile time warning messages.
241 * ns32k-dis.c: Fix compile time warning messages.
242 * openrisc-asm.c: Fix compile time warning messages.
243 * openrisc-desc.c: Fix compile time warning messages.
244 * openrisc-dis.c: Fix compile time warning messages.
245 * openrisc-ibld.c: Fix compile time warning messages.
246 * openrisc-opc.c: Fix compile time warning messages.
247 * pdp11-dis.c: Fix compile time warning messages.
248 * tic54x-dis.c: Fix compile time warning messages.
249 * v850-opc.c: Fix compile time warning messages.
250 * vax-dis.c: Fix compile time warning messages.
251 * w65-opc.h: Fix compile time warning messages.
252 * z8k-opc.h: Fix compile time warning messages.
253 * z8kgen.c: Fix compile time warning messages.
257 * arm-dis.c: Fix compile time warning messages.
258 * cgen-asm.c: Fix compile time warning messages.
259 * cgen-dis.c: Fix compile time warning messages.
260 * cris-dis.c: Fix compile time warning messages.
261 * d10v-dis.c: Fix compile time warning messages.
262 * fr30-asm.c: Fix compile time warning messages.
263 * fr30-desc.c: Fix compile time warning messages.
264 * fr30-dis.c: Fix compile time warning messages.
265 * fr30-ibld.c: Fix compile time warning messages.
269 * cgen-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
270 (cgen_parse_keyword): Use ISALNUM instead of isalnum.
271 * cgen-opc.c: Include "safe-ctype.h" instead of <ctype.h>.
272 (cgen_keyword_lookup_name): Use ISALPHA/TOLOWER instead of
274 (cgen_keyword_add): Use ISALNUM instead of isalnum.
275 (hash_keyword_name): Use TOLOWER instead of tolower.
276 * fr30-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
277 (parse_insn_normal): Use TOLOWER/ISSPACE instead of
279 (fr30_cgen_assemble_insn): Use ISSPACE instead of isspace.
280 * fr30-desc.c: Don't include <ctype.h>.
281 * fr30-ibld.c: Likewise.
282 * ia64-gen.c: Include "safe-ctype.h" instead of <ctype.h>.
283 (load_insn_classes, parse_resource_users, load_depfile): Use
284 ISSPACE instead of isspace.
285 * m32r-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
286 (parse_insn_normal): Use TOLOWER/ISSPACE instead of
288 (m32r_cgen_assemble_insn): Use ISSPACE instead of isspace.
289 * m32r-desc.c: Don't include <ctype.h>.
290 * m32r-ibld.c: Likewise.
291 * openrisc-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
292 (parse_insn_normal): Use TOLOWER/ISSPACE instead of
294 (openrisc_cgen_assemble_insn): Use ISSPACE instead of isspace.
298 * Makefile.am: Add rules and dependencies to create the s/390 opcode
299 table out of s390-opc.txt automatically.
300 * configure.in: Add BFD_CC_FOR_BUILD to allow CC_FOR_BUILD to be used.
301 * s390-mkopc.c (dumpTable): Change output to create a complete file.
302 * s390-opc.c: New improved opcode format macros and remove the
303 pregenerated opcode table.
304 * s390-opc.txt: Adapt to new improved opcode format macros.
308 * ppc-opc.c (VXA, VXA_MASK): Fix mask bits.
312 * i386-dis.c (grps): Don't print the implicit al/ax/eax register
313 for opcode 0xf6 or 0xf7 forms of mul, imul, div, idiv insns.
318 * mips-dis.c: Add support for bfd_mach_mipsisa32 and
319 bfd_mach_mipsisa64. Remove bfd_mach_mips32, bfd_mach_mips32_4k,
324 * tic54x-opc.c: Add default initializers to avoid warnings.
326 * arc-opc.c: Include "sysdep.h" to get stdio.h as include file.
327 * arc-ext.c: Likewise.
331 * ppc-opc.c (icbt): Order correctly.
336 * ppc-opc.c (DS): Add PPC_OPERAND_DS flag.
338 (insert_ds): Complain if not a multiple of 4.
340 (XSYNC_MASK): Define.
341 (powerpc_opcodes): Add "slbmte", "lwsync", "ptesync", "slbmfev",
342 "slbmfee". Modify "sync" to use XSYNC_MASK and LS.
346 * h8500-opc.h: Add default initializers to h8500_table to shut up
351 * tic54x-dis.c: Add unused attributes where needed.
353 * z8k-dis.c (output_instr): Add unused attribute.
355 * h8300-dis.c: Add missing prototypes.
356 (bfd_h8_disassemble): Make static.
358 * cris-dis.c: Add missing prototype.
359 * h8500-dis.c: Likewise.
360 * m68hc11-dis.c: Likewise.
361 * pj-dis.c: Likewise.
362 * tic54x-dis.c: Likewise.
363 * v850-dis.c: Likewise.
364 * vax-dis.c: Likewise.
365 * w65-dis.c: Likewise.
366 * z8k-dis.c: Likewise.
368 * d10v-dis.c: Add missing prototype.
369 (dis_long): Remove unused variable.
370 (dis_2_short): Likewise.
372 * sh-dis.c: Add missing prototypes.
373 * v850-opc.c: Likewise.
374 Add unused attributes where needed.
376 * ns32k-dis.c: Add missing prototypes.
377 (bit_extract_simple): Remove unused variable.
381 * opcodes/s390-opc.c: Add "low or high" and "not low or high"
382 branch instructions for gcc 3.0.
383 * opcodes/s390-opc.txt: Likewise.
387 * i960-dis.c: Add parameters for prototypes
388 (ctrl): Add unused attributes.
392 * mips-dis.c: Add missing prototypes.
393 * a29k-dis.c: Likewise.
394 * arc-dis.c: Likewise.
395 * ia64-opc.c: Likewise.
397 * s390-dis.c: Add missing prototypes.
398 (init_disasm): Remove unused attribute since the parameter is
403 * mips-opc.c (M1): Define. Reformatted Code.
404 (mips_builtin_opcodes): Added performance counter opcodes mfpc, mfps,
409 * mips-opc.c: R3900s can support all branch likely INSN_MACROs where
410 the corresponding non-likely insn is in MIPS I.
414 * mcore-dis.c: Fix formatting.
415 * mips-dis.c: Likewise.
416 * pj-dis.c: Likewise.
417 * z8k-dis.c: Likewise.
421 * cgen-ibld.in (extract_normal): Match type of VALUE and MASK
422 to *VALUEP. Regenerate all cgen files.
426 * mips-dis.c (print_insn_mips): Remove OPCODE_IS_MEMBER's gp32
428 * mips-opc.c (G6): Undefine.
429 (mips_builtin_opcodes): Remove gp32 entry for "move". Add macro
430 as the first "move" alternative.
434 * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
436 * configure: Regenerate.
440 * ppc-opc.c: Revert 2001-08-08.
444 * dis-buf.c (generic_strcat_address): Add missing prototype.
445 #if 0 the functions as it is unused.
450 * ppc-opc.c: Include "bfd.h".
451 (powerpc_operands): Add new field for reloc type.
455 * mips-dis.c (print_insn_arg): Don't use software integer registers
456 for coprocessor registers.
457 (get_mips_isa): Removed.
458 (is_newabi): New function, checks if NewABI is used.
459 (_print_insn_mips): Get distinction between old ABI and new ABI right.
463 * z8kgen.c: Fixed indentation of opt[] array. Include stdio.h to
464 get stderr definition.
465 (internal, gas): Removed warnings.
466 (gas): Create a correct final entry for created array.
467 * z8k-opc.h: Recreated with new z8kgen.
471 * i386-dis.c: Fix formatting.
475 * i386-dis.c: Change formatting conventions for architecture
476 i386:intel to better match the format of various intel i386
477 assemblers, like nasm, tasm or masm.
481 * Makefile.am: Update dependencies with "make dep-am".
482 * Makefile.in: Regenerate
486 * alpha-dis.c: Fix formatting.
487 * cris-dis.c: Likewise.
488 * d10v-dis.c: Likewise.
489 * d30v-dis.c: Likewise.
490 * m10300-dis.c: Likewise.
491 * tic54x-dis.c: Likewise.
495 * m68k-dis.c: Fix formatting.
496 * pj-dis.c: Likewise.
497 * s390-dis.c: Likewise.
498 * z8k-dis.c: Likewise.
502 * mips-opc.c (mips_builtin_opcodes): Sort c.le.s and c.lt.s
503 into the rest of the surrounding definitions.
507 * i386-dis.c (grps): Print l or w suffix, and require mem modrm
508 for lgdt, lidt, sgdt, sidt.
512 * arm-dis.c (print_insn_arm): Use decimal for offsets in LDR/STR.
516 * cgen-asm.in: Include "xregex.h" always to enable the libiberty
518 (@arch@_cgen_build_insn_regex): New routine from Graydon.
519 (@arch@_cgen_assemble_insn): Add Graydon's code to use regex
520 to verify if it is worth parsing the insn as insn "x". Also update
521 error message when insn is not a recognized format of the insn vs
522 when the insn is completely unrecognized.
526 * cgen-dis.in (print_insn): Use cgen_get_insn_value instead of
528 * cgen-opc.c (cgen_get_insn_value, cgen_put_insn_value): Respect
529 non-zero CGEN_CPU_DESC->insn_chunk_bitsize.
533 * i386-dis.c (set_op): Handle 64 bit and 32 bit mode.
534 (OP_J): Use bfd_vma for mask to work properly with 64 bits.
535 (op_address,op_riprel): Use bfd_vma to handle 64 bits.
539 * Makefile.am (CPUDIR): Define.
540 (stamp-m32r): Update dependencies.
542 (stamp-openrisc): Ditto.
543 * Makefile.in: Regenerate.
547 * ppc-opc.c: Fix encoding of 'clf' instruction.
551 * cgen-ibld.in (insert_normal): Support CGEN_IFLD_SIGN_OPT.
555 * cgen-asm.c (cgen_parse_keyword): Allow any first character.
556 * cgen-opc.c (cgen_keyword_add): Ignore special first
557 character when building nonalpha_chars field.
561 * m88k-dis.c: Format to conform to GNU coding standards.
565 * disassemble.c (disassembler_usage): Add unused attribute.
569 * mips-opc.c: Move prefx to start of the table.
573 * arc-opc.c (insert_st_syntax): Fix over-optimisation of ST
578 * m68k-opc.c: Add wdebug instruction.
582 * m10300-opc.c (mn10300_opcodes): Change opcode for AM33 subc.
586 * cgen-asm.c (cgen_parse_keyword): When looking for the
587 boundaries of a keyword, allow any special characters
588 that are actually in one of the allowed keyword.
589 * cgen-opc.c (cgen_keyword_add): Add any special characters
590 to the nonalpha_chars field.
594 * s390-opc.c: Add lgh instruction.
595 * s390-opc.txt: Likewise.
599 * i386-dis.c: Group function prototypes in one place.
600 (FLOATCODE): Redefine as 1.
601 (USE_GROUPS): Redefine as 2.
602 (USE_PREFIX_USER_TABLE): Redefine as 3.
603 (X86_64_SPECIAL): Define as 4.
604 (GRP1b..GRPAMD): Move USE_GROUPS to bytecode1, index to bytecode2.
605 (PREGRP0..PREGRP26): Similarly with USE_PREFIX_USER_TABLE.
606 (dis386_att, dis386_intel, disx86_64_att, disx86_64_intel): Delete.
607 (dis386): New table combining above four tables.
608 (dis386_twobyte_att, dis386_twobyte_intel): Delete.
609 (dis386_twobyte): New table combining above two tables.
610 (x86_64_table): New table to handle x86_64.
612 (float_mem_att, float_mem_intel): Delet.
613 (float_mem): New table combining above two tables.
614 (print_insn_i386): Modify for above.
616 (putop): Handle '{', '|' and '}' to select alternative mnemonics.
617 Return 0 on success, 1 if no valid alternative.
618 (putop <case 'F'>, <case 'H'>): Print nothing for intel_syntax.
619 (putop <case 'T'>): Move to case 'U', and share case 'Q' code.
620 (putop <case 'I'>): Move to case 'T', and share case 'P' code.
621 (OP_REG <case rAX_reg .. rDI_reg>): Handle as for eAX_reg .. eDI_reg
623 (OP_I <case q_mode>): Handle as for v_mode if not 64-bit mode.
624 (OP_I64): If not 64-bit mode, call OP_I.
625 OP_OFF64): If not 64-bit mode, call OP_OFF.
626 (OP_ST, OP_STi, OP_SEG, OP_DIR, OP_OFF, OP_OFF64, OP_MMX): Rename
627 'ignore'/'ignored' to 'bytemode'.
631 * configure.in: Sort 'ta' case statement.
632 * configure: Regenerate.
634 * i386-dis.c (dis386_att): Add 'H' to conditional branch and
636 (disx86_64_att): Likewise.
637 (dis386_twobyte_att): Likewise.
638 (print_insn_i386): Don't print branch hints as a prefix.
639 (putop): 'H' macro prints branch hints.
640 (get64): Kill compile warnings.
644 * sh-opc.h (sh_table): Don't use empty initializers.
648 * z8k-dis.c: Fix formatting.
649 (unpack_instr): Remove unused cases in switch statement. Add
650 safety abort() in default case.
651 (unparse_instr): Add safety abort() in default case.
655 * m68k-dis.c (print_insn_m68k): Fix typo.
656 * m68k-opc.c (m68k_opcodes): Correct allowed operands for
657 mcf (ColdFire) div, rem and moveb instructions.
661 * i386-dis.c (cond_jump_flag, loop_jcxz_flag): Define.
662 (cond_jump_mode, loop_jcxz_mode): Define.
663 (dis386_att): Add cond_jump_flag and loop_jcxz_flag as
664 appropriate, and 'F' suffix to loop insns.
665 (disx86_64_att): Likewise.
666 (dis386_twobyte_att): Likewise.
667 (print_insn_i386): Don't output addr prefix for loop, jcxz insns.
668 Output data size prefix for long conditional jumps. Output cs and
670 (putop): Handle 'F', and mark PREFIX_ADDR used for case 'E'.
671 (OP_J): Don't make PREFIX_DATA used.
675 * sh-opc.h (sh_table): Complete last element entry to avoid
680 * mips-dis.c (mips_isa_type): Add MIPS r12k support.
684 * arc-opc.c: Whitespace changes.
688 * cris-opc.c (cris_spec_regs): Add missing initializer field for
693 * cgen-dis.in (extract_normal): Complete support for min<base case.
697 * mips-dis.c (INSNLEN): Rename MAXLEN.
698 (std_reg_names): Replace by mips32_reg_names and mips64_reg_names.
699 (print_insn_arg): Remove $ prefix of register names.
700 (set_mips_isa_type): Remove.
701 (mips_isa_type): New function.
702 (get_mips_isa): New Function.
703 (print_insn_mips): Rename _print_insn_mips.
704 (_print_insn_mips): New function, contains code which was
705 duplicated in print_insn_big_mips and print_insn_little_mips.
706 (print_insn_big_mips): Moved code to _print_insn_mips.
707 (print_insn_little_mips): Likewise.
708 (print_mips16_insn_arg): Remove $ prefix of register names.
709 Print error message before abort.
713 * ppc-opc.c (powerpc_opcodes): Fixed extended opcode field of
714 simplified mnemonics used for setting PPC750-specific special
719 * i386-dis.c (print_insn_i386): Always set `mod', `reg' and
724 * arc-opc.c (arc_reg_names): Correct attribute for lp_count
725 register to r/w. Formatting fixes throughout file.
729 * i386-dis.c (prefix_user_table): Correct movq2dq, movdq2q, and
731 (twobyte_has_modrm): Update table.
732 (need_modrm): Give it file scope.
733 (MODRM_CHECK): Define.
734 (dofloat): Use MODRM_CHECK.
741 * cgen-dis.in (default_print_insn): Tolerate min<base instructions
742 even at end of a section.
743 * cgen-ibld.in (extract_normal): Tolerate min!=base!=max instructions
744 by ignoring precariously-unpacked insn_value in favor of raw buffer.
748 * disassemble.c (disassembler_usage): Remove unused attribute.
752 * m32r-dis.c, -asm.c, -ibld.c: Regenerated with disassembler fixes.
756 * cgen-dis.in (print_insn): Remove call to read_insn. Instead,
757 assume incoming buffer already has the base insn loaded. Handle
758 smaller-than-base instructions for variable-length case.
762 * i386-dis.c (Ev, Ed): Remove duplicate define.
765 (OP_XS): New function.
766 (dis386_twobyte_att): Correct pinsrw, pextrw, pmovmskb, and
768 (dis386_twobyte_intel): Likewise.
769 (prefix_user_table): Use MS for maskmovq operand.
773 * Makefile.am: Add OpenRISC target.
774 * Makefile.in: Regenerated.
776 * disassemble.c (disassembler): Recognize the OpenRISC disassembly.
778 * configure.in (bfd_openrisc_arch): Add target.
779 * configure: Regenerated.
781 * openrisc-asm.c: New file.
782 * openrisc-desc.c: Likewise.
783 * openrisc-desc.h: Likewise.
784 * openrisc-dis.c: Likewise.
785 * openrisc-ibld.c: Likewise.
786 * openrisc-opc.c: Likewise.
787 * openrisc-opc.h: Likewise.
791 * z8k-dis.c: add names of control registers (ctrl_names);
792 (seg_length): provides instruction length fixup for segmented
793 mode; (unpack_instr): correctly handle ARG_DISP16, ARG_DISP12,
794 CLASS_0DISP7, CLASS_1DISP7, CLASS_DISP8 and CLASS_PR cases;
795 (unparse_intr): handle CLASS_PR, print addresses without '#'
796 * z8k-opc.h: re-created with new z8kgen
797 * z8kgen.c: merged in fixes which were in existing z8k-opc.h; new
798 entries for ldctl/ldctlb instruction
802 * i386-dis.c: Add ffreep instruction.
806 * ppc-opc.c (insert_mbe): Shift mask initializer as long.
810 * i386-dis.c (PREGRP25): Define.
811 (dis386_twobyte_att): Use here in place of "movntq" entry.
812 (dis386_twobyte_intel): Likewise.
813 (prefix_user_table): Add PREGRP25 entry for "movntq" and "movntdq".
815 (dis386_twobyte_att): Use here.
816 (dis386_twobyte_intel): Likewise.
817 (prefix_user_table): Add PREGRP26 entry for "punpcklqdq".
818 (prefix_user_table <maskmovdqu>): XM operand, not MX.
819 (prefix_user_table): Cosmetic changes to "bad" entries.
823 * mips-opc.c: Remove extraneous whitespace.
824 * mips-dis.c: Remove extraneous whitespace.
828 * cgen-asm.in (@arch@_cgen_assemble_insn): Move tmp_errmsg
829 declaration inside CGEN_VERBOSE_ASSEMBLER_ERRORS conditional.
830 * cgen-ibld.in (put_insn_int_value): Mark cd parameter as unused
831 to allay a compiler warning.
835 * i386-dis.c (dis386_twobyte_att): Add entries for paddq, psubq.
836 (dis386_twobyte_intel): Likewise.
837 (twobyte_has_modrm): Set entry for paddq, psubq.
841 * cgen-dis.in (print_insn_@arch@): Add support for target machine
842 determination via CGEN_COMPUTE_MACH.
843 * fr30-desc.c: Regenerate.
844 * fr30-dis.c: Regenerate.
845 * fr30-opc.h: Regenerate.
846 * m32r-desc.c: Regenerate.
847 * m32r-dis.c: Regenerate.
848 * m32r-opc.h: Regenerate.
849 * m32r-opinst.c: Regenerate.
853 * configure.in: Remove the redundent AC_ARG_PROGRAM.
854 * configure: Rebuild.
858 * ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and
859 notestr if larger than xsect.
860 (in_class): Handle format M5.
861 * ia64-asmtab.c: Regnerate.
865 * vax-dis.c (print_insn_vax): Only fetch two bytes if the info buffer
866 has more than one byte left to read.
870 * s390-opc.c: Add new opcodes. Smooth out formatting.
871 * s390-opc.txt: Add new opcodes.
875 * arm-dis.c (print_insn_thumb): Compute destination address
876 of BLX(1) instruction by taking bit 1 from PC and not from bit
881 * m68k-dis.c (print_insn_m68k): Recognize Coldfire CPUs
882 so command line switches will work.
886 * fr30-asm.c: Regenerate.
887 * fr30-desc.c: Regenerate.
888 * fr30-desc.h: Regenerate.
889 * fr30-dis.c: Regenerate.
890 * fr30-ibld.c: Regenerate.
891 * fr30-opc.c: Regenerate.
892 * fr30-opc.h: Regenerate.
893 * m32r-asm.c: Regenerate.
894 * m32r-desc.c: Regenerate.
895 * m32r-desc.h: Regenerate.
896 * m32r-dis.c: Regenerate.
897 * m32r-ibld.c: Regenerate.
898 * m32r-opc.c: Regenerate.
899 * m32r-opc.h: Regenerate.
900 * m32r-opinst.c: Regenerate.
904 * m68k-opc.c: fix cpushl according to Motorola. Enable
905 bunch of instructions for Coldfire 5407 and add all new.
909 * configure.in (BFD_VERSION): Do without grep.
910 * configure: Regenerate.
911 * Makefile.am: Run "make dep-am".
912 * Makefile.in: Regenerate.
916 * ia64-opc-a.c: Add missing pseudo-ops for "cmp" and "cmp4".
917 * ia64-asmtab.c: Regenerate.
921 * ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two
922 separate variants: one for IMM22 and the other for IMM14.
923 * ia64-asmtab.c: Regenerate.
927 * cgen-opc.c (cgen_get_insn_value): Add missing `return'.
931 * Makefile.am (ia64-ic.tbl): Remove the target.
932 (ia64-raw.tbl): Likewise.
933 (ia64-waw.tbl): Likewise.
934 (ia64-war.tbl): Likewise.
935 (ia64-asmtab.c): Generate it in the source directory.
936 * Makefile.in: Regenerated.
940 * Makefile.am: Add PDP-11 target.
941 * configure.in: Likewise.
942 * disassemble.c: Likewise.
943 * pdp11-dis.c: New file.
944 * pdp11-opc.c: New file.
948 * ia64-ic.tbl: Update from Intel. Add setf to fr-writers.
949 * ia64-asmtab.c: Regenerate.
953 * i386-dis.c (prefix_user_t): Add 'Y' to SSE ineger converison
959 * mips-dis.c (print_insn_arg): Use top four bits of the address of
960 the following instruction not of the jump itself for the jump
962 (print_mips16_insn_arg): Likewise.
966 * Makefile.am (stamp-lib): ranlib the libopcodes.a in the build
968 * Makefile.in: Regenerate.
972 * Makefile.am: Add linux target for S/390.
973 * Makefile.in: Likewise.
974 * configure.in: Likewise.
975 * disassemble.c: Likewise.
976 * s390-dis.c: New file.
977 * s390-mkopc.c: New file.
978 * s390-opc.c: New file.
979 * s390-opc.txt: New file.
983 * ia64-asmtab.c: Revert 2000-12-16 change.
987 * fr30-desc.h: Regenerate with CGEN_MAX_SYNTAX_ELEMENTS.
988 * m32r-desc.h: Regenerate.
992 * i386-dis.c (dis386_att, grps): Use 'T' for push/pop
993 (putop): Handle 'T', alphabetize order, fix 'I' handling in Intel syntax
997 * hppa-dis.c (print_insn_hppa): Handle '>' and '<' arg types.
1001 * disassemble.c: Remove spurious white space.
1005 * i386-dis.c (dis386_att, disx86_64_att): Fix ret, lret and iret
1010 * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
1011 * Makefile.am (C_FILES): Add arc-ext.c.
1012 (ALL_MACHINES) Add arc-ext.lo.
1013 (INCLUDES) Add opcode directory to list.
1014 New dependency entry for arc-ext.lo.
1015 * disassemble.c (disassembler): Correct call to
1016 arc_get_disassembler.
1017 * arc-opc.c: New update for ARC, including full base
1018 instructions for ARC variants.
1019 * arc-dis.h, arc-dis.c: New update for ARC, including
1020 extensibility functionality.
1021 * arc-ext.h, arc-ext.c: New files for handling extensibility.
1025 * i386-dis.c (PREGRP15 - PREGRP24): New.
1026 (dis386_twobyt): Add SSE2 instructions.
1027 (twobyte_uses_SSE_prefix: Rename from ... ; add new SSE instructions.
1028 (twobyte_uses_f3_prefix): ... this one.
1029 (grps): Add SSE instructions.
1030 (prefix_user_table): Add two new slots; add SSE2 instructions.
1031 (print_insn_i386): Rename uses_f3_prefix to uses_SSE_prefix;
1032 Handle the REPNZ and Data16 prefixes as well; do proper lookup
1033 to prefix_user_table.
1034 (OP_E): Accept mfence and lfence as well.
1035 (OP_MMX): Data16 prefix turns MMX to SSE; support REX extensions.
1036 (OP_XMM): Support REX extensions.
1042 * arm-dis.c (print_insn): Set pc to zero for instructions with
1043 a reloc associated with them.
1047 * cgen-asm.in (parse_insn_normal): Changed syn to be
1048 CGEN_SYNTAX_CHAR_TYPE. Changed all references to *syn
1049 as character to use CGEN_SYNTAX_CHAR macro and all comparisons
1050 to '\0' to use 0 instead.
1051 * cgen-dis.in (print_insn_normal): Ditto.
1052 * cgen-ibld.in (insert_insn_normal, extract_insn_normal): Ditto.
1056 * i386-dis.c: Add x86_64 support.
1057 (rex): New static variable.
1058 (REX_MODE64, REX_EXTX, REX_EXTY, REX_EXTZ): New constants.
1059 (USED_REX): New macro.
1060 (Ev, Ed, Rm, Iq, Iv64, Cm, Dm, Rm*, Ob64, Ov64): New macros.
1061 (OP_I64, OP_OFF64, OP_IMREG): New functions.
1062 (OP_REG, OP_OFF): Declare.
1063 (get64, get32, get32s): New functions.
1064 (r??_reg): New constants.
1065 (dis386_att): Change templates of instruction implicitly promoted
1066 to 64bit; change e?? to RMe?? for unwind RM byte instructions.
1068 (dis386_intel): Likewise.
1069 (dixx86_64_att): New table based on dis386_att.
1070 (dixx86_64_intel): New table based on dis386_intel.
1071 (names64, names8rex): New global variable.
1072 (names32, names16): Add extended registers.
1073 (prefix_user_t): Recognize rex prefixes.
1074 (prefix_name): Print REX prefixes nicely.
1075 (op_riprel): New global variable.
1076 (start_pc): Set type to bfd_vma.
1077 (print_insn_i386): Detect the 64bit mode and use proper table;
1078 move ckprefix after initializing the buffer; output unused rex prefixes;
1079 output information about target of RIP relative addresses.
1080 (putop): Support 'O' and 'I'. Update handling of "P', 'Q', 'R' and 'S';
1081 (print_operand_value): New function.
1082 (OP_E, OP_G, OP_REG, OP_I, OP_J, OP_DIR, OP_OFF, OP_D): Add support for
1083 REX prefix and new modes.
1084 (get64, get32s): New.
1085 (get32): Return bfd_signed_vma type.
1086 (set_op): Initialize the op_riprel.
1087 * disassemble.c (disassembler): Recognize the x86-64 disassembly.
1091 cgen-dis.in (read_insn): Use bfd_get_bits()
1095 * cgen-dis.c (hash_insn_array): Use bfd_put_bits().
1096 (hash_insn_list): Likewise
1097 * cgen-ibld.in (insert_1): Use bfd_put_bits() and bfd_get_bits().
1098 (extract_1): Use bfd_get_bits().
1099 (extract_normal): Apply sign extension to both extraction
1101 * cgen-opc.c (cgen_get_insn_value): Use bfd_get_bits()
1102 (cgen_put_insn_value): Use bfd_put_bits()
1106 * cgen-asm.in (parse_insn_normal): Print better error message for
1107 instructions with missing operands.
1111 * cgen-opc.c: Include alloca.h if HAVE_ALLOCA_H is defined.
1115 * Makefile.in: Regenerate.
1116 * aclocal.m4: Regenerate.
1117 * config.in: Regenerate.
1118 * configure.in: Add spacing.
1119 * configure: Regenerate.
1120 * ia64-asmtab.c: Regenerate.
1121 * po/opcodes.pot: Regenerate.
1125 * cgen-asm.in (@arch@_cgen_assemble_insn): Prefer printing insert-time
1126 error messages over later parse-time ones.
1130 * ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode
1132 * ia64-gen.c (insert_deplist): Cast sizeof result to int.
1133 (print_dependency_table): Print NULL if semantics field not set.
1134 (insert_opcode_dependencies): Mark cmp parameter as unused.
1135 (print_main_table): Use fprintf_vma to print long long fields.
1136 (main): Mark argv paramter as unused. Convert to old style definition.
1137 * ia64-opc.c (ia64_find_dependency): Cast sizeof result to int.
1138 * ia64-asmtab.c: Regnerate.
1142 * m32r-dis.c (print_insn): Prevent re-read of instruction from
1145 * fr30-dis.c: Regenerate.
1149 * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
1150 * Makefile.am (C_FILES): Add arc-ext.c.
1151 (ALL_MACHINES) Add arc-ext.lo.
1152 (INCLUDES) Add opcode directory to list.
1153 New dependency entry for arc-ext.lo.
1154 * disassemble.c (disassembler): Correct call to
1155 arc_get_disassembler.
1156 * arc-opc.c: New update for ARC, including full base
1157 instructions for ARC variants.
1158 * arc-dis.h, arc-dis.c: New update for ARC, including
1159 extensibility functionality.
1160 * arc-ext.h, arc-ext.c: New files for handling extensibility.
1164 * mips-opc.c (mips_builtin_opcodes): Use the WR_HILO, RD_HILO,
1165 MOD_HILO, and MOD_LO macros.
1167 * mips-opc.c (M1, M2): Delete.
1168 (mips_builtin_opcodes): Remove all uses of M1.
1170 * mips-opc.c (mips_builtin_opcodes): Make the dmfc2 and dmtc2
1171 instructions take "G" format second operands and use the
1173 There are mfc3 and mtc3 opcodes, so add dmfc3 and dmtc3 opcodes to
1175 Delete "sel" code operands from mfc1 and mtc1.
1176 Add MIPS64 opcode changes (dclo, dclz), and "sel" code variants
1182 * mips-opc.c (mips_builtin_opcodes): Finish additions
1183 for MIPS32 support, and clean up existing entries for
1184 aesthetics, consistency with the MIPS32 ISA, and
1185 with consistency the rest of the table.
1189 * mips16-opc.c (mips16_opcodes): Add initialiser for membership
1194 mips-dis.c (print_insn_arg): Handle new 'U' and 'J' argument
1195 specifiers. Update 'B' for new constant names, and remove
1197 mips-opc.c (mips_builtin_opcodes): Place "pref" and "ssnop"
1198 near the top of the array, so they are disassembled properly.
1199 Enable "ssnop" for MIPS32. Add "break" variant with 20 bit
1200 code for MIPS32. Update "clo" and "clz" to use 'U' operand
1201 specifier. Add 'H' format specifier variants for "mfc1,"
1202 "mfc2," "mfc3," "mtc1," "mtc2," and "mtc3" for MIPS32. Update
1203 MIPS32 "sdbbp" to use 'B' operand specifier. Add MIPS32
1204 "wait" variant which uses 'J' operand specifier.
1206 * mips-dis.c (set_mips_isa_type): Update to use
1207 CPU_UNKNOWN and ISA_* constants. Add bfd_mach_mips32 case.
1208 Replace bfd_mach_mips4K with bfd_mach_mips32_4k case.
1209 * mips-opc.c (I32): New constant for instructions added in
1212 (mips_builtin_opcodes) Replace all uses of P4 with I32.
1214 * mips-dis.c (set_mips_isa_type): Add cases for
1215 bfd_mach_mips5 and bfd_mach_mips64.
1216 * mips-opc.c (I64): New definitions.
1218 * mips-dis.c (set_mips_isa_type): Add case for
1223 * sh-dis.c (print_insn_ddt): Make insn_x, insn_y unsigned.
1224 (print_insn_ppi): Make nib1, nib2, nib3 unsigned.
1225 Initialize variable dc to NULL.
1226 (print_insn_shx): Remove unused label d_reg_n.
1230 * arm-opc.h: Add new opcode formatting parameter 'B'.
1231 (arm_opcodes): Add XScale, v5, and v5te instructions.
1232 (thumb_opcodes): Add v5t instructions.
1234 * arm-dis.c (print_insn_arm): Handle new 'B' format
1236 (print_insn_thumb): Decode BLX(1) instruction.
1240 * mips-opc.c: Fix file header comment.
1244 * cris-dis.c (cris_get_disassembler): If abfd is NULL, return
1245 print_insn_cris_with_register_prefix.
1249 * sh-opc.h: The operand of `mov.w r0, (<disp>,GBR)' is IMM1, not 0.
1253 * cgen-dis.in (print_insn): All insns which can fit into insn_value
1254 must be loaded there in their entirety.
1258 * sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
1259 (compute_arch_mask): Add v8plusb and v9b machines.
1260 (print_insn_sparc): siam mode decoding, accept ASRs up to 25.
1261 * sparc-opc.c: Support for Cheetah instruction set.
1262 (prefetch_table): Add #invalidate.
1266 * mcore-dis.c (imsk): Change mask for OC to 0xFE00.
1270 * fr30-desc.h: Regenerate.
1271 * m32r-desc.h: Regenerate.
1272 * m32r-ibld.c: Regenerate.
1276 * ia64-ic.tbl: Update from Intel.
1277 * ia64-asmtab.c: Regenerate.
1281 * ia64-gen.c: Convert C++-style comments to C-style comments.
1282 * tic54x-dis.c: Likewise.
1286 Changes to add dollar prefix to registers for files where user symbols
1287 don't have a leading underscore. Fix formatting.
1288 * cris-dis.c (REGISTER_PREFIX_CHAR): New.
1289 (format_reg): Add parameter with_reg_prefix. All callers changed.
1290 (print_with_operands): Ditto.
1291 (print_insn_cris_generic): Renamed from print_insn_cris, add
1292 parameter with_reg_prefix.
1293 (print_insn_cris_with_register_prefix,
1294 print_insn_cris_without_register_prefix, cris_get_disassembler):
1296 * disassemble.c (disassembler) [ARCH_cris]: Call cris_get_disassembler.
1300 * ia64-opc-f.c (ia64_opcodes_f): Add fpcmp pseudo-ops for
1301 gt, ge, ngt, and nge.
1302 * ia64-asmtab.c: Regenerate.
1304 * ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
1305 * ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
1306 (lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
1307 * ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
1308 * ia64-asmtab.c: Regnerate.
1312 * mips-opc.c (mips_builtin_opcodes): Support cache instruction on 4K cores.
1313 Add mfc0 and mtc0 with sub-selection values.
1314 Add clo and clz opcodes.
1315 Add msub and msubu instructions for MIPS32.
1316 Add madd/maddu aliases for mad/madu for MIPS32.
1317 Support wait, deret, eret, movn, pref for MIPS32.
1318 Support tlbp, tlbr, tlbwi, tlbwr.
1321 * mips-dis.c (print_insn_arg): Print sdbbp 'm' args.
1322 (print_insn_arg): Handle 'H' args.
1323 (set_mips_isa_type): Recognize 4K.
1324 Use CPU_* defines instead of hardcoded numbers.
1328 * d30v-opc.c (d30v_operand_t): New operand type Rb2.
1329 (d30v_format_tab): Use Rb2 for modinc and moddec.
1333 * d30v-opc.c (d30v_format_tab): Use format Ra for
1338 * configure: Rebuilt with new libtool.m4.
1342 * configure: Regenerate.
1343 * po/opcodes.pot: Regenerate.
1347 * acinclude.m4: Include libtool and gettext macros from the
1349 * aclocal.m4, configure: Rebuilt.
1353 * tic80-dis.c: Fix formatting.
1357 * w65-dis.c: Fix formatting.
1361 * ppc-opc.c: Add XTLB macro for a few PPC 4xx extended mnemonics.
1362 (powerpc_opcodes): Add table entries for PPC 405 instructions.
1363 Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403
1364 instructions. Added extended mnemonic mftbl as defined in the
1365 405GP manual for all PPCs.
1369 * ia64-dis.c (print_insn_ia64): Add failed label after ia64_free_opcode
1370 call. Change last goto to use failed instead of done.
1374 * cgen-ibld.in (cgen_put_insn_int_value): New function.
1375 (insert_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
1376 (insert_insn_normal): Use cgen_put_insn_int_value with CGEN_INT_INSN_P.
1377 (extract_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
1378 * cgen-dis.in (read_insn): New static function.
1379 (print_insn): Use read_insn to read the insn into the buffer and set
1381 (print_insn): in CGEN_INT_INSN_P, make sure that the entire insn is
1383 * fr30-asm.c: Regenerated.
1384 * fr30-desc.c: Regenerated.
1385 * fr30-desc.h: Regenerated.
1386 * fr30-dis.c: Regenerated.
1387 * fr30-ibld.c: Regenerated.
1388 * fr30-opc.c: Regenerated.
1389 * fr30-opc.h: Regenerated.
1390 * m32r-asm.c: Regenerated.
1391 * m32r-desc.c: Regenerated.
1392 * m32r-desc.h: Regenerated.
1393 * m32r-dis.c: Regenerated.
1394 * m32r-ibld.c: Regenerated.
1395 * m32r-opc.c: Regenerated.
1399 * tic30-dis.c: Fix formatting.
1403 * sh-dis.c: Fix formatting.
1407 * ppc-opc.c (powerpc_opcodes): Add rfid, mtsrd, mtsrdin, mtmsrd.
1411 * z8k-dis.c: Fix formatting.
1415 * ia64-ic.tbl (pr-readers-nobr-nomovpr): Add addl, adds. Delete
1416 break, mov-immediate, nop.
1417 * ia64-opc-f.c: Delete fpsub instructions.
1418 * ia64-opc-m.c: Add POSTINC to all instructions with postincrement
1419 address operand. Rewrite using macros to avoid long lines.
1420 * ia64-opc.h (POSTINC): Define.
1421 * ia64-asmtab.c: Regenerate.
1425 * ia64-ic.tbl: Add missing entries.
1429 * i860-dis.c (print_br_address): Change third argument from int
1434 * ia64-dis.c (print_insn_ia64): Get byte skip count correct
1435 for MLI templates. Handle IA64_OPND_TGT64.
1439 * cgen-dis.in, cgen-asm.in, cgen-ibld.in: New files.
1440 * cgen.sh: Likewise.
1444 * ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end.
1448 * avr-dis.c (avr_operand): Use PARAMS macro in declaration.
1449 Change return type from void to int. Check the combination
1450 of operands, return 1 if valid. Fix to avoid BUF overflow.
1451 Report undefined combinations of operands in COMMENT.
1452 Report internal errors to stderr. Output the adiw/sbiw
1453 constant operand in both decimal and hex.
1454 (print_insn_avr): Disassemble ldd/std with displacement of 0
1455 as ld/st. Check avr_operand () return value, handle invalid
1456 combinations of operands like unknown opcodes.
1460 * Makefile.am (CGEN, CGENDEPS, CGENDIR, CGENFLAGS): New.
1461 (run-cgen, stamp-m32r, stamp-fr30): New targets.
1462 * Makefile.in: Regenerate.
1463 * configure.in: Add --enable-cgen-maint option.
1464 * configure: Regenerate.
1468 * cgen-opc.c (cgen_hw_lookup_by_name): 'i' is now unsigned.
1469 (cgen_hw_lookup_by_num): Ditto.
1470 (cgen_operand_lookup_by_name): Ditto.
1471 (print_address): Ditto.
1472 (print_keyword): Ditto.
1473 * cgen-dis.c (hash_insn_array): Mark unused parameters with
1475 * cgen-asm.c (hash_insn_array): Mark unused parameters with
1477 (cgen_parse_keyword): Ditto.
1481 * i860-dis.c: New file.
1482 (print_insn_i860): New function.
1483 (print_br_address): New function.
1484 (sign_extend): New function.
1485 (BITWISE_OP): New macro.
1486 (I860_REG_PREFIX): New macro.
1487 (grnames, frnames, crnames): New structures.
1489 * disassemble.c (ARCH_i860): Define.
1490 (disassembler): Add check for bfd_arch_i860 to set disassemble
1491 function to print_insn_i860.
1493 * Makefile.in (CFILES): Added i860-dis.c.
1494 (ALL_MACHINES): Added i860-dis.lo.
1495 (i860-dis.lo): New dependences.
1497 * configure.in: New bits for bfd_i860_arch.
1499 * configure: Regenerated.
1503 * Makefile.am (CFILES): Add cris-dis.c and cris-opc.c.
1504 (ALL_MACHINES): Add cris-dis.lo and cris-opc.lo.
1505 (cris-dis.lo, cris-opc.lo): New rules.
1506 * Makefile.in: Rebuild.
1507 * configure.in (bfd_cris_arch): New target.
1508 * configure: Rebuild.
1509 * disassemble.c (ARCH_cris): Define.
1510 (disassembler): Support ARCH_cris.
1511 * cris-dis.c, cris-opc.c: New files.
1512 * po/POTFILES.in, po/opcodes.pot: Regenerate.
1516 * sparc-opc.c (sparc_opcodes): popc has 0 in rs1, not rs2.
1521 * ppc-opc.c (powerpc_opcodes): Correct suffix for vslw.
1526 * hppa-dis.c (fput_reg, fput_fp_reg, fput_fp_reg_r, fput_creg,
1527 fput_const, extract_3, extract_5_load, extract_5_store,
1528 extract_5r_store, extract_5R_store, extract_10U_store,
1529 extract_5Q_store, extract_11, extract_14, extract_16, extract_21,
1530 extract_12, extract_17, extract_22): Prototype.
1531 (print_insn_hppa): Rename inner block opcode -> opc to avoid
1532 shadowing outer block.
1541 * arm-dis.c (print_insn_arm): Output combinations of PSR flags.
1545 * avr-dis.c (avr_operand): Change _ () to _() around all strings
1546 marked for translation (exception from the usual coding style).
1547 (print_insn_avr): Initialize insn2 to avoid warnings.
1551 * h8300-dis.c (bfd_h8_disassemble): Improve readability.
1552 * h8500-dis.c: Fix formatting.
1556 * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed
1557 (CLEANFILES): Add DEPA.
1558 * Makefile.in: Regenerate.
1562 * arm-dis.c (regnames): Add an additional register set to match
1563 the set used by GCC. Make it the default.
1567 * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
1569 * Makefile.in: Regenerate.
1573 * Makefile.am: Rebuild dependency.
1574 * Makefile.in: Rebuild.
1578 * Makefile.in, configure: regenerate
1579 * disassemble.c (disassembler): Recognize ARCH_m68hc12,
1581 * m68hc11-dis.c (read_memory, print_insn, print_insn_m68hc12):
1583 * configure.in: Recognize m68hc12 and m68hc11.
1584 * m68hc11-dis.c, m68hc11-opc.c: New files for support of m68hc1x
1585 * Makefile.am (CFILES, ALL_MACHINES): New files for disassembly
1586 and opcode generation for m68hc11 and m68hc12.
1590 * disassemble.c (disassembler): Refer to the PowerPC 620 using
1591 bfd_mach_ppc_620 instead of 620.
1595 * h8300-dis.c: Fix formatting.
1596 (bfd_h8_disassemble): Distinguish adds/subs, inc/dec.[wl]
1601 * avr-dis.c (avr_operand): Bugfix for jmp/call address.
1605 * avr-dis.c: completely rewritten.
1609 * h8300-dis.c: Follow the GNU coding style.
1610 (bfd_h8_disassemble) Fix a typo.
1614 * h8300-dis.c (bfd_h8_disassemble_init): Fix a typo.
1615 (bfd_h8_disassemble): Distinguish the operand size of inc/dev.[wl]
1616 correctly. Fix a typo.
1620 * opintl.h (_(String)): Explain why dgettext is used instead of
1625 * opintl.h (gettext, dgettext, dcgettext, textdomain,
1626 bindtextdomain): Replace defines with those from intl/libgettext.h
1627 to quieten gcc warnings.
1631 * Makefile.am: Update dependencies with "make dep-am"
1632 * Makefile.in: Regenerate.
1636 * m10300-dis.c (disassemble): Don't assume 32-bit longs when
1637 sign-extending operands.
1641 * d10v-opc.c (d10v_opcodes): add ALONE tag to all short branches
1646 * Makefile.am (LIBIBERTY): Define.
1650 * mips-dis.c (REGISTER_NAMES): Rename to STD_REGISTER_NAMES.
1651 (STD_REGISTER_NAMES): New name for REGISTER_NAMES.
1652 (reg_names): Rename to std_reg_names. Change it to a char **
1654 (std_reg_names): New name for reg_names.
1655 (set_mips_isa_type): Set reg_names to point to std_reg_names by
1660 * fr30-desc.h: Partially regenerated to account for changed
1661 CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros.
1662 * m32r-desc.h: Ditto.
1666 * arm-opc.h: Use upper case for flasg in MSR and MRS
1667 instructions. Allow any bit to be set in the field_mask of
1668 the MSR instruction.
1670 * arm-dis.c (print_insn_arm): Decode _x and _s bits of the
1671 field_mask of an MSR instruction.
1675 * arm-opc.h: Disassembly of thumb ldsb/ldsh
1676 instructions changed to ldrsb/ldrsh.
1680 * mips-dis.c (print_insn_arg): Don't mask top 32 bits of 64-bit
1681 target addresses for 'jal' and 'j'.
1685 * ppc-opc.c (powerpc_opcodes): Make the predicted-branch opcodes
1686 also available in common mode when powerpc syntax is being used.
1690 * m68k-dis.c (dummy_printer): Add ATTRIBUTE_UNUSED to args.
1691 (dummy_print_address): Ditto.
1695 * tic54x-opc.c: New.
1696 * tic54x-dis.c: New.
1697 * disassemble.c (disassembler): Add ARCH_tic54x.
1698 * configure.in: Added tic54x target.
1700 * Makefile.am: Add tic54x dependencies.
1701 * Makefile.in: Ditto.
1705 * ppc-opc.c (VA, VB, VC, VD, VS, SIMM, UIMM, SHB): New macros, for
1706 vector unit operands.
1707 (VX, VX_MASK, VXA, VXA_MASK, VXR, VXR_MASK): New macros, for vector
1708 unit instruction formats.
1709 (PPCVEC): New macro, mask for vector instructions.
1710 (powerpc_operands): Add table entries for above operand types.
1711 (powerpc_opcodes): Add table entries for vector instructions.
1713 * ppc-dis.c (print_insn_big_powerpc): Add PPC_OPCODE_ALTIVEC to mask.
1714 (print_insn_little_powerpc): Likewise.
1715 (print_insn_powerpc): Prepend 'v' when printing vector registers.
1719 * configure.in: Add bfd_powerpc_64_arch.
1720 * disassemble.c (disassembler): Use print_insn_big_powerpc for
1725 * fr30-desc.c (fr30_cgen_cpu_open): Initialise signed_overflow
1730 * avr-dis.c (reg_fmul_d): New. Extract destination register from
1732 (reg_fmul_r): New. Extract source register from FMUL instruction.
1733 (reg_muls_d): New. Extract destination register from MULS instruction.
1734 (reg_muls_r): New. Extract source register from MULS instruction.
1735 (reg_movw_d): New. Extract destination register from MOVW instruction.
1736 (reg_movw_r): New. Extract source register from MOVW instruction.
1737 (print_insn_avr): Handle MOVW, MULS, MULSU, FMUL, FMULS, FMULSU,
1738 EICALL, EIJMP, LPM r,Z, ELPM r,Z, SPM, ESPM instructions.
1742 * ia64-gen.c (general): Add an ordered table of primary
1743 opcode names, as well as priority fields to disassembly data
1744 structures to enforce a preferred disassembly format based on the
1745 ordering of the opcode tables.
1746 (load_insn_classes): Show a useful message if IC tables are missing.
1747 (load_depfile): Ditto.
1748 * ia64-asmtab.h (struct ia64_dis_names ): Add priority flag to
1749 distinguish preferred disassembly.
1750 * ia64-opc-f.c: Reorder some insn for preferred disassembly
1751 format. Fix incorrect flag on fma.s/fma.s.s0.
1752 * ia64-opc.c: Scan *all* disassembly matches and use the one with
1753 the highest priority.
1754 * ia64-opc-b.c: Use more abbreviations.
1755 * ia64-asmtab.c: Regenerate.
1759 * hppa-dis.c (extract_16): New function.
1760 (print_insn_hppa): Fix incorrect handling of 'fe'. Added handling of
1761 new operand types l,y,&,fe,fE,fx.
1769 * Makefile.am (HFILES): Add ia64-asmtab.h, ia64-opc.h.
1770 (CFILES): Add ia64-dis.c, ia64-opc-a.c, ia64-opc-b.c, ia64-opc-f.c,
1771 ia64-opc-i.c, ia64-opc-m.c, ia64-opc-d.c, ia64-opc.c, ia64-gen.c,
1773 (ALL_MACHINES): Add ia64-dis.lo, ia64-opc.lo.
1774 (ia64-ic.tbl, ia64-raw.tbl, ia64-waw.tbl, ia64-war.tbl, ia64-gen,
1775 ia64-gen.o, ia64-asmtab.c, ia64-dis.lo, ia64-opc.lo): New rules.
1776 * Makefile.in: Rebuild.
1777 * configure Rebuild.
1778 * configure.in (bfd_ia64_arch): New target.
1779 * disassemble.c (ARCH_ia64): Define.
1780 (disassembler): Support ARCH_ia64.
1781 * ia64-asmtab.c, ia64-asmtab.h, ia64-dis.c, ia64-gen.c ia64-ic.tbl,
1782 ia64-opc-a.c, ia64-opc-b.c, ia64-opc-d.c ia64-opc-f.c, ia64-opc-i.c,
1783 ia64-opc-m.c, ia64-opc-x.c, ia64-opc.c, ia64-opc.h, ia64-raw.tbl,
1784 ia64-war.tbl, ia64-waw.tbl: New files.
1788 * m10300-dis.c (HAVE_AM30, HAVE_AM33): Define.
1789 (disassemble): Use them.
1793 * sysdep.h: Include "ansidecl.h" not <ansidecl.h>
1794 * Makefile.am: Update dependencies.
1795 * Makefile.in: Regenerate.
1799 * a29k-dis.c, alpha-dis.c, alpha-opc.c, arc-dis.c, arc-opc.c,
1800 avr-dis.c, d10v-dis.c, d10v-opc.c, d30v-dis.c, d30v-opc.c,
1801 disassemble.c, h8300-dis.c, h8500-dis.c, hppa-dis.c, i370-dis.c,
1802 i370-opc.c, i960-dis.c, m10200-dis.c, m10200-opc.c, m10300-dis.c,
1803 m10300-opc.c, m68k-dis.c, m68k-opc.c, m88k-dis.c, mcore-dis.c,
1804 mips-dis.c, mips-opc.c, mips16-opc.c, pj-dis.c, pj-opc.c,
1805 ppc-dis.c, ppc-opc.c, sh-dis.c, sparc-dis.c, sparc-opc.c,
1806 tic80-dis.c, tic80-opc.c, v850-dis.c, v850-opc.c, vax-dis.c,
1807 w65-dis.c, z8k-dis.c, z8kgen.c: Include sysdep.h. Remove
1808 ansidecl.h as sysdep.h includes it.
1812 * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add
1813 --enable-build-warnings option.
1814 * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
1815 * Makefile.in, configure: Re-generate.
1819 * sh-opc.h (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs.
1820 stc GBR,@-<REG_N> is available for arch_sh1_up.
1821 Group parallel processing insn with identical mnemonics together.
1822 Make three-operand psha / pshl come first.
1826 * sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4.
1827 Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
1828 (sh_arg_type): Add A_PC.
1829 (sh_table): Update entries using immediates. Add repeat.
1830 * sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4.
1831 Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
1835 * po/opcodes.pot: Regenerate.
1837 * Makefile.am (MKDEP): Use gcc -MM rather than mkdep.
1838 (DEP): Quote when passing vars to sub-make. Add warning message
1840 (DEP1): Rewrite for "gcc -MM".
1841 (CLEANFILES): Add DEP2.
1842 Update dependencies.
1843 * Makefile.in: Regenerate.
1847 * avr-dis.c: Syntax cleanup.
1848 (add0fff): Print the pc relative address as a signed number.
1849 (add03f8): Likewise.
1853 * disassemble.c (disassembler_usage): Don't use a prototype. Mark
1854 the parameter ATTRIBUTE_UNUSED.
1855 * ppc-opc.c: Add ATTRIBUTE_UNUSED as needed.
1859 * m10300-opc.c: SP-based offsets are always unsigned.
1863 * arm-opc.h (thumb_opcodes): Disassemble 0xde.. to "bal"
1864 [branch always] instead of "undefined".
1868 * d30v-opc.c (d30v_format_table): Move SHORT_AR to end of list of
1869 short instructions, from end of list of long instructions.
1873 * Makefile.am (CFILES): Add avr-dis.c.
1874 (ALL_MACHINES): Add avr-dis.lo.
1878 * avr-dis.c (add0fff, add03f8): Don't use structure bitfields to
1880 (print_insn_avr): Call function via pointer in K&R compatible way.
1881 (dispLDD, regPP, reg50, reg104, reg40, reg20w, lit404, lit204,
1882 add0fff, add03f8): Convert to old style function declaration and
1884 (avrdis_opcode): Add prototype.
1888 * avr-dis.c: New file. AVR disassembler.
1889 * configure.in (bfd_avr_arch): New architecture support.
1890 * disassemble.c: Likewise.
1891 * configure: Regenerate.
1895 * sh-opc.h (sh_table): ldre and ldrs have a *signed* displacement.
1899 * d30v-dis.c (print_insn): Remove d*i hacks. Use per-operand
1900 flag to determine if operand is pc-relative.
1902 (d30v_format_table):
1903 (REL6S3): Renamed from IMM6S3.
1904 Added flag OPERAND_PCREL.
1905 (REL12S3, REL18S3, REL32): Split from IMM12S3, IMM18S3, REL32, with
1906 added flag OPERAND_PCREL.
1907 (IMM12S3U): Replaced with REL12S3.
1908 (SHORT_D2, LONG_D): Delay target is pc-relative.
1909 (SHORT_B2r, SHORT_B3r, SHORT_B3br, SHORT_D2r, LONG_Ur, LONG_2r):
1910 Split from SHORT_B2, SHORT_D2, SHORT_B3b, SHORT_D2, LONG_U, LONG_2r,
1911 using the REL* operands.
1912 (LONG_2br, LONG_Dr): Likewise, from LONG_2b, LONG_D.
1913 (SHORT_D1r, SHORT_D2Br, LONG_Dbr): Renamed from SHORT_D1, SHORT_D2B,
1914 LONG_Db, using REL* operands.
1915 (SHORT_U, SHORT_A5S): Removed stray alternatives.
1916 (d30v_opcode_table): Use new *r formats.
1920 * m32r-desc.c (m32r_cgen_cpu_open): Replace 'flags' with
1921 'signed_overflow_ok_p'.
1925 * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
1926 name of the libtool directory.
1927 * Makefile.in: Rebuild.
1931 * cgen-opc.c (cgen_set_signed_overflow_ok): New function.
1932 (cgen_clear_signed_overflow_ok): New function.
1933 (cgen_signed_overflow_ok_p): New function.
1937 * m32r-asm.c, m32r-desc.c, m32r-desc.h, m32r-dis.c,
1938 m32r-ibld.c, m32r-opc.h: Rebuild.
1942 * i370-dis.c, i370-opc.c: New.
1944 * disassemble.c (ARCH_i370): Define.
1945 (disassembler): Handle it.
1947 * Makefile.am: Add support for Linux/IBM 370.
1948 * configure.in: Likewise.
1950 * Makefile.in: Regenerate.
1951 * configure: Likewise.
1955 * d30v-opc.c (d30v_opcode_tab) : Added FLAG_NOT_WITH_ADDSUBppp to
1956 ST2H, STB, STH, STHH, STW and ST2H opcodes to prohibit parallel
1961 * mips-dis.c (_print_insn_mips): New arg for OPCODE_IS_MEMBER:
1963 * mips-opc.c (G6): New define.
1964 (mips_builtin_op): Add "move" definition for -gp32.
1969 * ppc-opc.c: Correct dcread--it takes 3 arguments, not 2.
1973 * dis-buf.c (buffer_read_memory): Change `length' param and all int
1978 * sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
1979 (print_insn_ppi): Likewise.
1980 (print_insn_shx): Use info->mach to select appropriate insn set.
1981 Add support for sh-dsp. Remove FD_REG_N support.
1982 * sh-opc.h (sh_nibble_type): Add new values for sh-dsp support.
1983 (sh_arg_type): Likewise. Remove FD_REG_N.
1984 (sh_dsp_reg_nums): New enum.
1985 (arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros.
1986 (arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise.
1987 (arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise.
1988 (arch_sh3_dsp_up): Likewise.
1989 (sh_opcode_info): New field: arch.
1990 (sh_table): Split up insn with FD_REG_N into ones with F_REG_N and
1991 D_REG_N. Fill in arch field. Add sh-dsp insns.
1995 * arm-dis.c: Change flavor name from atpcs-special to
1996 special-atpcs to prevent name conflict in gdb.
1997 (get_arm_regname_num_options, set_arm_regname_option,
1998 get_arm_regnames): New functions. API to access the several
1999 flavor of register names. Note: Used by gdb.
2000 (print_insn_thumb): Use the register name entry from the currently
2001 selected flavor for LR and PC.
2005 * mcore-opc.h (enum mcore_opclass): Add MULSH and OPSR
2007 (mcore_table): Add "idly4", "psrclr", "psrset", "mulsh" and
2008 "mulsh.h" instructions.
2009 * mcore-dis.c (imsk array): Add masks for MULSH and OPSR
2011 (print_insn_mcore): Add support for little endian targets.
2012 Add support for MULSH and OPSR classes.
2016 * arm-dis.c (parse_arm_diassembler_option): Rename again.
2017 Previous delat did not take.
2021 * dis-buf.c (buffer_read_memory): Use octets_per_byte field
2022 to adjust target address bounds checking and calculate the
2023 appropriate octet offset into data.
2027 * arm-dis.c: (parse_disassembler_option): Rename to
2028 parse_arm_disassembler_option and allow to be exported.
2030 * disassemble.c (disassembler_usage): New function: Print out any
2031 target specific disassembler options.
2032 Call arm_disassembler_options() if the ARM architecture is being
2035 * arm-dis.c (NUM_ELEM): Define this macro if not already
2037 (arm_regname): New struct type for ARM register names.
2038 (arm_toggle_regnames): Delete.
2039 (parse_disassembler_option): Use register name structure.
2040 (print_insn): New function: Combines duplicate code found in
2041 print_insn_big_arm and print_insn_little_arm.
2042 (print_insn_big_arm): Call print_insn.
2043 (print_insn_little_arm): Call print_insn.
2044 (print_arm_disassembler_options): Display list of supported,
2045 ARM specific disassembler options.
2049 * arm-dis.c (printf_insn_big_arm): Treat ELF symbols with the
2050 ARM_STT_16BIT flag as Thumb code symbols.
2052 * arm-dis.c (printf_insn_little_arm): Ditto.
2056 * arm-dis.c (printf_insn_thumb): Prevent double dumping
2057 of raw thumb instructions.
2061 * mcore-opc.h (mcore_table): Add "add" as an alias for "addu".
2065 * arm-dis.c (streq): New macro.
2066 (strneq): New macro.
2067 (force_thumb): ew local variable.
2068 (parse_disassembler_option): New function: Parse a single, ARM
2069 specific disassembler command line switch.
2070 (parse_disassembler_option): Call parse_disassembler_option to
2071 parse individual command line switches.
2072 (print_insn_big_arm): Check force_thumb.
2073 (print_insn_little_arm): Check force_thumb.
2075 For older changes see ChangeLog-9899
2081 version-control: never