1 2008-04-07 H.J. Lu <hongjiu.lu@intel.com>
3 * i386-opc.tbl: Remove 4 extra blank lines.
5 2008-04-04 H.J. Lu <hongjiu.lu@intel.com>
7 * i386-gen.c (cpu_flag_init): Replace CPU_CLMUL_FLAGS/CpuCLMUL
8 with CPU_PCLMUL_FLAGS/CpuPCLMUL.
9 (cpu_flags): Replace CpuCLMUL with CpuPCLMUL.
10 * i386-opc.tbl: Likewise.
12 * i386-opc.h (CpuCLMUL): Renamed to ...
15 (i386_cpu_flags): Replace cpuclmul with cpupclmul.
17 * i386-init.h: Regenerated.
19 2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
21 * i386-dis.c (OP_E_register): New.
22 (OP_E_memory): Likewise.
24 (OP_EX_Vex): Likewise.
25 (OP_EX_VexW): Likewise.
26 (OP_XMM_Vex): Likewise.
27 (OP_XMM_VexW): Likewise.
28 (OP_REG_VexI4): Likewise.
29 (PCLMUL_Fixup): Likewise.
30 (VEXI4_Fixup): Likewise.
31 (VZERO_Fixup): Likewise.
32 (VCMP_Fixup): Likewise.
33 (VPERMIL2_Fixup): Likewise.
34 (rex_original): Likewise.
35 (rex_ignored): Likewise.
58 (xmmq_mode): Likewise.
59 (ymmq_mode): Likewise.
61 (vex128_mode): Likewise.
62 (vex256_mode): Likewise.
63 (USE_VEX_C4_TABLE): Likewise.
64 (USE_VEX_C5_TABLE): Likewise.
65 (USE_VEX_LEN_TABLE): Likewise.
66 (VEX_C4_TABLE): Likewise.
67 (VEX_C5_TABLE): Likewise.
68 (VEX_LEN_TABLE): Likewise.
69 (REG_VEX_XX): Likewise.
70 (MOD_VEX_XXX): Likewise.
71 (PREFIX_0F38DB..PREFIX_0F38DF): Likewise.
72 (PREFIX_0F3A44): Likewise.
73 (PREFIX_0F3ADF): Likewise.
74 (PREFIX_VEX_XXX): Likewise.
78 (VEX_LEN_XXX): Likewise.
81 (need_vex_reg): Likewise.
82 (vex_i4_done): Likewise.
83 (vex_table): Likewise.
84 (vex_len_table): Likewise.
85 (OP_REG_VexI4): Likewise.
86 (vex_cmp_op): Likewise.
87 (pclmul_op): Likewise.
88 (vpermil2_op): Likewise.
91 (PREFIX_0F38F0): Likewise.
92 (PREFIX_0F3A60): Likewise.
93 (reg_table): Add REG_VEX_71...REG_VEX_73 and REG_VEX_AE.
94 (prefix_table): Add PREFIX_0F38DB..PREFIX_0F38DF, PREFIX_0F3ADF
95 and PREFIX_VEX_XXX entries.
96 (x86_64_table): Use VEX_C4_TABLE and VEX_C5_TABLE.
97 (three_byte_table): Use PREFIX_0F38DB..PREFIX_0F38DF and
99 (mod_table): Use VEX_C4_TABLE, VEX_C5_TABLE and VEX_LEN_TABLE.
100 Add MOD_VEX_XXX entries.
101 (ckprefix): Initialize rex_original and rex_ignored. Store the
102 REX byte in rex_original.
103 (get_valid_dis386): Handle the implicit prefix in VEX prefix
104 bytes and USE_VEX_LEN_TABLE/USE_VEX_C4_TABLE/USE_VEX_C5_TABLE.
105 (print_insn): Set need_vex/need_vex_reg/vex_i4_done to 0 before
106 calling get_valid_dis386. Use rex_original and rex_ignored when
108 (putop): Handle "XY".
109 (intel_operand_size): Handle VEX, xmm_mode, xmmq_mode and
111 (OP_E_extended): Updated to use OP_E_register and
113 (OP_XMM): Handle VEX.
115 (XMM_Fixup): Likewise.
116 (CMP_Fixup): Use ARRAY_SIZE.
118 * i386-gen.c (cpu_flag_init): Add CpuAES, CPU_CLMUL_FLAGS,
119 CPU_FMA_FLAGS and CPU_AVX_FLAGS.
120 (operand_type_init): Add OPERAND_TYPE_REGYMM and
121 OPERAND_TYPE_VEX_IMM4.
122 (cpu_flags): Add CpuAVX, CpuAES, CpuCLMUL and CpuFMA.
123 (opcode_modifiers): Add Implicit1stXmm0, Vex, Vex256, VexNDD,
124 VexNDS, VexW0, VexW1, Vex0F, Vex0F38, Vex0F3A, Vex3Sources,
125 VexImmExt and SSE2AVX.
126 (operand_types): Add RegYMM, Ymmword and Vex_Imm4.
128 * i386-opc.h (CpuAVX): New.
130 (CpuCLMUL): Likewise.
141 (Vex3Sources): Likewise.
142 (VexImmExt): Likewise.
146 (Vex_Imm4): Likewise.
147 (Implicit1stXmm0): Likewise.
150 (ByteOkIntel): Likewise.
153 (Unspecified): Likewise.
155 (i386_cpu_flags): Add cpuavx, cpuaes, cpuclmul and cpufma.
156 (i386_opcode_modifier): Add implicit1stxmm0, vex, vex256,
157 vexnds, vexndd, vexw0, vexw1, vex0f, vex0f38, vex0f3a,
158 vex3sources, veximmext and sse2avx.
159 (i386_operand_type): Add regymm, ymmword and vex_imm4.
161 * i386-opc.tbl: Add AES, CLMUL, AVX and FMA new instructions.
163 * i386-reg.tbl: Add AVX registers, ymm0..ymm15.
165 * i386-init.h: Regenerated.
166 * i386-tbl.h: Likewise.
168 2008-03-26 Bernd Schmidt <bernd.schmidt@analog.com>
170 From Robin Getz <robin.getz@analog.com>
171 * bfin-dis.c (bu32): Typedef.
172 (enum const_forms_t): Add c_uimm32 and c_huimm32.
173 (constant_formats[]): Add uimm32 and huimm16.
178 (luimm16_val): Define.
179 (struct saved_state): Define.
180 (GREG, DPREG, DREG, PREG, SPREG, FPREG, IREG, MREG, BREG, LREG,
181 A0XREG, A0WREG, A1XREG, A1WREG,CCREG, LC0REG, LT0REG, LB0REG,
182 LC1REG, LT1REG, LB1REG, RETSREG, PCREG): Define.
184 (decode_LDIMMhalf_0): Print out the whole register value.
186 From Jie Zhang <jie.zhang@analog.com>
187 * bfin-dis.c (decode_dsp32mac_0): Decode (IU) option for
188 multiply and multiply-accumulate to data register instruction.
190 * bfin-dis.c: (c_uimm4s4d, c_imm5d, c_imm7d, c_imm16d, c_uimm16s4d,
191 c_imm32, c_huimm32e): Define.
192 (constant_formats): Add flags for printing decimal, leading spaces, and
194 (comment, parallel): Add global flags in all disassembly.
195 (fmtconst): Take advantage of new flags, and print default in hex.
196 (fmtconst_val): Likewise.
197 (decode_macfunc): Be consistant with spaces, tabs, comments,
198 capitalization in disassembly, fix minor coding style issues.
199 (reg_names, amod0, amod1, amod0amod2, aligndir, get_allreg): Likewise.
200 (decode_ProgCtrl_0, decode_PushPopMultiple_0, decode_CCflag_0,
201 decode_CC2dreg_0, decode_CC2stat_0, decode_BRCC_0, decode_UJUMP_0,
202 decode_REGMV_0, decode_ALU2op_0, decode_PTR2op_0, decode_LOGI2op_0,
203 decode_COMP3op_0, decode_COMPI2opD_0, decode_COMPI2opP_0,
204 decode_LDSTpmod_0, decode_dagMODim_0, decode_dagMODik_0,
205 decode_dspLDST_0, decode_LDST_0, decode_LDSTiiFP_0, decode_LDSTii_0,
206 decode_LoopSetup_0, decode_LDIMMhalf_0, decode_CALLa_0,
207 decode_LDSTidxI_0, decode_linkage_0, decode_dsp32alu_0,
208 decode_dsp32shift_0, decode_dsp32shiftimm_0, decode_pseudodbg_assert_0,
209 _print_insn_bfin, print_insn_bfin): Likewise.
211 2008-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
213 * aclocal.m4: Regenerate.
214 * configure: Likewise.
215 * Makefile.in: Likewise.
217 2008-03-13 Alan Modra <amodra@bigpond.net.au>
219 * Makefile.am: Run "make dep-am".
220 * Makefile.in: Regenerate.
221 * configure: Regenerate.
223 2008-03-07 Alan Modra <amodra@bigpond.net.au>
225 * ppc-opc.c (powerpc_opcodes): Order and format.
227 2008-03-01 H.J. Lu <hongjiu.lu@intel.com>
229 * i386-opc.tbl: Allow 16-bit near indirect branches for x86-64.
230 * i386-tbl.h: Regenerated.
232 2008-02-23 H.J. Lu <hongjiu.lu@intel.com>
234 * i386-opc.tbl: Disallow 16-bit near indirect branches for
236 * i386-tbl.h: Regenerated.
238 2008-02-21 Jan Beulich <jbeulich@novell.com>
240 * i386-opc.tbl: Allow Dword for far indirect call. Allow Dword
241 and Fword for far indirect jmp. Allow Reg16 and Word for near
242 indirect jmp on x86-64. Disallow Fword for lcall.
243 * i386-tbl.h: Re-generate.
245 2008-02-18 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
247 * cr16-opc.c (cr16_num_optab): Defined
249 2008-02-16 H.J. Lu <hongjiu.lu@intel.com>
251 * i386-gen.c (operand_type_init): Add OPERAND_TYPE_INOUTPORTREG.
252 * i386-init.h: Regenerated.
254 2008-02-14 Nick Clifton <nickc@redhat.com>
257 * configure.in (SHARED_LIBADD): Select the correct host specific
258 file extension for shared libraries.
259 * configure: Regenerate.
261 2008-02-13 Jan Beulich <jbeulich@novell.com>
263 * i386-opc.h (RegFlat): New.
264 * i386-reg.tbl (flat): Add.
265 * i386-tbl.h: Re-generate.
267 2008-02-13 Jan Beulich <jbeulich@novell.com>
269 * i386-dis.c (a_mode): New.
270 (cond_jump_mode): Adjust.
271 (Ma): Change to a_mode.
272 (intel_operand_size): Handle a_mode.
273 * i386-opc.tbl: Allow Dword and Qword for bound.
274 * i386-tbl.h: Re-generate.
276 2008-02-13 Jan Beulich <jbeulich@novell.com>
278 * i386-gen.c (process_i386_registers): Process new fields.
279 * i386-opc.h (reg_entry): Shrink reg_flags and reg_num to
280 unsigned char. Add dw2_regnum and Dw2Inval.
281 * i386-reg.tbl: Provide initializers for dw2_regnum. Add pseudo
283 * i386-tbl.h: Re-generate.
285 2008-02-11 H.J. Lu <hongjiu.lu@intel.com>
287 * i386-gen.c (cpu_flag_init): Add CPU_XSAVE_FLAGS.
288 * i386-init.h: Updated.
290 2008-02-11 H.J. Lu <hongjiu.lu@intel.com>
292 * i386-gen.c (cpu_flags): Add CpuXsave.
294 * i386-opc.h (CpuXsave): New.
296 (i386_cpu_flags): Add cpuxsave.
298 * i386-dis.c (MOD_0FAE_REG_4): New.
299 (RM_0F01_REG_2): Likewise.
300 (MOD_0FAE_REG_5): Updated.
301 (RM_0F01_REG_3): Likewise.
302 (reg_table): Use MOD_0FAE_REG_4.
303 (mod_table): Use RM_0F01_REG_2. Add MOD_0FAE_REG_4. Updated
305 (rm_table): Add RM_0F01_REG_2.
307 * i386-opc.tbl: Add xsave, xrstor, xgetbv and xsetbv.
308 * i386-init.h: Regenerated.
309 * i386-tbl.h: Likewise.
311 2008-02-11 Jan Beulich <jbeulich@novell.com>
313 * i386-opc.tbl: Remove Disp32S from CpuNo64 opcodes. Remove
314 Disp16 from Cpu64 non-jump opcodes (including loop and j?cxz).
315 * i386-tbl.h: Re-generate.
317 2008-02-04 H.J. Lu <hongjiu.lu@intel.com>
320 * configure: Regenerated.
322 2008-02-04 Adam Nemet <anemet@caviumnetworks.com>
324 * mips-dis.c: Update copyright.
325 (mips_arch_choices): Add Octeon.
326 * mips-opc.c: Update copyright.
328 (mips_builtin_opcodes): Add Octeon instruction synciobdma.
330 2008-01-29 Alan Modra <amodra@bigpond.net.au>
332 * ppc-opc.c: Support optional L form mtmsr.
334 2008-01-24 H.J. Lu <hongjiu.lu@intel.com>
336 * i386-dis.c (OP_E_extended): Handle r12 like rsp.
338 2008-01-23 H.J. Lu <hongjiu.lu@intel.com>
340 * i386-gen.c (cpu_flag_init): Add CpuLM to CPU_GENERIC64_FLAGS.
341 * i386-init.h: Regenerated.
343 2008-01-23 Tristan Gingold <gingold@adacore.com>
345 * ia64-dis.c (print_insn_ia64): Display symbolic name of ar.fcr,
346 ar.eflag, ar.csd, ar.ssd, ar.cflg, ar.fsr, ar.fir and ar.fdr.
348 2008-01-22 H.J. Lu <hongjiu.lu@intel.com>
350 * i386-gen.c (cpu_flag_init): Remove CpuMMX2.
351 (cpu_flags): Likewise.
353 * i386-opc.h (CpuMMX2): Removed.
356 * i386-opc.tbl: Replace CpuMMX2 with CpuSSE|Cpu3dnowA.
357 * i386-init.h: Regenerated.
358 * i386-tbl.h: Likewise.
360 2008-01-22 H.J. Lu <hongjiu.lu@intel.com>
362 * i386-gen.c (cpu_flag_init): Add CPU_VMX_FLAGS and
364 * i386-init.h: Regenerated.
366 2008-01-15 H.J. Lu <hongjiu.lu@intel.com>
368 * i386-opc.tbl: Use Qword on movddup.
369 * i386-tbl.h: Regenerated.
371 2008-01-15 H.J. Lu <hongjiu.lu@intel.com>
373 * i386-opc.tbl: Put back 16bit movsx/movzx for AT&T syntax.
374 * i386-tbl.h: Regenerated.
376 2008-01-15 H.J. Lu <hongjiu.lu@intel.com>
378 * i386-dis.c (Mx): New.
379 (PREFIX_0FC3): Likewise.
380 (PREFIX_0FC7_REG_6): Updated.
381 (dis386_twobyte): Use PREFIX_0FC3.
382 (prefix_table): Add PREFIX_0FC3. Use Mq on movntq and movntsd.
383 Use Mx on movntps, movntpd, movntdq and movntdqa. Use Md on
386 2008-01-14 H.J. Lu <hongjiu.lu@intel.com>
388 * i386-gen.c (opcode_modifiers): Add IntelSyntax.
389 (operand_types): Add Mem.
391 * i386-opc.h (IntelSyntax): New.
392 * i386-opc.h (Mem): New.
394 (Opcode_Modifier_Max): Updated.
395 (i386_opcode_modifier): Add intelsyntax.
396 (i386_operand_type): Add mem.
398 * i386-opc.tbl: Remove Reg16 from movnti. Add sizes to more
401 * i386-reg.tbl: Add size for accumulator.
403 * i386-init.h: Regenerated.
404 * i386-tbl.h: Likewise.
406 2008-01-13 H.J. Lu <hongjiu.lu@intel.com>
408 * i386-opc.h (Byte): Fix a typo.
410 2008-01-12 H.J. Lu <hongjiu.lu@intel.com>
413 * i386-gen.c (operand_type_init): Add Dword to
414 OPERAND_TYPE_ACC32. Add Qword to OPERAND_TYPE_ACC64.
415 (opcode_modifiers): Remove CheckSize, Byte, Word, Dword,
417 (operand_types): Add Byte, Word, Dword, Fword, Qword, Tbyte,
418 Xmmword, Unspecified and Anysize.
419 (set_bitfield): Make Mmword an alias of Qword. Make Oword
422 * i386-opc.h (CheckSize): Removed.
430 (i386_opcode_modifier): Remove checksize, byte, word, dword,
434 (Unspecified): Likewise.
436 (i386_operand_type): Add byte, word, dword, fword, qword,
437 tbyte xmmword, unspecified and anysize.
439 * i386-opc.tbl: Updated to use Byte, Word, Dword, Fword, Qword,
440 Tbyte, Xmmword, Unspecified and Anysize.
442 * i386-reg.tbl: Add size for accumulator.
444 * i386-init.h: Regenerated.
445 * i386-tbl.h: Likewise.
447 2008-01-10 H.J. Lu <hongjiu.lu@intel.com>
449 * i386-dis.c (REG_0F0E): Renamed to REG_0F0D.
451 (reg_table): Updated.
452 (dis386_twobyte): Updated. Use "nopQ" on 0x19 to 0x1e.
453 (twobyte_has_modrm): Set 1 for 0x19 to 0x1e.
455 2008-01-08 H.J. Lu <hongjiu.lu@intel.com>
457 * i386-gen.c (set_bitfield): Use fail () on error.
459 2008-01-08 H.J. Lu <hongjiu.lu@intel.com>
461 * i386-gen.c (lineno): New.
462 (filename): Likewise.
463 (set_bitfield): Report filename and line numer on error.
464 (process_i386_opcodes): Set filename and update lineno.
465 (process_i386_registers): Likewise.
467 2008-01-05 H.J. Lu <hongjiu.lu@intel.com>
469 * i386-gen.c (opcode_modifiers): Rename IntelMnemonic to
472 * i386-opc.h (IntelMnemonic): Renamed to ..
474 (Opcode_Modifier_Max): Updated.
475 (i386_opcode_modifier): Remove intelmnemonic. Add attsyntax
478 * i386-opc.tbl: Remove IntelMnemonic and update with ATTSyntax
479 on fsub, fubp, fsubr, fsubrp, div, fdivp, fdivr and fdivrp.
480 * i386-tbl.h: Regenerated.
482 2008-01-04 H.J. Lu <hongjiu.lu@intel.com>
484 * i386-gen.c: Update copyright to 2008.
485 * i386-opc.h: Likewise.
486 * i386-opc.tbl: Likewise.
488 * i386-init.h: Regenerated.
489 * i386-tbl.h: Likewise.
491 2008-01-04 H.J. Lu <hongjiu.lu@intel.com>
493 * i386-opc.tbl: Add NoRex64 to extractps, movmskpd, movmskps,
494 pextrb, pextrw, pinsrb, pinsrw and pmovmskb.
495 * i386-tbl.h: Regenerated.
497 2008-01-03 H.J. Lu <hongjiu.lu@intel.com>
499 * i386-gen.c (cpu_flag_init): Remove CpuSSE4_1_Or_5 and
501 (cpu_flags): Likewise.
503 * i386-opc.h (CpuSSE4_1_Or_5): Removed.
504 (CpuSSE4_2_Or_ABM): Likewise.
506 (i386_cpu_flags): Remove cpusse4_1_or_5 and cpusse4_2_or_abm.
508 * i386-opc.tbl: Replace CpuSSE4_1_Or_5, CpuSSE4_2_Or_ABM and
509 Cpu686|CpuPadLock with CpuSSE4_1|CpuSSE5, CpuABM|CpuSSE4_2
510 and CpuPadLock, respectively.
511 * i386-init.h: Regenerated.
512 * i386-tbl.h: Likewise.
514 2008-01-03 H.J. Lu <hongjiu.lu@intel.com>
516 * i386-gen.c (opcode_modifiers): Remove No_xSuf.
518 * i386-opc.h (No_xSuf): Removed.
519 (CheckSize): Updated.
521 * i386-tbl.h: Regenerated.
523 2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
525 * i386-gen.c (cpu_flag_init): Add CpuSSE4_2_Or_ABM to
526 CPU_AMDFAM10_FLAGS, CPU_SSE4_2_FLAGS, CpuABM and
528 (cpu_flags): Add CpuSSE4_2_Or_ABM.
530 * i386-opc.h (CpuSSE4_2_Or_ABM): New.
532 (i386_cpu_flags): Add cpusse4_2_or_abm.
534 * i386-opc.tbl: Use CpuSSE4_2_Or_ABM instead of
535 CpuABM|CpuSSE4_2 on popcnt.
536 * i386-init.h: Regenerated.
537 * i386-tbl.h: Likewise.
539 2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
541 * i386-opc.h: Update comments.
543 2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
545 * i386-gen.c (opcode_modifiers): Use Qword instead of QWord.
546 * i386-opc.h: Likewise.
547 * i386-opc.tbl: Likewise.
549 2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
552 * i386-gen.c (opcode_modifiers): Add No_xSuf, CheckSize,
553 Byte, Word, Dword, QWord and Xmmword.
555 * i386-opc.h (No_xSuf): New.
556 (CheckSize): Likewise.
563 (i386_opcode_modifier): Add No_xSuf, CheckSize, Byte, Word,
564 Dword, QWord and Xmmword.
566 * i386-opc.tbl: Add CheckSize|QWord to movq if IgnoreSize is
568 * i386-tbl.h: Regenerated.
570 2008-01-02 Mark Kettenis <kettenis@gnu.org>
572 * m88k-dis.c (instructions): Fix fcvt.* instructions.
575 For older changes see ChangeLog-2007
581 version-control: never