opcodes/
[platform/upstream/binutils.git] / opcodes / ChangeLog
1 2009-11-14  Doug Evans  <dje@sebabeach.org>
2
3         * Makefile.am (stamp-xc16x): Use ../cpu/xc16x.cpu instead of
4         ../cgen/cpu.
5         * Makefile.in: Regenerate.
6
7 2009-11-13  H.J. Lu  <hongjiu.lu@intel.com>
8
9         * i386-dis.c (OP_E_extended): Removed.
10
11 2009-11-13  H.J. Lu  <hongjiu.lu@intel.com>
12
13         * i386-dis.c (print_insn): Check rex_ignored.
14
15 2009-11-13  H.J. Lu  <hongjiu.lu@intel.com>
16
17         * i386-dis.c (ckprefix): Updated to return 0 if number of
18         prefixes > 14 and record the last position for each prefix.
19         (lock_prefix): Removed.
20         (data_prefix): Likewise.
21         (addr_prefix): Likewise.
22         (repz_prefix): Likewise.
23         (repnz_prefix): Likewise.
24         (last_lock_prefix): New.
25         (last_repz_prefix): Likewise.
26         (last_repnz_prefix): Likewise.
27         (last_data_prefix): Likewise.
28         (last_addr_prefix): Likewise.
29         (last_rex_prefix): Likewise.
30         (last_seg_prefix): Likewise.
31         (MAX_CODE_LENGTH): Likewise.
32         (ADDR16_PREFIX): Likewise.
33         (ADDR32_PREFIX): Likewise.
34         (DATA16_PREFIX): Likewise.
35         (DATA32_PREFIX): Likewise.
36         (REP_PREFIX): Likewise.
37         (seg_prefix): Likewise.
38         (all_prefixes): Change size to MAX_CODE_LENGTH - 1.
39         (prefix_name): Handle ADDR16_PREFIX, ADDR32_PREFIX,
40         DATA16_PREFIX, DATA32_PREFIX and REP_PREFIX.
41         (get_valid_dis386): Updated.
42         (OP_C): Likewise.
43         (OP_Monitor): Likewise.
44         (REP_Fixup): Likewise.
45         (print_insn): Display all prefixes.
46         (putop): Set PREFIX_DATA on used_prefixes only if it is used.
47         (intel_operand_size): Likewise.
48         (OP_E_register): Likewise.
49         (OP_G): Likewise.
50         (OP_REG): Likewise.
51         (OP_IMREG): Likewise.
52         (OP_I): Likewise.
53         (OP_I64): Likewise.
54         (OP_sI): Likewise.
55         (CRC32_Fixup): Likewise.
56         (MOVBE_Fixup): Likewise.
57         (OP_E_memory): Set REFIX_DATA on used_prefixes when it is used
58         in 16bit mode.
59         (OP_J): Set REX_W used if it is used. Set PREFIX_DATA on
60         used_prefixes only if it is used.
61
62 2009-11-12  H.J. Lu  <hongjiu.lu@intel.com>
63
64         * i386-opc.tbl: Remove IsLockable from add, adc, and, dec, inc,
65         or, sbb, sub, xor and xchg with register only operands.
66         * i386-tbl.h: Regenerated.
67
68 2009-11-12  H.J. Lu  <hongjiu.lu@intel.com>
69
70         * i386-gen.c (opcode_modifiers): Add IsLockable.
71
72         * i386-opc.h (IsLockable): New.
73         (i386_opcode_modifier): Add islockable.
74
75         * i386-opc.tbl: Add IsLockable to add, adc, and, btc, btr,
76         bts, cmpxchg, cmpxch8b, dec, inc, neg, not, or, sbb, sub,
77         xor, xadd and xchg.
78         * i386-tbl.h: Regenerated.
79
80 2009-11-12  Daniel Jacobowitz  <dan@codesourcery.com>
81
82         * arm-dis.c (coprocessor_opcodes): Use %A instead of %C.  Remove
83         generic coprocessor instructions for FPA loads and stores.
84         (print_insn_coprocessor): Remove %C support.  Display address for
85         PC-relative offsets in %A.
86
87 2009-11-11  H.J. Lu  <hongjiu.lu@intel.com>
88
89         * i386-dis.c (all_prefixes): New.
90         (ckprefix): Set all_prefixes.
91         (print_insn): Print all_prefixes instead of lock_prefix,
92         repz_prefix, repnz_prefix, addr_prefix and data_prefix.
93
94 2009-11-11  Nick Clifton  <nickc@redhat.com>
95
96         PR binutils/10924
97         * arm-dis.c (UNPREDICTABLE_INSTRUCTION): New macro.
98         (print_insn_arm): Extend %s format control code to check for
99         unpredictable addressing modes.  Add support for %S format control
100         code which suppresses this check.
101         (W_BIT, I_BIT, U_BIT, P_BIT): New macros.
102         (WRITEBACK_BIT_SET, IMMEDIATE_BIT_SET, NEGATIVE_BIT_SET,
103         PRE_BIT_SET): New macros.
104         (print_insn_coprocessor): Use the new macros instead of magic
105         constants.
106         (print_arm_address): Likewise.
107         (pirnt_insn_arm): Likewise.
108         (print_insn_thumb32): Likewise.
109
110 2009-11-11  Nick Clifton  <nickc@redhat.com>
111
112         * po/id.po: Updated Indonesian translation.
113
114 2009-11-10  Maxim Kuvyrkov  <maxim@codesourcery.com>
115
116         * m68k-dis.c (print_insn_arg): Handle RGPIOBAR, ACR[4-7] and MBAR[01].
117
118 2009-11-06  Sebastian Pop  <sebastian.pop@amd.com>
119
120         * i386-dis.c (reg_table): Add XOP_8F_TABLE (XOP_09) to
121         reg_table[REG_8F][1]: for XOP instructions, ModRM.reg first points to
122         B.mm in the RXB.mmmmm byte, and so when B is set, we still should use
123         the xop_table.
124         (get_valid_dis386): Removed unused condition (from cut/n/paste) for
125         XOP instructions.
126
127 2009-11-05  Sebastian Pop  <sebastian.pop@amd.com>
128             Quentin Neill  <quentin.neill@amd.com>
129
130         * opcodes/i386-dis.c (OP_LWPCB_E): New.
131         (OP_LWP_E): New.
132         (OP_LWP_I): New.
133         (USE_XOP_8F_TABLE): New.
134         (XOP_8F_TABLE): New.
135         (REG_XOP_LWPCB): New.
136         (REG_XOP_LWP): New.
137         (XOP_09): New.
138         (XOP_0A): New.
139         (reg_table): Redirect REG_8F to XOP_8F_TABLE.
140         Add entries for REG_XOP_LWPCB and REG_XOP_LWP.
141         (xop_table): New.
142         (get_valid_dis386): Handle USE_XOP_8F_TABLE.
143         Use the offsets VEX_0F, VEX_0F38, and VEX_0F3A instead of their values
144         to access to the vex_table.
145         (OP_LWPCB_E): New.
146         (OP_LWP_E): New.
147         (OP_LWP_I): New.
148         * opcodes/i386-gen.c (cpu_flag_init): Add CPU_LWP_FLAGS, CpuLWP.
149         (cpu_flags): Add CpuLWP.
150         (opcode_modifiers): Add VexLWP, XOP09, and XOP0A.
151         * opcodes/i386-opc.h (CpuLWP): New.
152         (i386_cpu_flags): Add bit cpulwp.
153         (VexLWP): New.
154         (XOP09): New.
155         (XOP0A): New.
156         (i386_opcode_modifier): Add vexlwp, xop09, and xop0a.
157         * opcodes/i386-opc.tbl (llwpcb): Added.
158         (lwpval): Added.
159         (lwpins): Added.
160
161 2009-11-04  DJ Delorie  <dj@redhat.com>
162
163         * rx-decode.opc (rx_decode_opcode) (mvtipl): Add.
164         (mvtcp, mvfcp, opecp): Remove.
165         * rx-decode.c: Regenerate.
166         * rx-dis.c (cpen): Remove.
167
168 2009-11-03  Doug Evans  <dje@sebabeach.org>
169
170         * m32c-desc.c: Regenerate.
171         * mep-desc.c: Regenerate.
172
173 2009-11-02  Paul Brook  <paul@codesourcery.com>
174
175         * arm-dis.c (coprocessor_opcodes): Update to use new feature flags.
176         Add VFPv4 instructions.
177
178 2009-10-29  Sebastian Pop  <sebastian.pop@amd.com>
179
180         * i386-dis.c (OP_VEX_FMA): Removed.
181         (VexFMA): Removed.
182         (Vex128FMA): Removed.
183         (prefix_table): First source operand of FMA4 insns is decoded
184         with Vex not with VexFMA.
185         (OP_EX_VexW): Second source operand is decoded with get_vex_imm8
186         when vex.w is set.  Third source operand is decoded with
187
188 2009-10-27  Alan Modra  <amodra@bigpond.net.au>
189
190         * Makefile.am (HFILES): Remove cgen-ops.h and cgen-types.h.
191         * Makefile.in: Regenerate.
192         * po/POTFILES.in: Regenerate.
193
194 2009-10-23  Doug Evans  <dje@sebabeach.org>
195
196         * cgen-ops.h: Delete, moved to ../include/cgen/basic-ops.h.
197         * cgen-types.h: Delete, moved to ../include/cgen/basic-modes.h.
198         * cgen-bitset.c: Update.
199         * fr30-desc.h: Regenerate.
200         * frv-desc.h: Regenerate.
201         * ip2k-desc.h: Regenerate.
202         * iq2000-desc.h: Regenerate.
203         * lm32-desc.h: Regenerate.
204         * m32c-desc.h: Regenerate.
205         * m32c-opc.h: Regenerate.
206         * m32r-desc.h: Regenerate.
207         * mep-desc.h: Regenerate.
208         * mt-desc.h: Regenerate.
209         * openrisc-desc.h: Regenerate.
210         * xc16x-desc.h: Regenerate.
211         * xstormy16-desc.h: Regenerate.
212
213 2009-10-22  DJ Delorie  <dj@redhat.com>
214
215         * rx-decode.opc (decode_opcode): Fix flags for MUL, SUNTIL, and SWHILE.
216         * rx-decode.c: Regenerated.
217
218 2009-10-20  H.J. Lu  <hongjiu.lu@intel.com>
219
220         PR gas/10775
221         * i386-dis.c: Document LB, LS and LV macros.
222         (dis386): Use mov%LB, mov%LS and mov%LV on mov instruction
223         with the 64-bit displacement or immediate operand.
224         (putop): Handle LB, LS and LV macros.
225
226 2009-10-18  Doug Evans  <dje@sebabeach.org>
227
228         * lm32-opinst.c: Regenerate.
229         * m32c-desc.c: Regenerate.
230         * m32r-opinst.c: Regenerate.
231         * openrisc-ibld.c: Regenerate.
232         * xc16x-desc.c: Regenerate.
233         * xc16x-desc.h: Regenerate.
234
235 2009-10-17  Doug Evans  <dje@sebabeach.org>
236
237         * Makefile.am (CGEN_CPUS): Add iq2000, lm32.
238         (FR30_DEPS, FRV_DEPS, IQ2000_DEPS): Move so all cgen *_DEPS are
239         sorted alphabetically.
240         (stamp-fr30, stamp-frv, stamp-iq2000, stamp-xc16x): Move so all cgen
241         stamp-* rules are sorted alphabetically.
242         * Makefile.in: Regenerate.
243
244 2009-10-16  H.J. Lu  <hongjiu.lu@intel.com>
245
246         * i386-opc.h: Use enum instead of nested macros.
247
248 2009-10-16  H.J. Lu  <hongjiu.lu@intel.com>
249
250         * i386-dis.c: Simplify enums.
251
252 2009-10-15  H.J. Lu  <hongjiu.lu@intel.com>
253             Ineiev <ineiev@gmail.com>
254
255         PR binutils/10767
256         * i386-dis.c: Use enum instead of nested macros.
257
258 2009-10-15  H.J. Lu  <hongjiu.lu@intel.com>
259
260         * i386-dis.c (MAX_BYTEMODE): Removed.
261
262 2009-10-14  Tomas Hurka  <tom@hukatronic.cz>
263
264         PR 969
265         * m68k-opc.c (m68k_opcodes): Correct mask for macl and msacl.
266
267 2009-10-13  H.J. Lu  <hongjiu.lu@intel.com>
268
269         * i386-dis.c (print_insn): Always clear need_vex, need_vex_reg
270         and vex_w_done.
271
272 2009-10-07  Michael Eager  <eager@eagercon.com>
273
274         * microblaze-dis.c: Add include for microblaze-dis.h,
275         eliminate local extern decls.
276         * microblaze-dis.h: New.
277
278 2009-10-06  Nick Clifton  <nickc@redhat.com>
279
280         * po/fi.po: Updated Finnish translation.
281
282 2009-10-03  Andreas Schwab  <schwab@linux-m68k.org>
283
284         * opc2c.c: Include "libiberty.h" and <errno.h>.
285         (orig_filename): Constify.
286         (dump_lines): Fix line number directive.
287         (main): Set orig_filename to basename of input file.  Use
288         xstrerror.
289
290         * Makefile.am (rx-dis.lo): Remove explicit dependencies.
291         ($(srcdir)/rx-decode.c): Use @MAINT@.  Use $(EXEEXT_FOR_BUILD)
292         instead of $(EXEEXT).
293         (opc2c$(EXEEXT_FOR_BUILD)): Renamed from opc2c$(EXEEXT) and use
294         $(LINK_FOR_BUILD).  Link with libiberty.
295         (MOSTLYCLEANFILES): Add opc2c$(EXEEXT_FOR_BUILD).
296         (MAINTAINERCLEANFILES): Add $(srcdir)/rx-decode.c.
297         * Makefile.in: Regenerated.
298         * rx-decode.c: Regenerated.
299
300 2009-10-03  Paul Reed  <paulreed@paddedcell.com>
301
302         * arm-dis.c (print_insn): Check symtab_size not *symtab.
303
304 2009-10-02  H.J. Lu  <hongjiu.lu@intel.com>
305
306         * i386-opc.tbl: Drop Disp64 on jump and loop instructions.
307         * i386-tbl.h: Regenerated.
308
309 2009-10-02  Peter Bergner  <bergner@vnet.ibm.com>
310
311         * ppc-dis.c (ppc_opts): Add "476" entry.
312         * ppc-opc.c (PPC476): Define.
313         (powerpc_opcodes): Update mnemonics where required for 476.
314
315 2009-10-01  Peter Bergner  <bergner@vnet.ibm.com>
316
317         * ppc-opc.c (PPCA2): Use renamed mask PPC_OPCODE_A2.
318         * ppc-dis.c (ppc_opts): Likewise.
319         Rename "ppca2" to "a2".
320
321 2009-10-01  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
322
323         * crx-dis.c (match_opcode): Truncate mcode to 32-bit.
324
325 2009-09-29  DJ Delorie  <dj@redhat.com>
326
327         * Makefile.am: Add RX files.
328         * configure.in: Add support for RX target.
329         * disassemble.c: Likewise.
330         * Makefile.in: Regenerate.
331         * configure: Regenerate.
332         * opc2c.c: New file.
333         * rx-decode.c: New file.
334         * rx-decode.opc: New file.
335         * rx-dis.c: New file.
336
337 2009-09-29  Peter Bergner  <bergner@vnet.ibm.com>
338
339         * ppc-opc.c (powerpc_opcodes): Remove support for the the "lxsdux",
340         "lxvd2ux", "lxvw4ux", "stxsdux", "stxvd2ux" and "stxvw4ux" opcodes.
341
342 2009-09-25  Michael Eager  <eager@eagercon.com>
343
344         * microblaze-dis.c (get_insn_microblaze, microblaze_get_target_address,
345         microblaze_decode_insn): Add declarations.
346         (get_delay_slots_microblaze): Remove.
347
348 2009-09-25  Martin Thuresson  <martint@google.com>
349
350         Update sources to make arc and arm targets compile cleanly with
351         -Wc++-compat:
352         * arc-dis.c Fix casts.
353         * arc-ext.c: Add casts.
354         * arm-dis.c (enum opcode_sentinel_enum): Gave name to anonymous
355         enum.
356
357 2009-09-24  H.J. Lu  <hongjiu.lu@intel.com>
358
359         * i386-gen.c (opcode_modifiers): Remove Vex256.
360         (set_bitfield): Handle XXX=V.
361
362         * i386-opc.h (Vex): Update comments.
363         (Vex256): Removed.
364         (VexNDS): Updated.
365         (i386_opcode_modifier): Change vex to 2 bits.  Remove vex256.
366
367         * i386-opc.tbl: Replace "Vex|Vex256" with Vex=2.
368         * i386-tbl.h: Regenerated.
369
370 2009-09-23  Nick Clifton  <nickc@redhat.com>
371
372         * po/fr.po: Updated French translation.
373
374 2009-09-21  Ben Elliston  <bje@au.ibm.com>
375             Peter Bergner  <bergner@vnet.ibm.com>
376
377         * ppc-dis.c (ppc_opts): Add "ppca2" entry.
378         * ppc-opc.c (powerpc_opcodes): Add eratilx, eratsx, eratsx.,
379         eratre, wchkall, eratwe, ldawx., mdfcrx., mfdcr. mtdcrx., icswx,
380         icswx., mtdcr., dci, wclrone, wclrall, wclr, erativax, tlbsrx.,
381         ici mnemonics.
382         (ERAT_T): New operand.
383         (XWC_MASK): New mask.
384         (XOPL2): New macro.
385         (PPCA2): Define.
386
387 2009-09-18  Nick Clifton  <nickc@redhat.com>
388
389         * po/es.po: Updated Spanish translation.
390         * po/vi.po: Updated Vietnamese translation.
391
392 2009-09-15  H.J. Lu  <hongjiu.lu@intel.com>
393
394         * i386-dis.c (OP_E_memory): Don't print '-' in Intel mode if
395         disp == -disp.
396
397 2009-09-14  Nick Clifton  <nickc@redhat.com>
398
399         * po/nl.po: Updated Dutch translation.
400
401 2009-09-11  Nick Clifton  <nickc@redhat.com>
402
403         * po/opcodes.pot: Updated by the Translation project.
404
405 2009-09-11  Martin Thuresson  <martint@google.com>
406
407         Updated sources to compile cleanly with -Wc++-compat:
408         * ld.h (enum endian_enum,enum symbolic_enum,enum dynamic_list_enum): Move to top level.
409         * ldcref.c: Add casts.
410         * ldctor.c: Add casts.
411         * ldexp.c
412         * ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level.
413         * ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead of integer.
414         * ldlang.h (enum statement_enum): Move to top level.
415         * ldmain.c: Add casts.
416         * ldwrite.c: Add casts.
417         * lexsup.c: Add casts. (enum control_enum): Move to top level.
418         * mri.c: Add casts. (mri_draw_tree): Use enum name instead of integer.
419
420 2009-09-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
421
422         * s390-dis.c (print_insn_s390): Avoid 'long long'.
423
424 2009-09-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
425
426         * s390-dis.c (s390_extract_operand): Remove the shift for pcrel operands.
427         (print_insn_s390): Signextend and shift pcrel operands before printing.
428
429 2009-09-09  H.J. Lu  <hongjiu.lu@intel.com>
430
431         * i386-dis.c (vex_len_table): Change VEX_LEN_AE_R_X_M0 to
432         VEX_LEN_AE_R_X_M_0 in comments.
433
434 2009-09-08  DJ Delorie  <dj@redhat.com>
435
436         * mep-opc.c: Regenerate.
437
438 2009-09-08  Andreas Schwab  <schwab@linux-m68k.org>
439
440         * z8kgen.c (struct op): Replace unused flavor with id.
441         (opt): Remove extra xorb entry.
442         (func): Use id field as fallback.
443         (sub): Return new string, caller changed.
444         (internal): Allocate end marker.  Assign unique id before sorting.
445         (gas): Likewise.  Fix loop end condition.
446         * z8k-opc.h: Regenerate.
447
448 2009-09-08  Alan Modra  <amodra@bigpond.net.au>
449
450         * ppc-opc.c (powerpc_macros <extrdi>): Allow n+b of 64.
451
452 2009-09-07  Alan Modra  <amodra@bigpond.net.au>
453
454         * z8kgen.c (func): Fix thinko last patch.
455
456 2009-09-07  Alan Modra  <amodra@bigpond.net.au>
457
458         * z8kgen.c (func): Stabilize qsort of identically named entries.
459         * z8k-opc.h: Regenerate.
460
461 2009-09-07  Tristan Gingold  <gingold@adacore.com>
462
463         * po/opcodes.pot: Regenerate.
464
465 2009-09-07  Alan Modra  <amodra@bigpond.net.au>
466
467         * configure.in (BUILD_LIBS, BUILD_LIB_DEPS): Define and subst.
468         * configure: Regenerate.
469         * Makefile.am (LIBIBERTY, BUILD_LIBIBERTY, BUILD_LIBINTL): Delete.
470         (BUILD_LIBS, BUILD_LIB_DEPS): Define.  Use..
471         (i386-gen, ia64-gen, z8kgen): ..here.
472         * Makefile.in: Regenerate.
473
474 2009-09-07  Tristan Gingold  <gingold@adacore.com>
475
476         * z8k-opc.h: Regenerate.
477
478 2009-09-05  Martin Thuresson  <martin@mtme.org>
479
480         * ia64-dis.c (print_insn_ia64): Update code to use renamed member.
481         * m88k-dis.c (m88kdis): Rename variable class to in_class.
482         * tic80-opc.c (tic80_symbol_to_value, tic80_value_to_symbol):
483         Rename argument class to symbol_class.
484
485 2009-09-04  Jie Zhang  <jie.zhang@analog.com>
486
487         * bfin-dis.c (decode_pseudodbg_assert_0): Change according
488         to the new encoding of DBGA, DBGAH, and DBGAL.
489         (_print_insn_bfin): Likewise.
490
491 2009-09-03  Jie Zhang  <jie.zhang@analog.com>
492
493         * bfin-dis.c (_print_insn_bfin): Don't declare.
494         (print_insn_bfin): Don't declare.
495         (dregs_pair): Remove.
496         (ignore_bits): Remove.
497         (ccstat): Remove.
498
499 2009-09-03  Jie Zhang  <jie.zhang@analog.com>
500
501         * bfin-dis.c (IS_DREG): Define.
502         (IS_PREG): Define.
503         (IS_AREG): Define.
504         (IS_GENREG): Define.
505         (IS_DAGREG): Define.
506         (IS_SYSREG): Define.
507         (decode_REGMV_0): Check illegal register move instructions.
508
509 2009-09-03  Dave Korn  <dave.korn.cygwin@gmail.com>
510
511         * Makefile.am (BUILD_LIBINTL): New variable.
512         (i386-gen$(EXEEXT_FOR_BUILD)): Use it.
513         (ia64-gen$(EXEEXT_FOR_BUILD)): And here.
514         (z8kgen$(EXEEXT_FOR_BUILD)): And here.
515         * Makefile.in: Regenerate.
516
517 2009-09-01  DJ Delorie  <dj@redhat.com>
518
519         * mep-asm.c: Regenerate.
520         * mep-desc.c: Regenerate.
521         * mep-opc.c: Regenerate.
522
523 2009-09-01  Tristan Gingold  <gingold@adacore.com>
524
525         * makefile.vms: Ported to Itanium VMS.  Remove useless targets and
526         dependencies.  Remove unused FORMAT variable.
527         * configure.com: New file to create build.com DCL script for
528         Itanium VMS or Alpha VMS.
529
530 2009-08-29  Martin Thuresson  <martin@mtme.org>
531
532         * cris-dis.c (bytes_to_skip): Update code to use new name.
533         * i386-dis.c (putop): Update code to use new name.
534         * i386-gen.c (process_i386_opcodes): Update code to use
535         new name.
536         * i386-opc.h (struct template): Rename struct template to
537         insn_template. Update code accordingly.
538         * i386-tbl.h (i386_optab): Update type to use new name.
539         * ia64-dis.c (print_insn_ia64): Rename variable template
540         to template_val.
541         * tic30-dis.c (struct instruction, get_tic30_instruction):
542         Update code to use new name.
543         * tic54x-dis.c (has_lkaddr, get_insn_size)
544         (print_parallel_instruction, print_insn_tic54x, tic54x_get_insn):
545         Update code to use new name.
546         * tic54x-opc.c (tic54x_unknown_opcode, tic54x_optab):
547         Update type to new name.
548         * z8kgen.c (internal, gas): Rename variable new to new_op.
549
550 2009-08-28  H.J. Lu  <hongjiu.lu@intel.com>
551
552         * Makefile.am (COMPILE_FOR_BUILD): Remove BUILD_CPPFLAGS.
553         Replace BUILD_CFLAGS with CFLAGS_FOR_BUILD.
554         (LINK_FOR_BUILD): Replace BUILD_CFLAGS/BUILD_LDFLAGS with
555         CFLAGS_FOR_BUILD/LDFLAGS_FOR_BUILD.
556         * Makefile.in: Regenerated.
557
558 2009-08-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
559
560         * Makefile.am (bfdlibdir, bfdincludedir): Move definition ...
561         [INSTALL_LIBBFD]: ... here, ...
562         [INSTALL_LIBBFD]: ... and empty overrides here.
563         [!INSTALL_LIBBFD]: (rpath_bfdlibdir): New variable.
564         [!INSTALL_LIBBFD] (libbfd_la_LDFLAGS): Use it.
565         * Makefile.in: Regenerate.
566         * configure: Regenerate.
567
568 2009-08-26  Philippe De Muyter  <phdm@macqel.be>
569
570         * m68k-dis.c (print_insn_arg): Add movecr register names for
571         coldfire v4e families.
572
573 2009-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
574
575         * Makefile.am (SUBDIRS): Build '.' before 'po'.
576         (COMPILE_FOR_BUILD, LINK_FOR_BUILD, BUILD_LIBIBERTY)
577         (MOSTLYCLEANFILES, MAINTAINERCLEANFILES): New variables.
578         (i386-gen$(EXEEXT_FOR_BUILD)): Renamed from i386-gen, rewrite
579         using *BUILD variables, depend upon $(BUILD_LIBIBERTY).
580         (i386-gen.o): New rule.
581         ($(srcdir)/i386-init.h): Adjust.
582         (i386-opc.lo): Depend on $(srcdir)/i386-tbl.h.
583         (ia64-gen$(EXEEXT_FOR_BUILD)): Rename from ia64-gen, adjust likewise.
584         (ia64-gen.o): New rule.
585         (ia64_asmtab_deps): New variable.
586         ($(srcdir)/ia64-asmtab.c): Use it; adjust likewise.
587         (ia64-opc.lo): Depend on $(srcdir)/ia64-asmtab.c.
588         (s390-mkopc$(EXEEXT_FOR_BUILD)): Rename from s390-mkopc, adjust
589         likewise.
590         (s390-opc.tab): Adjust.
591         (z8kgen$(EXEEXT_FOR_BUILD), z8kgen.o, $(srcdir)/z8k-opc.h): New
592         rules.
593         (z8k-dis.lo): Depend on $(srcdir)/z8k-opc.h.
594         * Makefile.in: Regenerate.
595         * z8kgen.c (gas): Avoid '/*' in comment.
596         * z8k-opc.h (func): Regenerate.
597
598 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
599
600         * Makefile.am (TARGET_LIBOPCODES_CFILES): New variable, taken
601         from $(CFILES), sorted, with dis-buf.c, dis-init.c, disassemble.c,
602         i386-gen.c, ia64-opc-a.c, ia64-opc-b.c, ia64-opc-f.c, ia64-opc-i.c,
603         ia64-opc-m.c, ia64-opc-d.c, ia64-gen.c, ia64-asmtab.c removed, and
604         msp430-dis.c added.
605         (LIBOPCODES_CFILES): New variable, adding to
606         TARGET_LIBOPCODES_CFILES also non-target library sources.
607         (CFILES): Factorize based on $(LIBOPCODES_CFILES), adding generator
608         files.
609         (ALL_MACHINES): Factorize based on $(TARGET_LIBOPCODES_CFILES).
610         (EXTRA_libopcodes_la_SOURCES): Use $(LIBOPCODES_CFILES).
611         * Makefile.in: Regenerate.
612         * po/POTFILES.in: Regenerate.
613
614 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
615
616         * Makefile.am (libopcodes_la_LDFLAGS): Initialize early.
617         [INSTALL_LIBBFD] (bfdlib_LTLIBRARIES): Set only in this condition.
618         [INSTALL_LIBBFD] (bfdinclude_DATA): New.
619         [!INSTALL_LIBBFD] (noinst_LTLIBRARIES): New.
620         [!INSTALL_LIBBFD] (libopcodes_la_LDFLAGS): Ensure libopcodes.la
621         is built shared even if it is not to be installed.
622         (install-bfdlibLTLIBRARIES,uninstall-bfdlibLTLIBRARIES)
623         (install_libopcodes, uninstall_libopcodes): Remove.
624         (AM_CPPFLAGS): Renamed from ...
625         (INCLUDES): ... this.
626         * Makefile.in: Regenerate.
627
628         * Makefile.am (AUTOMAKE_OPTIONS): Remove 1.9 and cygnus, add
629         1.11, foreign, no-dist.
630         (MKDEP, m32c_opc_h): Remove variables.
631         (disassemble.lo): Rewrite using automake-style dependency
632         tracking rules; only list the dependency upon the primary source
633         file, but no included headers.
634         (m32c-asm.lo, m32c-desc.lo, m32c-dis.lo, m32c-ibld.lo, m32c-opc.lo)
635         (i386-gen.o, ia64-gen.o): Remove dependency statements.
636         (EXTRA_libopcodes_la_SOURCES): New variable, list $(CFILES) to
637         ensure all dependency fragments are included in the Makefile.
638         (s390-opc.lo): Depend on s390-opc.tab.
639         (DEP, DEP1, dep.sed, dep, dep-in, dep-am): Remove rules.
640         (mkdep section): Remove.
641         * Makefile.in: Regenerate.
642         * po/POTFILES.in: Regenerate.
643
644         * Makefile.am (install-pdf, install-html): Remove.
645         * Makefile.in: Regenerate.
646
647         * Makefile.in: Regenerate.
648         * aclocal.m4: Likewise.
649         * config.in: Likewise.
650         * configure: Likewise.
651
652 2009-08-06  Michael Eager <eager@eagercon.com>
653
654         * Makefile.am: Add microblaze-opc.h to HFILES, microblaze-dis.c to
655         CFILES, microblaze-dis.lo to ALL_MACHINES, targets.
656         * Makefile.in: Regenerate.
657         * configure.in: Add bfd_microblaze_arch target.
658         * configure: Regenerate.
659         * disassemble.c: Define ARCH_microblaze, return
660         print_insn_microblaze().
661         * microblaze-dis.c: New MicroBlaze disassembler.
662         * microblaze-opc.h: New MicroBlaze opcode definitions.
663         * microblaze-opcm.h: New MicroBlaze opcode types.
664
665 2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>
666
667         * configure.in: Handle bfd_l1om_arch.
668         * disassemble.c (disassembler): Likewise.
669
670         * configure: Regenerated.
671
672         * i386-dis.c (print_insn): Handle bfd_mach_l1om and
673         bfd_mach_l1om_intel_syntax.  Use 8 bytes per line for Intel L1OM.
674
675         * i386-gen.c (cpu_flag_init): Set CPU_UNKNOWN_FLAGS to ~CpuL1OM.
676         Add CPU_L1OM_FLAGS.
677         (cpu_flags): Add CpuL1OM.
678         (set_bitfield): Take an argument to set the value field.
679         (process_i386_cpu_flag): Support ~CpuXXX and ~(CpuXXX|CpuYYY).
680         (process_i386_opcode_modifier): Updated.
681         (process_i386_operand_type): Likewise.
682         * i386-init.h: Regenerated.
683         * i386-tbl.h: Likewise.
684
685         * i386-opc.h (CpuL1OM): New.
686         (CpuXsave): Updated.
687         (i386_cpu_flags): Add cpul1om.
688
689 2009-07-24  Jan Beulich  <jbeulich@novell.com>
690
691         * i386-dis.c (fgrps): Correct annotation for feni/fdisi. Add
692         frstpm.
693         * i386-gen.c (cpu_flag_init): Add FP enabling flags where needed.
694         (cpu_flags): Add Cpu8087, Cpu287, Cpu387, Cpu687, and CpuFISTTP.
695         (set_bitfield): Expand CpuFP to Cpu8087|Cpu287|Cpu387.
696         * i386-opc.h (Cpu8087, Cpu287, Cpu387, Cpu687, CpuFISTTP):
697         Define.
698         (union i386_cpu_flags): Add cpu8087, cpu287, cpu387, cpu687,
699         and cpufisttp.
700         * i386-opc.tbl: Qualify floating point instructions by their
701         respective CpuXXX flag. Fix fucom{,p,pp}, fprem1, fsin, fcos,
702         and fsincos to be avilable only on 387. Fix fstsw ax to be
703         available only on 287+. Add f{,n}eni, f{,n}disi, f{,n}setpm,
704         and frstpm.
705         * i386-init.h, i386-tbl.h: Regenerate.
706
707 2009-07-20  Nick Clifton  <nickc@redhat.com>
708
709         PR 10288
710         * arm-dis.c (arm_opcodes): Catch non-zero bits 8-11 in register
711         offset or indexed based addressing mode 3.
712
713 2009-07-14  Nick Clifton  <nickc@redhat.com>
714
715         PR 10288
716         * arm-dis.c (arm_opcodes): Catch illegal Addressing Mode 1
717         patterns.
718         (arm_decode_shift): Catch illegal register based shifts.
719         (print_insn_arm): Properly handle negative register r0
720         post-indexed addressing.
721
722 2009-07-10  Doug Kwan  <dougkwan@google.com>
723
724         * arm-disc.c (print_insn_coprocessor, print_insn_arm):  Print only
725         lower 32 bits of long types to make hexadecimal output consistent
726         on both 32-bit and 64-bit hosts.
727
728 2009-07-10  Alan Modra  <amodra@bigpond.net.au>
729
730         * fr30-desc.c, * fr30-desc.h, * fr30-opc.c, * fr30-opc.h,
731         * frv-desc.c, * frv-desc.h, * frv-opc.c, * frv-opc.h,
732         * ip2k-desc.c, * ip2k-desc.h, * ip2k-opc.c, * ip2k-opc.h,
733         * iq2000-desc.c, * iq2000-desc.h, * iq2000-opc.c, * iq2000-opc.h,
734         * lm32-desc.c, * lm32-desc.h, * lm32-opc.c, * lm32-opc.h,
735         * lm32-opinst.c, * m32c-desc.c, * m32c-desc.h, * m32c-opc.c,
736         * m32c-opc.h, * m32r-desc.c, * m32r-desc.h, * m32r-opc.c,
737         * m32r-opc.h, * m32r-opinst.c, * mt-desc.c, * mt-desc.h,
738         * mt-opc.c, * mt-opc.h, * openrisc-desc.c, * openrisc-desc.h,
739         * openrisc-opc.c, * openrisc-opc.h, * xc16x-desc.c, * xc16x-desc.h,
740         * xc16x-opc.c, * xc16x-opc.h, * xstormy16-desc.c, * xstormy16-desc.h,
741         * xstormy16-opc.c, * xstormy16-opc.h: Regenerate.
742
743 2009-07-07  Chung-Lin Tang  <cltang@pllab.cs.nthu.edu.tw>
744
745         * arm-dis.c (coprocessor_opcodes): Fix mask for waddbhus.
746
747 2009-07-07  Nick Clifton  <nickc@redhat.com>
748
749         PR 10288
750         * arm-dis.c (arm_opcodes): Be more strict about decoding scaled
751         addressing modes.
752
753 2009-07-06  DJ Delorie  <dj@redhat.com>
754
755         * mep-desc.c: Regenerate.
756         * mep-desc.h: Regenerate.
757         * mep-opc.c: Regenerate.
758         * mep-opc.h: Regenerate.
759
760 2009-07-06  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
761
762         * i386-opc.h (CpuFMA4): Add CpuFMA4.
763         (i386_cpu_flags): New.
764         * i386-gen.c: Add CPU_FMA4_FLAGS.
765         * i386-opc.tbl: Add FMA4 instructions.
766         * i386-tbl.h: Regenerate.
767         * i386-init.h: Regenerate.
768         * i386-dis.c (OP_VEX_FMA): New. Handle FMA4.
769         (OP_XMM_VexW): Ditto.
770         (OP_EX_VexW): Ditto.
771         (VEXI4_Fixup): Ditto.
772         (VexI4, VexFMA, Vex128FMA, EXVexW, EXdVexW, XMVexW): New Macros.
773         (PREFIX_VEX_3A5C, PREFIX_VEX_3A5D, PREFIX_VEX_3A5E): New.
774         (PREFIX_VEX_3A5F, PREFIX_VEX_3A60): New.
775         (PREFIX_VEX_3A68, PREFIX_VEX_3A69, PREFIX_VEX_3A6A): New.
776         (PREFIX_VEX_3A6B, PREFIX_VEX_3A6C, PREFIX_VEX_3A6D): New.
777         (PREFIX_VEX_3A6E, PREFIX_VEX_3A6F, PREFIX_VEX_3A7A): New.
778         (PREFIX_VEX_3A7B, PREFIX_VEX_3A7C, PREFIX_VEX_3A7D): New.
779         (PREFIX_VEX_3A7E, PREFIX_VEX_3A7F): New.
780         (VEX_LEN_3A6A_P_2,VEX_LEN_3A6B_P_2, VEX_LEN_3A6E_P_2): New.
781         (VEX_LEN_3A6F_P_2,VEX_LEN_3A7A_P_2, VEX_LEN_3A7B_P_2): New.
782         (VEX_LEN_3A7E_P_2,VEX_LEN_3A7F_P_2): New.
783         (get_vex_imm8): New. handle FMA4.
784         (OP_EX_VexReg): Ditto.
785
786 2009-06-30  Nick Clifton  <nickc@redhat.com>
787
788         PR 10288
789         * arm-dis.c (coprocessor): Print the LDC and STC versions of the
790         LFM and SFM instructions as comments,.
791         Improve consistency of formatting for instructions displayed as
792         comments and decimal values displayed with their hexadecimal
793         equivalents.
794         Formatting tidy ups.
795
796 2009-06-29  Nick Clifton  <nickc@redhat.com>
797
798         PR 10288
799         * arm-dis.c (enum opcode_sentinels): New:  Used to mark the
800         boundary between variaant and generic coprocessor instuctions.
801         (coprocessor): Use it.
802         Fix architecture version of MCRR and MRRC instructions.
803         (arm_opcdes): Fix patterns for STRB and STRH instructions.
804         (print_insn_coprocessor): Check architecture and extension masks.
805         Print a hexadecimal version of any decimal constant that is
806         outside of the range of -16 to +32.
807         (print_arm_address): Add a return value of the offset used in the
808         adress, if it is worth printing a hexadecimal version of it.
809         (print_insn_neon): Print a hexadecimal version of any decimal
810         constant that is outside of the range of -16 to +32.
811         (print_insn_arm): Likewise.
812         (print_insn_thumb16): Likewise.
813         (print_insn_thumb32): Likewise.
814
815         PR 10297
816         * arm-dis.c (UNDEFINED_INSTRUCTION): New macro for a description
817         of an undefined instruction.
818         (arm_opcodes): Use it.
819         (thumb_opcod): Use it.
820         (thumb32_opc): Use it.
821
822 2009-06-23  DJ Delorie  <dj@redhat.com>
823
824         * mep-desc.c: Regenerate.
825         * mep-desc.h: Regenerate.
826         * mep-dis.c: Regenerate.
827         * mep-ibld.c: Regenerate.
828         * mep-opc.c: Regenerate.
829
830         * mep-asm.c: Regenerate.
831         * mep-opc.c: Regenerate.
832         * mep-opc.h: Regenerate.
833
834 2009-06-22  Nick Clifton  <nickc@redhat.com>
835
836         * po/fi.po: Updated Finish translation.
837
838 2009-06-22  Alan Modra  <amodra@bigpond.net.au>
839
840         * m32c-asm.c: Regenerate.
841
842 2009-06-22  Alan Modra  <amodra@bigpond.net.au>
843
844         * score-dis.c (print_insn_score48, print_insn_score32): Move default
845         case label to proper lexical block.
846         * score7-dis.c (print_insn_score32): Likewise.
847
848 2009-06-19  Martin Schwidefsky  <sschwidefsky@de.ibm.com>
849
850         * s390-opc.c (INSTR_RR_0R_OPT, INSTR_RX_0RRD_OPT, MASK_RR_0R_OPT,
851         MASK_RX_0RRD_OPT): New instruction formats with optional arguments.
852         * s390-opc.txt (nopr, nop): Use new instruction format.
853
854 2009-06-18  Nick Clifton  <nickc@redhat.com>
855
856         PR 10288
857         * arm-dis.c (print_insn_coprocessor): Check that a user specified
858         ARM architecture supports the matched instruction.
859         (print_insn_arm): Likewise.
860         (select_arm_features): New function.  Fills in the fields of an
861         arm_feature_set structure based on a given arm machine number.
862         (print_insn): Initialise an arm_feature_set structure.
863
864 2009-06-16  Maciej W. Rozycki  <macro@linux-mips.org>
865
866         * vax-dis.c (is_function_entry): Return success for synthetic
867         symbols too.
868         (is_plt_tail): New function.
869         (print_insn_vax): Decode PLT entry offset longword.
870
871 2009-06-15  Nick Clifton  <nickc@redhat.com>
872
873         PR 10186
874         * arm-dis.c (thumb32_opcodes): Fix binary value of SEV.W
875         instruction.
876
877         PR 10173
878         * cr16-dis.c (print_arg): Avoid printing the 0x prefix twice.
879
880 2009-06-15  Nick Clifton  <nickc@redhat.com>
881
882         PR 10263
883         * arm-dis.c (print_insn): Ignore is_data if the user has requested
884         the disassembly of data as well as instructions.
885
886 2009-06-11  Doug Evans  <dje@sebabeach.org>
887
888         * cgen.sh: Handle multiple simultaneous runs for parallel makes.
889
890 2009-06-11  Anthony Green  <green@moxielogic.com>
891
892         * moxie-opc.c (moxie_form1_opc_info): Remove branch instructions.
893         (moxie_form3_opc_info): Add branch instructions.
894         * moxie-dis.c (print_insn_moxie): Disassemble MOXIE_F3_PCREL
895         encoded instructions.
896
897 2009-06-06  Anthony Green  <green@moxielogic.com>
898
899         * moxie-opc.c: Recode some MOXIE_F1_4 opcodes as MOXIE_F1_M.
900         * moxie-dis.c (print_insn_moxie): Handle MOXIE_F1_M case.
901
902 2009-06-04  Alan Modra  <amodra@bigpond.net.au>
903
904         * dep-in.sed: Don't use \n in replacement part of s command.
905         * Makefile.am (DEP1): LC_ALL for uniq.
906         * Makefile.in: Regenerate.
907
908 2009-06-02  Nick Clifton  <nickc@redhat.com>
909
910         * po/nl.po: Updated Dutch translation.
911
912 2009-06-02  Tristan Gingold  <gingold@adacore.com>
913
914         * ia64-gen.c (parse_resource_users, print_dependency_table,
915         add_dis_table_ent, finish_distable, insert_bit_table_ent,
916         add_dis_entry, compact_distree, gen_dis_table, completer_entries_eq,
917         get_prefix_len, compute_completer_bits, insert_opcode_dependencies,
918         insert_completer_entry, print_completer_entry, print_completer_table,
919         opcodes_eq, add_opcode_entry, shrink): Use ISO C syntax for functions.
920
921 2009-05-28  DJ Delorie  <dj@redhat.com>
922
923         * mep-asm.c: Regenerate.
924         * mep-desc.c: Regenerate.
925
926 2009-05-26  DJ Delorie  <dj@redhat.com>
927
928         * mep-asm.c: Regenerate.
929         * mep-desc.c: Regenerate.
930         * mep-desc.h: Regenerate.
931         * mep-dis.c: Regenerate.
932         * mep-ibld.c: Regenerate.
933         * mep-opc.c: Regenerate.
934         * mep-opc.h: Regenerate.
935
936 2009-05-26  Nick Clifton  <nickc@redhat.com>
937
938         * po/id.po: Updated Indonesian translation.
939         * po/opcodes.pot: Updated template file.
940
941 2009-05-26  Alan Modra  <amodra@bigpond.net.au>
942
943         * dep-in.sed: Don't modify .o to .lo here.  Output one filename
944         per line with all lines having continuation backslash.  Prefix
945         first line with "A", following lines with "B".
946         * Makefile.am (DEP): Don't use dep.sed here.
947         (DEP1): Run $MKDEP on single files, modify .o to .lo here.  Use
948         dep.sed here on dependencies, sort and uniq.
949         * Makefile.in: Regenerate.
950
951 2009-05-25  Tristan Gingold  <gingold@adacore.com>
952
953         * makefile.vms (OPT): New variable.
954         (CFLAGS): Update compilation flags.
955
956 2009-05-22  DJ Delorie  <dj@redhat.com>
957
958         * mep-asm.c: Regenerate.
959         * mep-desc.c: Regenerate.
960         * mep-desc.h: Regenerate.
961         * mep-dis.c: Regenerate.
962         * mep-ibld.c: Regenerate.
963         * mep-opc.c: Regenerate.
964         * mep-opc.h: Regenerate.
965
966 2009-05-22  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
967
968         * i386-opc.h (Cpusse5): Delete.
969         (i386_cpu_flags): Delete.
970         * i386-gen.c: Remove CpuSSE5, Drex, Drexv and Drexc.
971         * i386-opc.tbl: Remove SSE5 instructions.
972         * i386-tbl.h: Regenerate.
973         * i386-init.h: Regenerate.
974         * i386-dis.c (OP_E_memeory, OP_E_extended): Remove drex handling.
975         (print_drex_arg): Delete.
976         (OP_DREX4): Delete.
977         (OP_DREX3): Delete.
978         (OP_DREX_ICMP): Delete.
979         (OP_DREX_FCMP): Delete.
980         (DREX_*): Delete.
981         (THREE_BYTE_0F24, THREE_BYTE_0F25, THREE_BYTE_0f7B): Delete.
982
983 2009-05-22  Alan Modra  <amodra@bigpond.net.au>
984
985         * Makefile.am: Run "make dep-am".
986         * Makefile.in: Regenerate.
987         * po/POTFILES.in: Regenerate.
988
989 2009-05-19  DJ Delorie  <dj@redhat.com>
990
991         * mep-asm.c: Regenerate.
992         * mep-opc.c: Regenerate.
993
994 2009-04-30  DJ Delorie  <dj@redhat.com>
995
996         * mep-asm.c: Regenerate.
997         * mep-desc.c: Regenerate.
998         * mep-desc.h: Regenerate.
999         * mep-dis.c: Regenerate.
1000         * mep-ibld.c: Regenerate.
1001         * mep-opc.c: Regenerate.
1002         * mep-opc.h: Regenerate.
1003
1004 2009-04-17  DJ Delorie  <dj@redhat.com
1005
1006         * mep-desc.c: Regenerate.
1007         * mep-ibld.c: Regenerate.
1008         * mep-opc.c: Regenerate.
1009         * mep-opc.h: Regenerate.
1010
1011 2009-04-15  Anthony Green  <green@moxielogic.com>
1012
1013         * moxie-opc.c, moxie-dis.c: Created.
1014         * Makefile.am: Build the moxie source files.
1015         * configure.in: Add moxie support.
1016         * Makefile.in, configure: Rebuilt.
1017         * disassemble.c (disassembler): Add moxie support.
1018         (ARCH_moxie): Define.
1019
1020 2009-04-15  Jan Beulich  <jbeulich@novell.com>
1021
1022         * i386-opc.tbl (protb, protw, protd, protq): Set opcode
1023         extension to None.
1024         (pshab, pshaw, pshad, pshaq): Likewise.
1025         * i386-tbl.h: Re-generate.
1026
1027 2009-04-08  DJ Delorie  <dj@redhat.com
1028
1029         * mep-asm.c: Regenerate.
1030         * mep-desc.c: Regenerate.
1031         * mep-desc.h: Regenerate.
1032         * mep-dis.c: Regenerate.
1033         * mep-ibld.c: Regenerate.
1034         * mep-opc.c: Regenerate.
1035         * mep-opc.h: Regenerate.
1036
1037 2009-04-07  Peter Bergner  <bergner@vnet.ibm.com>
1038
1039         * ppc-opc.c (powerpc_opcodes) <"tlbilxlpid", "tlbilxpid", "tlbilxva",
1040         "tlbilx">: Use secondary opcode "18" as per the ISA 2.06 documentation.
1041         Reorder entries so the extended mnemonics are listed before tlbilx.
1042
1043 2009-04-02  Peter Bergner  <bergner@vnet.ibm.com>
1044
1045         * ppc-dis.c (powerpc_init_dialect): Do not choose a default dialect
1046         due to -many/-Many.
1047         (print_insn_powerpc): Make sure we only deprecate instructions using
1048         the original dialect and not a modified dialect due to -Many handling.
1049         Move the handling of the condition register and default operands to
1050         the end of the if/else if/else chain.
1051         * ppc-opc.c (powerpc_opcodes): Reorder the opcode table so that
1052         instructions from newer processors are listed before older ones.
1053         <"icblce", "sync", "eieio", "tlbld">: Deprecate for processors
1054         that have instructions with conflicting opcodes.
1055
1056 2009-04-01  Peter Bergner  <bergner@vnet.ibm.com>
1057
1058         * ppc-opc.c (powerpc_opcodes) <"dcbzl">: Merge the POWER4 and
1059         E500MC entries.
1060
1061 2009-04-01  Christophe Lyon  <christophe.lyon@st.com>
1062
1063         * arm-dis.c (print_insn): Print BE8 opcodes in little endianness.
1064
1065 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
1066
1067         * arm-dis.c (print_insn): Also check section matches in backwards
1068         search for mapping symbol.
1069
1070 2009-03-26  H.J. Lu  <hongjiu.lu@intel.com>
1071
1072         * i386-dis.c (get_valid_dis386): Abort on unhandled table.
1073
1074 2009-03-18  Alan Modra  <amodra@bigpond.net.au>
1075
1076         * cgen-opc.c: Include alloca-conf.h rather than alloca.h.
1077         * Makefile.am: Run "make dep-am".
1078         * Makefile.in: Regenerate.
1079         * openrisc-opc.c: Regenerate.
1080
1081 2009-03-10  Nick Clifton  <nickc@redhat.com>
1082
1083         * po/id.po: Updated Indonesian translation.
1084
1085 2009-03-10  Alan Modra  <amodra@bigpond.net.au>
1086
1087         * ppc-dis.c: Include "opintl.h".
1088         (struct ppc_mopt, ppc_opts): New.
1089         (ppc_parse_cpu): New function.
1090         (powerpc_init_dialect): Use it.
1091         (print_ppc_disassembler_options): Dump options from ppc_opts.
1092         Internationalize message.
1093
1094 2009-03-06  Nick Clifton  <nickc@redhat.com>
1095
1096         * po/es.po: Updated Spanish translation.
1097
1098 2009-03-04  Alan Modra  <amodra@bigpond.net.au>
1099
1100         PR 6768
1101         * configure.in: Test for ld --as-needed support.  Link shared
1102         libopcodes against libm.
1103         * configure: Regenerate.
1104
1105 2009-03-03  Peter Bergner  <bergner@vnet.ibm.com>
1106
1107         * ppc-opc.c (powerpc_opcodes): Reorder the opcode table so that
1108         instructions from newer processors are listed before older ones.
1109
1110 2009-03-03  Alan Modra  <amodra@bigpond.net.au>
1111
1112         * Makefile.am: Run "make dep-am".
1113         (HFILES): Move lm32-desc.h and lm32-opc.h from..
1114         (CFILES): ..here.
1115         * Makefile.in: Regenerate.
1116
1117 2009-03-02  Qinwei  <qinwei@sunnorth.com.cn>
1118
1119         * score7-dis.c: New file.
1120         * Makefile.am: Add dependencies for score7-dis.c.
1121         * Makefile.in: Regenerate.
1122         * configure.in: Add score7-dis to score files.
1123         * configure: Regenerate.
1124         * score-dis.c: Add support for score7 architecture.
1125         * score-opc.h: Likewise.
1126
1127 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1128
1129         * configure: Regenerate.
1130
1131 2009-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1132
1133         * i386-dis.c (OP_EX): Call OP_E_memory instead of OP_E.
1134
1135 2009-02-26  Peter Bergner  <bergner@vnet.ibm.com>
1136
1137         * ppc-dis.c (powerpc_init_dialect): Extend -Mpower7 to disassemble
1138         the power7 and the isel instructions.
1139         * ppc-opc.c (insert_xc6, extract_xc6): New static functions.
1140         (insert_dm, extract_dm): Likewise.
1141         (XB6): Update comment to include XX2 form.
1142         (WC, XC6, SHW, DMEX, UIM, XX2, XX3RC, XX4, XX2_MASK, XX2UIM_MASK,
1143         XX2BF_MASK, XX3BF_MASK, XX3SHW_MASK, XX4_MASK, XWC_MASK, POWER7): New.
1144         (RemoveXX3DM): Delete.
1145         (powerpc_opcodes): <"lfdp", "lfdpx", "mcrxr", "mftb", "mffgpr",
1146         "mftgpr">: Deprecate for POWER7.
1147         <"fres", "fres.", "frsqrtes", "frsqrtes.", "fre", "fre.", "frsqrte",
1148         "frsqrte.">: Deprecate the three operand form and enable the two
1149         operand form for POWER7 and later.
1150         <"wait">: Extend to accept optional parameter.  Enable for POWER7.
1151         <"waitsrv", "waitimpl">: Add extended opcodes.
1152         <"ldbrx", "stdbrx">: Enable for POWER7.
1153         <"cdtbcd", "cbcdtd", "addg6s">: Add POWER6 opcodes.
1154         <"bpermd", "dcbtstt", "dcbtt", "dcffix.", "dcffix", "divde.", "divde",
1155         "divdeo.", "divdeo", "divdeu.", "divdeu", "divdeuo.", "divdeuo",
1156         "divwe.", "divwe", "divweo.", "divweo", "divweu.", "divweu", "divweuo.",
1157         "divweuo", "fcfids.", "fcfids", "fcfidu.", "fcfidu", "fcfidus.",
1158         "fcfidus", "fctidu.", "fctidu", "fctiduz.", "fctiduz", "fctiwu.",
1159         "fctiwu", "fctiwuz.", "fctiwuz", "ftdiv", "ftsqrt", "lbarx", "lfiwzx",
1160         "lharx", "popcntd", "popcntw", "stbcx.", "sthcx.">: Add POWER7 opcodes.
1161         <"lxsdux", "lxsdx", "lxvdsx", "lxvw4ux", "lxvw4x", "stxsdux", "stxsdx",
1162         "stxvw4ux", "stxvw4x", "xsabsdp", "xsadddp", "xscmpodp", "xscmpudp",
1163         "xscpsgndp", "xscvdpsp", "xscvdpsxds", "xscvdpsxws", "xscvdpuxds",
1164         "xscvdpuxws", "xscvspdp", "xscvsxddp", "xscvuxddp", "xsdivdp",
1165         "xsmaddadp", "xsmaddmdp", "xsmaxdp", "xsmindp", "xsmsubadp",
1166         "xsmsubmdp", "xsmuldp", "xsnabsdp", "xsnegdp", "xsnmaddadp",
1167         "xsnmaddmdp", "xsnmsubadp", "xsnmsubmdp", "xsrdpi", "xsrdpic",
1168         "xsrdpim", "xsrdpip", "xsrdpiz", "xsredp", "xsrsqrtedp", "xssqrtdp",
1169         "xssubdp", "xstdivdp", "xstsqrtdp", "xvabsdp", "xvabssp", "xvadddp",
1170         "xvaddsp", "xvcmpeqdp.", "xvcmpeqdp", "xvcmpeqsp.", "xvcmpeqsp",
1171         "xvcmpgedp.", "xvcmpgedp", "xvcmpgesp.", "xvcmpgesp", "xvcmpgtdp.",
1172         "xvcmpgtdp", "xvcmpgtsp.", "xvcmpgtsp", "xvcpsgnsp", "xvcvdpsp",
1173         "xvcvdpsxds", "xvcvdpsxws", "xvcvdpuxds", "xvcvdpuxws", "xvcvspdp",
1174         "xvcvspsxds", "xvcvspsxws", "xvcvspuxds", "xvcvspuxws", "xvcvsxddp",
1175         "xvcvsxdsp", "xvcvsxwdp", "xvcvsxwsp", "xvcvuxddp", "xvcvuxdsp",
1176         "xvcvuxwdp", "xvcvuxwsp", "xvdivdp", "xvdivsp", "xvmaddadp",
1177         "xvmaddasp", "xvmaddmdp", "xvmaddmsp", "xvmaxdp", "xvmaxsp",
1178         "xvmindp", "xvminsp", "xvmovsp", "xvmsubadp", "xvmsubasp", "xvmsubmdp",
1179         "xvmsubmsp", "xvmuldp", "xvmulsp", "xvnabsdp", "xvnabssp", "xvnegdp",
1180         "xvnegsp", "xvnmaddadp", "xvnmaddasp", "xvnmaddmdp", "xvnmaddmsp",
1181         "xvnmsubadp", "xvnmsubasp", "xvnmsubmdp", "xvnmsubmsp", "xvrdpi",
1182         "xvrdpic", "xvrdpim", "xvrdpip", "xvrdpiz", "xvredp", "xvresp",
1183         "xvrspi", "xvrspic", "xvrspim", "xvrspip", "xvrspiz", "xvrsqrtedp",
1184         "xvrsqrtesp", "xvsqrtdp", "xvsqrtsp", "xvsubdp", "xvsubsp", "xvtdivdp",
1185         "xvtdivsp", "xvtsqrtdp", "xvtsqrtsp", "xxland", "xxlandc", "xxlnor",
1186         "xxlor", "xxlxor", "xxmrghw", "xxmrglw", "xxsel", "xxsldwi", "xxspltd",
1187         "xxspltw", "xxswapd">: Add VSX opcodes.
1188
1189 2009-02-23  H.J. Lu  <hongjiu.lu@intel.com>
1190
1191         * i386-gen.c (operand_type_init): Remove OPERAND_TYPE_VEX_IMM4.
1192         (operand_types): Remove Vex_Imm4.
1193
1194         * i386-opc.h (Vex_Imm4): Removed.
1195         (OTMax): Updated.
1196         (i386_operand_type): Remove vex_imm4.
1197
1198         * i386-opc.tbl: Remove Vex_Imm4 comments.
1199         * i386-init.h: Regenerated.
1200         * i386-tbl.h: Likewise.
1201
1202 2009-02-23  Richard Earnshaw  <rearnsha@arm.com>
1203
1204         * arm-dis.c (neon_opcodes): Correct bit-mask and patterns for
1205         vq{r}shr{u}n.s64 insnstructions.
1206
1207 2009-02-19  Peter Bergner  <bergner@vnet.ibm.com>
1208
1209         * ppc-opc.c (powerpc_opcodes) <"lfdepx", "stfdepx">: Fix the first
1210         operand to be a float point register (FRT/FRS).
1211
1212 2009-02-18  Adam Nemet  <anemet@caviumnetworks.com>
1213
1214         * mips-opc.c (mips_builtin_opcodes): Move the Octeon-specific
1215         dmfc2 and dmtc2 before the architecture-level variants.
1216
1217 2009-02-18  Pierre Muller  <muller@ics.u-strasbg.fr>
1218
1219         * fr30-opc.c: Regenerate.
1220         * frv-opc.c: Regenerate.
1221         * ip2k-opc.c: Regenerate.
1222         * iq2000-opc.c: Regenerate.
1223         * lm32-opc.c: Regenerate.
1224         * m32c-opc.c: Regenerate.
1225         * m32r-opc.c: Regenerate.
1226         * mep-opc.c: Regenerate.
1227         * mt-opc.c: Regenerate.
1228         * xc16x-opc.c: Regenerate.
1229         * xstormy16-opc.c: Regenerate.
1230         * tic54x-dis.c (print_instruction): Avoid compiler warning on
1231         sprintf call.
1232
1233 2009-02-12  Nathan Sidwell  <nathan@codesourcery.com>
1234
1235         * m68k-opc.c (m68k_opcodes): Add stldsr instruction.
1236
1237 2009-02-05  Peter Bergner  <bergner@vnet.ibm.com>
1238
1239         * ppc-opc.c: Update copyright year.
1240         (powerpc_opcodes) <"dcbt", "dcbtst">: Deprecate the Embedded operand
1241         ordering for POWER4 and later and use the correct Server ordering.
1242
1243 2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>
1244
1245         AVX Programming Reference (January, 2009)
1246         * i386-dis.c (PREFIX_VEX_3A44): New.
1247         (VEX_LEN_3A44_P_2): Likewise.
1248         (PREFIX_VEX_3A48): Updated.
1249         (VEX_LEN_3A4C_P_2): Likewise.
1250         (prefix_table): Add PREFIX_VEX_3A44.
1251         (vex_table): Likewise.
1252         (vex_len_table): Add VEX_LEN_3A44_P_2.
1253
1254         * i386-opc.tbl: Add PCLMUL + AVX instructions.
1255         * i386-tbl.h: Regenerated.
1256
1257 2009-02-03  Sandip Matte  <sandip@rmicorp.com>
1258
1259         * mips-dis.c (mips_cp0_names_xlr, mips_cp0sel_names_xlr): Define.
1260         (mips_arch_choices): Add XLR entry.
1261         * mips-opc.c (XLR): Define.
1262         (mips_builtin_opcodes): Add XLR instructions.
1263
1264 2009-02-03  Carlos O'Donell  <carlos@codesourcery.com>
1265
1266         * Makefile.am: Add install-pdf target.
1267         * po/Make-in: Add install-pdf target.
1268         * Makefile.in: Regenerate.
1269
1270 2009-02-02  DJ Delorie  <dj@redhat.com>
1271
1272         * mep-asm.c: Regenerate.
1273         * mep-desc.c: Regenerate.
1274         * mep-desc.h: Regenerate.
1275         * mep-dis.c: Regenerate.
1276         * mep-ibld.c: Regenerate.
1277         * mep-opc.c: Regenerate.
1278         * mep-opc.h: Regenerate.
1279
1280 2009-01-29  Mark Mitchell  <mark@codesourcery.com>
1281
1282         * arm-dis.c (thumb32_opcodes): Correct decoding for qadd, qdadd,
1283         qsub, and qdsub.
1284
1285 2009-01-28  Chao-ying Fu  <fu@mips.com>
1286
1287         * mips-opc.c (suxc1): Add the flag of FP_D.
1288
1289 2009-01-20  Alan Modra  <amodra@bigpond.net.au>
1290
1291         * fr30-asm.c, fr30-dis.c, fr30-ibld.c, frv-asm.c, frv-dis.c,
1292         * frv-ibld.c, ip2k-asm.c, ip2k-dis.c, ip2k-ibld.c,
1293         * iq2000-asm.c, iq2000-dis.c, iq2000-ibld.c, m32c-asm.c,
1294         * m32c-dis.c, m32c-ibld.c, m32r-asm.c, m32r-dis.c,
1295         * m32r-ibld.c, mep-asm.c, mep-dis.c, mep-ibld.c, mt-asm.c,
1296         * mt-dis.c, mt-ibld.c, openrisc-asm.c, openrisc-dis.c,
1297         * openrisc-ibld.c, xc16x-asm.c, xc16x-dis.c, xc16x-ibld.c,
1298         * xstormy16-asm.c, xstormy16-dis.c, xstormy16-ibld.c: Regenerate.
1299
1300 2009-01-16  Alan Modra  <amodra@bigpond.net.au>
1301
1302         * configure.in (commonbfdlib): Delete.
1303         (SHARED_LIBADD): Add pic libiberty if such is available.
1304         * configure: Regenerate.
1305         * po/POTFILES.in: Regenerate.
1306
1307 2009-01-14  Peter Bergner  <bergner@vnet.ibm.com>
1308
1309         * ppc-dis.c (print_insn_powerpc): Skip insn if it is deprecated.
1310         * ppc-opc.c (powerpc_opcodes) <mtfsf, mtfsf.>: Deprecate the two
1311         operand form and enable the four operand form for POWER6 and later.
1312         <mtfsfi, mtfsfi.>: Deprecate the two operand form and enable the
1313         three operand form for POWER6 and later.
1314
1315 2009-01-14  Mike Frysinger  <vapier@gentoo.org>
1316
1317         * bfin-dis.c (OUTS): Use "%s" as format string.
1318
1319 2009-01-13  H.J. Lu  <hongjiu.lu@intel.com>
1320
1321         * i386-gen.c (cpu_flag_init): Remove a white space.
1322         (operand_type_init): Likewise.
1323
1324 2009-01-12  H.J. Lu  <hongjiu.lu@intel.com>
1325
1326         * i386-opc.tbl: Add NoAVX to movnti, lfence and mfence.
1327         * i386-tbl.h: Regenerated.
1328
1329 2009-01-12  H.J. Lu  <hongjiu.lu@intel.com>
1330
1331         * i386-dis.c (dis386): Use EbS on addB, orB, adcB, sbbB, andB,
1332         subB, xorB and cmpB.  Use EvS on addS, orS, adcS, sbbS, andS,
1333         subS, xorS and cmpS.
1334
1335 2009-01-10  H.J. Lu  <hongjiu.lu@intel.com>
1336
1337         * i386-gen.c (cpu_flag_init): Replace CpuP4 and CpuK6 with
1338         CpuClflush and CpuSYSCALL, respectively. Remove CpuK8.  Add
1339         CPU_COREI7_FLAGS, CPU_CLFLUSH_FLAGS and CPU_SYSCALL_FLAGS.
1340         (cpu_flags): Remove CpuP4, CpuK6 and CpuK8.  Add CpuClflush
1341         and CpuSYSCALL.
1342         (lineno): Removed.
1343         (set_bitfield): Take an argument, lineno.  Don't report lineno
1344         on error if it is -1.
1345         (process_i386_cpu_flag): Take an argument, lineno.
1346         (process_i386_opcode_modifier): Likewise.
1347         (process_i386_operand_type): Likewise.
1348         (output_i386_opcode): Likewise.
1349         (opcode_hash_entry): Add lineno.
1350         (process_i386_opcodes): Updated.
1351         (process_i386_registers): Likewise.
1352         (process_i386_initializers): Likewise.
1353
1354         * i386-opc.h (CpuP4): Removed.
1355         (CpuK6): Likewise.
1356         (CpuK8): Likewise.
1357         (CpuClflush): New.
1358         (CpuSYSCALL): Likewise.
1359         (CpuMMX): Updated.
1360         (i386_cpu_flags): Remove cpup4, cpuk6 and cpuk8.  Add
1361         cpuclflush and cpusyscall.
1362
1363         * i386-opc.tbl: Update movnti, clflush, lfence, mfence, pause,
1364         syscall and sysret.
1365         * i386-init.h: Regenerated.
1366         * i386-tbl.h: Likewise.
1367
1368 2009-01-09  H.J. Lu  <hongjiu.lu@intel.com>
1369
1370         * i386-gen.c (cpu_flag_init): Add CpuRdtscp to CPU_K8_FLAGS
1371         and CPU_AMDFAM10_FLAGS.  Add CPU_RDTSCP_FLAGS.
1372         (cpu_flags): Add CpuRdtscp.
1373         (set_bitfield): Remove CpuSledgehammer check.
1374
1375         * i386-opc.h (CpuRdtscp): New.
1376         (CpuLM): Updated.
1377         (i386_cpu_flags): Add cpurdtscp.
1378
1379         * i386-opc.tbl: Replace CpuSledgehammer with CpuRdtscp.
1380         * i386-init.h: Regenerated.
1381         * i386-tbl.h: Likewise.
1382
1383 2009-01-09  Peter Bergner  <bergner@vnet.ibm.com>
1384
1385         * ppc-opc.c (PPCNONE): Define.
1386         (NOPOWER4): Delete.
1387         (powerpc_opcodes): Initialize the new "deprecated" field.
1388
1389 2009-01-06  H.J. Lu  <hongjiu.lu@intel.com>
1390
1391         AVX Programming Reference (December, 2008)
1392         * i386-dis.c (VEX_LEN_2B_M_0): Removed.
1393         (VEX_LEN_E7_P_2_M_0): Likewise.
1394         (VEX_LEN_2C_P_1): Updated.
1395         (VEX_LEN_E8_P_2): Likewise.
1396         (vex_len_table): Remove VEX_LEN_2B_M_0 and VEX_LEN_E7_P_2_M_0.
1397         (mod_table): Likewise.
1398
1399         * i386-opc.tbl: Add 256bit vmovntdq, vmovntpd and vmovntps.
1400         * i386-tbl.h: Regenerated.
1401
1402 2009-01-05  H.J. Lu  <hongjiu.lu@intel.com>
1403
1404         * i386-gen.c (process_copyright): Update for 2009.
1405
1406         * i386-init.h: Regenerated.
1407         * i386-tbl.h: Likewise.
1408
1409 2009-01-05  H.J. Lu  <hongjiu.lu@intel.com>
1410
1411         AVX Programming Reference (December, 2008)
1412         * i386-dis.c (OP_VEX_FMA): Removed.
1413         (OP_EX_VexW): Likewise.
1414         (OP_EX_VexImmW): Likewise.
1415         (OP_XMM_VexW): Likewise.
1416         (VEXI4_Fixup): Likewise.
1417         (VPERMIL2_Fixup): Likewise.
1418         (VexI4): Likewise.
1419         (VexFMA): Likewise.
1420         (Vex128FMA): Likewise.
1421         (EXVexW): Likewise.
1422         (EXdVexW): Likewise.
1423         (EXqVexW): Likewise.
1424         (EXVexImmW): Likewise.
1425         (XMVexW): Likewise.
1426         (VPERMIL2): Likewise.
1427         (PREFIX_VEX_3A48...PREFIX_VEX_3A4A): Likewise.
1428         (PREFIX_VEX_3A5C...PREFIX_VEX_3A5F): Likewise.
1429         (PREFIX_VEX_3A68...PREFIX_VEX_3A6F): Likewise.
1430         (PREFIX_VEX_3A78...PREFIX_VEX_3A7F): Likewise.
1431         (VEX_LEN_3A6A_P_2...VEX_LEN_3A6F_P_2): Likewise.
1432         (VEX_LEN_3A7A_P_2...VEX_LEN_3A7F_P_2): Likewise.
1433         (get_vex_imm8): Likewise.
1434         (OP_EX_VexReg): Likewise.
1435         vpermil2_op): Likewise.
1436         (EXVexWdq): New.
1437         (vex_w_dq_mode): Likewise.
1438         (PREFIX_VEX_3896...PREFIX_VEX_389F): Likewise.
1439         (PREFIX_VEX_38A6...PREFIX_VEX_38AF): Likewise.
1440         (PREFIX_VEX_38B6...PREFIX_VEX_38BF): Likewise.
1441         (es_reg): Updated.
1442         (PREFIX_VEX_38DB): Likewise.
1443         (PREFIX_VEX_3A4A): Likewise.
1444         (PREFIX_VEX_3A60): Likewise.
1445         (PREFIX_VEX_3ADF): Likewise.
1446         (VEX_LEN_3ADF_P_2): Likewise.
1447         (prefix_table): Remove PREFIX_VEX_3A48...PREFIX_VEX_3A4A,
1448         PREFIX_VEX_3A5C...PREFIX_VEX_3A5F,
1449         PREFIX_VEX_3A68...PREFIX_VEX_3A6F and
1450         PREFIX_VEX_3A78...PREFIX_VEX_3A7F.  Add
1451         PREFIX_VEX_3896...PREFIX_VEX_389F,
1452         PREFIX_VEX_38A6...PREFIX_VEX_38AF and
1453         PREFIX_VEX_38B6...PREFIX_VEX_38BF.
1454         (vex_table): Likewise.
1455         (vex_len_table): Remove VEX_LEN_3A6A_P_2...VEX_LEN_3A6F_P_2
1456         and VEX_LEN_3A7A_P_2...VEX_LEN_3A7F_P_2.
1457         (putop): Support "%XW".
1458         (intel_operand_size): Handle vex_w_dq_mode.
1459
1460         * i386-opc.h (VexNDS): Add a comment for VEX NDS and VEX DDS.
1461
1462         * i386-opc.tbl: Remove vpermil2pd/vpermil2ps and old FMA
1463         instructions.  Add new FMA instructions.
1464         * i386-tbl.h: Regenerated.
1465
1466 2009-01-02  Matthias Klose  <doko@ubuntu.com>
1467
1468         * or32-opc.c (or32_print_register, or32_print_immediate,
1469         disassemble_insn): Don't rely on undefined sprintf behaviour.
1470
1471 For older changes see ChangeLog-2008
1472 \f
1473 Local Variables:
1474 mode: change-log
1475 left-margin: 8
1476 fill-column: 74
1477 version-control: never
1478 End: