1 2008-08-11 Alan Modra <amodra@bigpond.net.au>
4 * hash.c: Expand PTR to void *.
5 (hash_delete): Add "freeme" parameter. Call obstack_free.
6 * hash.h: Expand PTR to void *.
7 (hash_delete): Update prototype.
8 * macro.c (macro_expand_body): hash_delete LOCALs from formal_hash.
9 * config/tc-tic54x.c (tic54x_remove_local_label): Update hash_delete
11 (subsym_substitute): Likewise.
12 * doc/internals.texi (hash_delete): Update.
14 2008-08-08 Anatoly Sokolov <aesok@post.ru>
16 * config/tc-avr.c (mcu_types): Add avr25, avr31, avr35, and avr51
17 architectures. Reorganize list to put mcu types in correct
18 architectures and to order list same as in GCC. Use new ISA
19 definitions in include/opcode/avr.h.
20 * doc/c-avr.texi: Add avr25, avr31, avr35, and avr51 architecture
21 descriptions. Reorganize descriptions to put mcu types in correct
22 architectures and to order lists same as in GCC.
24 2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
25 Daniel Jacobowitz <dan@codesourcery.com>
27 * config/tc-mips.c (OPTION_CALL_NONPIC): New macro.
28 (OPTION_NON_SHARED, OPTION_XGOT, OPTION_MABI, OPTION_32)
29 (OPTION_N32, OPTION_64, OPTION_MDEBUG, OPTION_NO_MDEBUG)
30 (OPTION_PDR, OPTION_NO_PDR, OPTION_MVXWORKS_PIC): Bump by 1.
31 (md_longopts): Add -call_nonpic.
32 (md_parse_option): Handle OPTION_CALL_NONPIC.
33 (md_show_usage): Add -call_nonpic.
35 2008-08-08 Sterling Augustine <sterling@tensilica.com>
37 * config/tc-xtensa.c (exclude_section_from_property_tables): New.
38 (xtensa_create_property_segments): Use it.
39 (xtensa_create_xproperty_segments): Likewise.
41 2008-08-08 Alan Modra <amodra@bigpond.net.au>
43 * doc/internals.texi (DWARF2_FORMAT): Update for 2008-08-04 change.
45 2008-08-06 Richard Sandiford <rdsandiford@googlemail.com>
47 * config/tc-mips.c (mips16_reloc_p, got16_reloc_p, hi16_reloc_p)
48 (lo16_reloc_p): New functions.
49 (reloc_needs_lo_p): Use hi16_reloc_p and got16_reloc_p to
50 generalize relocation checks.
51 (matching_lo_reloc): New function.
52 (fixup_has_matching_lo_p): Use it.
53 (mips16_mark_labels): Don't clobber a symbol's visibility.
54 (append_insn): Use hi16_reloc_p and lo16_reloc_p.
55 (mips16_ip): Handle BFD_RELOC_MIPS16_GOT16 and BFD_RELOC_MIPS16_CALL16.
56 (md_apply_fix): Likewise.
57 (mips16_percent_op): Add %got and %call16.
58 (mips_frob_file): Use got16_reloc_p to generalize relocation checks.
59 Use matching_lo_reloc.
60 (mips_force_relocation): Use hi16_reloc_p and lo16_reloc_p to
61 generalize relocation checks.
62 (mips_fix_adjustable): Use lo16_reloc_p to generalize relocation
65 2008-08-06 DJ Delorie <dj@redhat.com>
67 * NEWS: Mention these changes.
69 * config/tc-h8300.h (H_TICK_HEX): Define.
70 * config/tc-h8300.c (OPTION_H_TICK_HEX): New.
71 (md_longopts): Add "-h-tick-hex".
72 (md_parse_option): Support it.
73 * doc/c-h8300.texi (H8/300 Options): Document it.
74 * doc/as.texinfo (Overview): Likewise.
76 * config/tc-sh.h (H_TICK_HEX): Define.
77 * config/tc-sh.c (OPTION_H_TICK_HEX): New.
78 (md_longopts): Add "-h-tick-hex".
79 (md_parse_option): Support it.
80 * doc/c-sh.texi (SH Options): Document it.
81 * doc/c-sh64.texi (SH64 Options): Document it.
82 * doc/as.texinfo (Overview): Likewise.
84 2008-08-05 Alan Modra <amodra@bigpond.net.au>
87 * dwarf2dbg.c (dwarf2_directive_file): Disable gas generated
88 debug info if we see compiler generated debug info.
89 (dwarf2_directive_loc): Likewise. Remove redundant debug_type test.
91 2008-08-04 Alan Modra <amodra@bigpond.net.au>
93 * dwarf2dbg.c: Remove superfluous forward function declarations.
94 (DWARF2_FORMAT): Add section arg.
95 (out_header): New function, split out from..
96 (out_debug_line): ..here.
97 (out_debug_aranges): Use out_header.
98 (out_debug_abbrev): Add info_seg and line_seg args. Use
99 DW_FORM_data8 (for DW_AT_stmt_list) if line_seg is 64-bit.
100 (out_debug_info): Use out_header. Output 8 byte DW_AT_stmt_list
101 if line_seg is 64-bit.
102 (dwarf2_finish): Adjust out_debug_abbrev call.
103 * config/tc-mips.h (DWARF2_FORMAT, mips_dwarf2_format): Add sec arg.
104 * config/tc-mips.c (mips_dwarf2_format): Likewise.
106 2008-08-04 Alan Modra <amodra@bigpond.net.au>
108 * Makefile.am (POTFILES.in): Set LC_ALL=C.
109 * Makefile.in: Regenerate.
110 * po/POTFILES.in: Regenerate.
112 2008-08-01 Peter Bergner <bergner@vnet.ibm.com>
114 * config/tc-ppc.c (parse_cpu): Rename altivec_or_spe to retain_flags.
115 Handle -mvsx and -mpower7.
116 (md_show_usage): Document -mpower7 and -mvsx.
117 * doc/as.texinfo (Target PowerPC): Document -mvsx.
118 * doc/c-ppc.texi (PowerPC-Opts): Document -mvsx and -mpower7.
120 2008-07-31 Peter Bergner <bergner@vnet.ibm.com>
122 * config/tc-ppc.c (parse_cpu) <power6>: Accept Altivec instructions.
125 2008-07-30 Michael J. Eager <eager@eagercon.com>
127 * config/tc-ppc.c (parse_cpu): Separate handling of -m403/405.
128 (md_show_usage): Likewise.
130 2008-07-30 Alan Modra <amodra@bigpond.net.au>
132 * messages.c, symbols.c, write.c: Silence gcc warnings.
134 2008-07-28 Ineiev <ineiev@yahoo.co.uk>
136 * config/tc-i386.c (operand_type_check): Warning fix.
138 2008-07-26 Michael Eager <eager@eagercon.com>
140 * doc/as.texinfo: Add description of single-precision attribute.
142 2008-07-24 Jie Zhang <jie.zhang@analog.com>
144 * config/bfin-parse.y (asm_1): Error if plain symbol is used
145 as load/store offset.
147 2008-07-22 Chao-ying Fu <fu@mips.com>
149 * config/tc-mips.c (mips_ip): Reset s to argsStart.
151 2008-07-22 Jie Zhang <jie.zhang@analog.com>
153 * config/tc-bfin.c (bfin_gen_loop): Remove loop symbol.
155 2008-07-21 DJ Delorie <dj@redhat.com>
157 * config/tc-h8300.c (fix_operand_size): Use the default size
158 specified by the .lbranch/.sbranch pseudos.
160 2008-07-18 DJ Delorie <dj@redhat.com>
162 * config/tc-m32c.h (H_TICK_HEX): Define.
163 * config/tc-m32c.c (OPTION_H_TICK_HEX): Define.
164 (md_longopts): Add support for it.
165 (md_parse_option): Likewise.
166 * doc/as.texinfo (Overview): Add new m32c options.
167 * doc/c-m32c.texi (M32C-Modifiers): Likewise
169 * as.h: (enable_h_tick_hex): New.
170 * app.c (enable_h_tick_hex): New.
172 (do_scrub_begin): Mark 'H' and 'h' as special if enable_h_tick_hex.
173 (do_scrub_chars): If enable_h_tick_hex and 'h', check for H'00
174 style hex constants and convert the input stream to 0x00 style.
175 (do_scrub_chars): If a 'X style character constant is found after
176 a symbol character (like you're or X'00), warn the user.
178 2008-07-10 Richard Sandiford <rdsandiford@googlemail.com>
180 * config/tc-mips.c (mips16_mark_labels): Use ELF_ST_SET_MIPS16.
181 (mips_fix_adjustable): Likewise.
182 (mips_frob_file_after_relocs): Likewise.
184 2008-07-08 Nathan Sidwell <nathan@codesourcery.com>
186 * config/tc-m68k.c (m68k_set_cpu, m68k_set_arch): Don't complain
187 about overriding an earlier setting.
189 2008-07-07 Adam Nemet <anemet@caviumnetworks.com>
191 * config/tc-mips.c (NO_ISA_COP): New macro.
192 (COP_INSN): New macro.
193 (is_opcode_valid): Use them.
194 (macro) <ld_st>: Use them. Don't accept coprocessor load store
195 insns based on the ISA if CPU is NO_ISA_COP.
196 <copz>: Likewise for coprocessor operations.
198 2008-07-07 Paul Brook <paul@codesourcery.com>
200 * config/tc-arm.c (arm_fix_adjustable): Don't adjust MOVW/MOVT
203 2008-07-07 Ralf Corsépius <ralf.corsepius@rtems.org>
205 * configure.tgt: Add bfin-*-rtems*.
207 2008-07-04 Alan Modra <amodra@bigpond.net.au>
209 * config/tc-spu.c (md_apply_fix): Handle fully resolved
210 BFD_RELOC_32_PCREL, BFD_RELOC_SPU_HI16 and BFD_RELOC_SPU_LO16.
212 2008-06-25 Peter Bergner <bergner@vnet.ibm.com>
214 * config/tc-ppc.c (parse_cpu): Handle -m464.
215 (md_show_usage): Likewise.
217 2008-06-24 Eric B. Weddington <eric.weddington@atmel.com>
219 Add support for ATtiny13A.
220 * config/tc-avr.c (mcu_types): Add attiny13a.
221 * doc/c-avr.texi: Likewise.
223 2008-06-24 Bob Wilson <bob.wilson@acm.org>
224 Alan Modra <amodra@bigpond.net.au>
226 * write.c (relax_segment <rs_org>): Include current stretch
227 value when calculating whether .org is backwards.
229 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
231 * configure: Regenerate.
233 2008-06-17 Nick Clifton <nickc@redhat.com>
235 * app.c (do_scrub_chars): Do not UNGET an EOF value.
237 2008-06-16 Hans-Peter Nilsson <hp@bitrange.com>
240 * config/tc-mmix.c (s_loc): Assume "negative" addresses belong to
241 text_section. Do the "stepping backwards" test for text_section
242 using unsigned operands.
244 2008-06-13 Peter Bergner <bergner@vnet.ibm.com>
246 * config/tc-ppc.c (ppc_cpu): Use ppc_cpu_t typedef.
247 (ppc_insert_operand): Likewise.
248 (ppc_machine): Likewise.
249 * config/tc-ppc.h: #include "opcode/ppc.h"
250 (struct _ppc_fix_extra <ppc_cpu>): Use ppc_cpu_t typedef.
251 (ppc_cpu): Update extern decl.
253 2008-06-12 Adam Nemet <anemet@caviumnetworks.com>
255 * config/tc-mips.c (validate_mips_insn): Handle field descriptors
256 +x, +X, +p, +P, +s, +S.
259 * config/tc-mips.c (validate_mips_insn): Handle field descriptor +Q.
261 (macro_build): Likewise.
262 (CPU_HAS_SEQ): New macro.
263 (macro2) <M_SEQ_I, M_SNE_I>: Use it. Emit seq/sne and seqi/snei.
265 2008-06-09 Eric B. Weddington <eric.weddington@atmel.com>
267 * config/tc-avr.c (mcu_types): Remove support for ATmega32HVB device.
268 * doc/c-avr.texi: Likewise.
270 2008-06-04 Nick Clifton <nickc@redhat.com>
272 * app.c (do_scrub_chars): Do not UNGET an EOF value.
274 2008-06-03 H.J. Lu <hongjiu.lu@intel.com>
276 * config/tc-i386.c (set_sse_check): New.
277 (md_pseudo_table): Add "sse_check".
279 2008-06-03 Paul Brook <paul@codesourcery.com>
281 * config/tc-arm.c (do_t_rbit): Populate both rm fields.
283 2008-05-30 Nick Clifton <nickc@redhat.com>
286 * config/tc-avr.c (avr_ldi_expression): Do not warn about unknown
289 2008-05-29 Maxim Kuvyrkov <maxim@codesourcery.com>
291 * config/tc-mips.c (mips_cpu_info_table): Move records for
292 ST Loongson-2E/2F processors to a better place.
294 2008-05-23 H.J. Lu <hongjiu.lu@intel.com>
297 * config/tc-i386.c (match_template): Report ambiguous operand
298 size, not invalid suffix when there is no match in Intel
301 2008-05-22 Paul Brook <paul@codesourcery.com>
303 * config/tc-arm.c (parse_cond): Covert to lowercase before matching.
305 2008-05-21 I-Jui Sung <ijsung@gmail.com>
307 * config/tc-arm.c (arm_cpus): Add Faraday ARMv4 and ARMv5TE
308 compatible cores: fa526, fa626, fa626te, fa726te.
309 * doc/c-arm.texi (ARM Opts): Add -mcpu={fa526, fa626, fa626te,
312 2008-05-14 Alan Modra <amodra@bigpond.net.au>
314 * Makefile.am: Run "make dep-am".
315 * Makefile.in: Regenerate.
316 * doc/Makefile.in: Regenerate.
317 * po/POTFILES.in: Regenerate.
319 2008-05-09 Catherine Moore <clm@codesourcery.com>
321 * config/tc-mips.c (mips_frob_file): Don't match MIPS16 relocs
322 with non-MIPS16 relocs.
324 2008-05-09 Chao-ying Fu <fu@mips.com>
326 * config/tc-mips.c (md_begin): Use strncmp to compare TARGET_OS, in
327 case that some characters append at the end of the name.
329 (s_change_sec): Likewise.
330 (md_section_align): Likewise.
332 2008-05-07 Bob Wilson <bob.wilson@acm.org>
334 * config/tc-xtensa.c (xtensa_create_property_segments): Use
335 xtensa_make_property_section instead of xtensa_get_property_section.
336 (xtensa_create_xproperty_segments): Likewise.
338 2008-05-02 H.J. Lu <hongjiu.lu@intel.com>
340 * NEWS: Mention XSAVE, EPT and MOVBE.
342 * config/tc-i386.c (cpu_arch): Add .movbe and .ept.
343 (md_show_usage): Add .movbe and .ept.
345 * doc/c-i386.texi: Add movbe and ept to -march=. Document
348 2008-04-29 David S. Miller <davem@davemloft.net>
350 * config/tc-sparc.c (v9a_asr_table): Fix order of softint entries.
352 2008-04-28 Adam Nemet <anemet@caviumnetworks.com>
354 * config/tc-mips.c (file_mips_soft_float, file_mips_single_float):
356 (OPTION_ELF_BASE): Make room for new option macros.
357 (OPTION_SOFT_FLOAT, OPTION_HARD_FLOAT, OPTION_SINGLE_FLOAT,
358 OPTION_DOUBLE_FLOAT): New option macros.
359 (md_longopts): Add msoft-float, mhard-float, msingle-float and
361 (md_parse_option): Handle OPTION_SINGLE_FLOAT,
362 OPTION_DOUBLE_FLOAT, OPTION_SOFT_FLOAT and OPTION_HARD_FLOAT.
363 (md_show_usage): Add -msoft-float, -mhard-float, -msingle-float
365 (struct mips_set_options): New fields soft_float and single_float.
366 (mips_opts): Initialized them. Add comment for each field
368 (mips_after_parse_args): Set them based on file_mips_soft_float
369 and file_mips_single_float.
370 (s_mipsset): Add support for `.set softfloat', `.set hardfloat',
371 `.set singlefloat' and `.set doublefloat'.
372 (is_opcode_valid): New function to invoke OPCODE_IS_MEMBER.
373 Handle single-float and soft-float instructions here.
374 (macro_build, mips_ip): Use it instead of OPCODE_IS_MEMBER.
375 (is_opcode_valid_16): New function.
376 (mips16_ip): Use it instead of OPCODE_IS_MEMBER.
377 (macro) <M_LDC1_AB, M_SDC1_AB, M_L_DOB, M_L_DAB, M_S_DAB,
378 M_S_DOB>: Remove special-casing of r4650.
379 * doc/c-mips.texi (-march=): Add Octeon.
380 (MIPS Opts): Document -msoft-float and -mhard-float. Document
381 -msingle-float and -mdouble-float.
382 (MIPS floating-point): New section. Document `.set softfloat' and
383 `.set hardfloat'. Document `.set singlefloat' and `.set
386 2008-04-25 David S. Miller <davem@davemloft.net>
388 * config/tc-sparc.c: Accept 'softint_clear' and 'softint_set'
391 * doc/c-sparc.texi: Consistently refer to architecture 'versions',
392 rather than occaisionally 'levels'. Consistently refer to Sun's
393 UNIX variant as SunOS, every version of Solaris is also SunOS.
394 Document new 'softint_clear' and 'softint_set' aliases. Clarify
395 which architecture versions support '%dcr', '%cq', and '%gl'. Add
396 section on 32-bit/64-bit opcode translations.
398 2008-04-23 Mike Frysinger <vapier@gentoo.org>
400 * Makefile.am (OBJ_FORMAT_CFILES): Add config/obj-fdpicelf.c.
401 (OBJ_FORMAT_HFILES): Add config/obj-fdpicelf.h.
402 (obj-fdpicelf.o): Define.
403 * Makefile.in: Regenerate.
404 * configure.tgt: Set bfd_gas to yes when fmt is fdpicelf.
406 (bfin-*-linux-uclibc): New; set fmt to fdpicelf and em to linux.
407 (bfin-*-uclinux*): New; set fmt to elf and em to linux.
408 * config/obj-fdpicelf.c: New.
409 * config/obj-fdpicelf.h: Likewise.
410 * config/tc-bfin.c (bfin_flags, bfin_pic_flag): Set default based on
411 the OBJ_FDPIC_ELF define.
412 (OPTION_NOPIC): Define.
413 (md_longopts): Add mnopic and mno-fdpic.
414 (md_parse_option): Handle OPTION_NOPIC.
416 2008-04-23 Paolo Bonzini <bonzini@gnu.org>
418 * aclocal.m4: Regenerate.
419 * configure: Regenerate.
421 2008-04-23 David S. Miller <davem@davemloft.net>
423 * config/tc-sparc.c (v9a_asr_table): Add missing
424 'stick' and 'stick_cmpr', and document ordering rules
426 (tc_gen_reloc): Accept BFD_RELOC_SPARC_PC22 and
427 BFD_RELOC_SPARC_PC10.
428 * doc/c-sparc.texi: New section on Sparc constants.
429 Add documentation for %stick and %stick_cmpr.
431 2008-04-22 David S. Miller <davem@davemloft.net>
433 * config/obj-elf.c (obj_elf_section_type): Add prototype
434 before obj_elf_section_word and add 'warn' arg.
435 (obj_elf_section_word): Add type pointer arg, and if no #SECTION
436 is matched, try checking for #SECTION_TYPE.
437 (obj_elf_section): Adjust for new args.
438 (obj_elf_type_name): New function.
439 (obj_elf_type): Call it, and accept STT_foo number strings
440 in .type statements as output by SunPRO compiler.
442 2008-04-22 H.J. Lu <hongjiu.lu@intel.com>
444 * config/tc-i386.c (md_assemble): Don't check SSE instructions
447 2008-04-18 David S. Miller <davem@davemloft.net>
449 * doc/c-sparc.texi: Add syntax section.
451 2008-04-18 H.J. Lu <hongjiu.lu@intel.com>
453 * config/tc-i386.c (build_modrm_byte): Don't check FMA to swap
454 REG and NDS for instructions with immediate operand.
456 2008-04-18 H.J. Lu <hongjiu.lu@intel.com>
458 * config/tc-i386.c (build_modrm_byte): Swap REG and NDS for
461 2008-04-16 David S. Miller <davem@davemloft.net>
463 * config/tc-sparc.c (sparc_ip): Add support for gotdata mnemonics
464 and relocation generation.
465 (tc_gen_reloc): Likewise.
467 2008-04-15 Andrew Stubbs <andrew.stubbs@st.com>
469 * config/tc-sh.c (md_apply_fix): Make sure BFD_RELOC_SH_PCRELIMM8BY4
470 relocations are properly aligned, and not negative.
472 2008-04-15 Khem Raj <kraj@mvista.com>
474 * doc/tc-arm.texi: Fix fnstart and fnend directive names.
476 2008-04-14 Edmar Wienskoski <edmar@freescale.com>
478 * config/tc-ppc.c (parse_cpu): Handle "e500mc". Extend "e500" to
479 accept e500mc instructions.
480 (md_show_usage): Document -me500mc.
482 2008-04-11 Nick Clifton <nickc@redhat.com>
484 * listing.c (print_timestamp): Use localtime rather than
485 localtime_r since not all build environments provide the latter.
487 2008-04-10 H.J. Lu <hongjiu.lu@intel.com>
489 * NEWS: Mention -msse-check=[none|error|warning].
491 * config/tc-i386.c (sse_check): New.
492 (OPTION_MSSE_CHECK): Likewise.
493 (md_assemble): Check SSE instructions if needed.
494 (md_longopts): Add -msse-check.
495 (md_parse_option): Handle OPTION_MSSE_CHECK.
496 (md_show_usage): Show -msse-check=[none|error|warning].
498 * doc/c-i386.texi: Document -msse-check=[none|error|warning].
500 2008-04-10 Santiago Urueña <suruena@gmail.com>
502 * listing.c: Add -ag listing flag to show general information in
503 listings such as gas version, passed options, and time stamp.
504 (listing_general_info): New function.
505 (print_options): New function.
506 (print_single_option): New function.
507 (print_timestamp): New function.
508 (MAX_DATELEN): Define.
509 (listing_print): Add call to listing_general_info.
510 * listing.h (LISTING_GENERAL): Define.
511 (listing_print): Add new parameter.
512 * as.c (show_usage): Print new switch.
513 (parse_args): Parse new switch.
514 (main): Pass command line on to listing_print.
515 * NEWS: Mention this new feature.
516 * doc/as.texinfo: Document the new sub-option.
518 2008-04-08 Alan Modra <amodra@bigpond.net.au>
520 * dwarf2dbg.c (dwarf2_emit_insn): Simplify test before dwarf2_where
521 call. Delete out of date comment.
522 (dwarf2_consume_line_info): Always clear dwarf2_loc_directive_seen.
523 (dwarf2_emit_label): Don't emit unless there has been a previous
524 .file or we are outputting assembler generated debug.
525 dwarf2_consume_line_info after emitting line info, not before.
526 (out_debug_info): Simplify files_in_use test.
528 2008-04-07 H.J. Lu <hongjiu.lu@intel.com>
530 * config/tc-i386.c (parse_real_register): Return AVX register
531 only if AVX is enabled.
533 2008-04-07 Kaz Kojima <kkojima@rr.iij4u.or.jp>
536 * config/tc-sh64.c (shmedia_md_pcrel_from_section): Use
537 md_pcrel_from_section for BFD_RELOC_64 and BFD_RELOC_64_PCREL.
539 2008-04-04 Adrian Bunk <bunk@stusta.de>
540 Bob Wilson <bob.wilson@acm.org>
542 * config/tc-xtensa.c (xg_apply_fix_value): Check return code from
543 call to decode_reloc.
545 2008-04-04 H.J. Lu <hongjiu.lu@intel.com>
547 * NEWS: Mention XSAVE. Change CLMUL to PCLMUL.
549 * config/tc-i386.c (cpu_arch): Add .pclmul.
550 (md_show_usage): Replace clmul with pclmul.
551 * doc/c-i386.texi: Likewise.
553 2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
555 * NEWS: Mention AES, CLMUL, AVX/FMA and -msse2avx.
557 * doc/c-i386.texi: Add avx, aes, clmul and fma to -march=.
558 Document -msse2avx, .avx, .aes, .clmul and .fma.
560 * config/tc-i386.c (YMMWORD_MNEM_SUFFIX): New.
561 (vex_prefix): Likewise.
563 (CPU_FLAGS_ARCH_MATCH): Likewise.
564 (CPU_FLAGS_64BIT_MATCH): Likewise.
565 (CPU_FLAGS_32BIT_MATCH): Likewise.
566 (CPU_FLAGS_PERFECT_MATCH): Likewise.
568 (vex_imm4): Likewise.
569 (fits_in_imm4): Likewise.
570 (build_vex_prefix): Likewise.
571 (VEX_check_operands): Likewise.
572 (bad_implicit_operand): Likewise.
573 (OPTION_MSSE2AVX): Likewise.
574 (T_YMMWORD): Likewise.
575 (_i386_insn): Add vex.
576 (cpu_arch): Add .avx, .aes, .clmul and .fma.
577 (cpu_flags_match): Changed to take a pointer to const template.
578 Enable encoding SSE instructions with VEX prefix for -msse2avx.
579 (match_mem_size): Also check ymmword.
580 (operand_type_match): Clear ymmword.
581 (md_begin): Allow '_' in mnemonic.
582 (type_names): Add OPERAND_TYPE_VEX_IMM4.
583 (process_immext): Update assert.
584 (md_assemble): Don't call process_immext if sse2avx and immext
585 are true. Call build_vex_prefix if vex is true.
586 (parse_insn): Updated for cpu_flags_match.
587 (swap_operands): Handle 5 operands.
588 (match_template): Handle 5 operands. Updated for cpu_flags_match.
589 Check regymm. Call VEX_check_operands. Handle YMMWORD_MNEM_SUFFIX.
590 (process_suffix): Handle YMMWORD_MNEM_SUFFIX.
591 (check_byte_reg): Check regymm.
592 (process_operands): Duplicate the destination register for
594 (build_modrm_byte): Updated for instructions with VEX encoding.
595 (output_insn): Output VEX prefix if needed.
596 (md_longopts): Add msse2avx.
597 (md_parse_option): Handle OPTION_MSSE2AVX.
598 (md_show_usage): Add avx, aes, clmul, fma and -msse2avx.
599 (intel_e09): Support YMMWORD.
600 (intel_e11): Likewise.
601 (intel_get_token): Likewise.
603 2008-03-28 Eric B. Weddington <eric.weddington@atmel.com>
605 * config/tc-avr.c (mcu_types): Add attiny167.
606 * doc/c-avr.texi: Likewise.
608 2008-03-28 Eric B. Weddington <eric.weddington@atmel.com>
610 * config/tc-avr.c (mcu_types): Add atmega32u4.
611 * doc/c-avr.texi: Likewise.
613 2008-03-28 Eric B. Weddington <eric.weddington@atmel.com>
615 * config/tc-avr.c (mcu_types): Add atmega32c1.
616 * doc/c-avr.texi: Likewise.
618 2008-03-28 Paul Brook <paul@codesourcery.com>
620 * config/tc-arm.c (parse_neon_mov): Parse register before immediate
621 to avoid spurious symbols.
623 2008-03-28 Nathan Sidwell <nathan@codesourcery.com>
625 * config/tc-m68k.c (md_convert_frag_1): Replace as_fatal with
628 2008-03-27 Eric B. Weddington <eric.weddington@atmel.com>
630 * config/tc-avr.c (mcu_types): Add atmega32m1.
631 * doc/c-avr.texi: Likewise.
633 2008-03-27 Ineiev <ineiev@yahoo.co.uk>
635 * config/tc-arm.c (do_neon_cvt): Move variable declarations to
637 (do_neon_ext): Fix sign of comparison.
639 2008-03-26 Bernd Schmidt <bernd.schmidt@analog.com>
641 From Jie Zhang <jie.zhang@analog.com>
642 * config/bfin-parse.y (asm_1): Check AREGS in comparison
643 instructions. And call yyerror when comparing PREG with
645 (check_macfunc_option): New.
646 (check_macfuncs): Check option by calling check_macfunc_option.
647 Fix comparison always true warnings. Both scalar instructions
648 of vector instruction must share the same mode option. Only allow
649 option mode at the end of the second instruction of the vector.
650 (asm_1): Check option by calling check_macfunc_option.
652 * config/bfin-parse.y (check_macfunc_option): Allow (IU)
653 option for multiply and multiply-accumulate to data register
655 (check_macfuncs): Don't check if accumulator matches the data register
657 (assign_macfunc): Check if accumulator matches the
658 data register in each rule that moves to the data
661 * config/tc-bfin.c (bfin_start_line_hook): Localize the labels
662 generated for LOOP_BEGIN and LOOP_END instructions.
663 (bfin_gen_loop): Likewise.
665 2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
667 * config/tc-s390.c (md_parse_option): z10 option added.
669 2008-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
671 * aclocal.m4: Regenerate.
672 * configure: Likewise.
673 * Makefile.in: Likewise.
674 * doc/Makefile.in: Likewise.
676 2008-03-17 Adrian Bunk <bunk@stusta.de>
679 * config/tc-hppa.c (is_same_frag): Delete.
681 2008-03-14 Sterling Augustine <sterling@tensilica.com>
683 * config/tc-xtensa.h (xtensa_relax_statesE): Update comment for
684 RELAX_LOOP_END_ADD_NOP.
686 2008-03-13 Evandro Menezes <evandro@yahoo.com>
689 * read.c (s_mexit): Warn if attempting to exit a macro when not
690 inside a macro definition.
692 2008-03-13 Alan Modra <amodra@bigpond.net.au>
694 * Makefile.am: Run "make dep-am".
695 * Makefile.in: Regenerate.
696 * configure: Regenerate.
698 2008-03-09 Paul Brook <paul@codesourcery.com>
700 * config/tc-arm.c (arm_cpu_option_table): Add cortex-a9.
701 * doc/c-arm.texi: Add cortex-a9.
703 2008-03-09 Paul Brook <paul@codesourcery.com>
705 * config/tc-arm.c (fpu_vfp_ext_d32): New vairable.
706 (parse_vfp_reg_list, encode_arm_vfp_reg): Use it.
707 (arm_option_cpu_value): Add vfpv3-d16, vfpv2 and vfpv3.
708 (aeabi_set_public_attributes): Handle Tag_VFP_arch=VFPV3-D16.
709 * doc/c-arm.texi: Document new ARM FPU variants.
711 2008-03-07 Paul Brook <paul@codesourcery.com>
713 * config/tc-arm.c (md_apply_fix): Use correct offset range.
715 2008-03-07 Alan Modra <amodra@bigpond.net.au>
717 * config/tc-ppc.c (ppc_setup_opcodes): Tidy. Add code to test
718 for strict ordering of powerpc_opcodes, but disable for now.
720 2008-03-04 Paul Brook <paul@codesourcery.com>
722 * config/tc-arm.c (arm_ext_barrier, arm_ext_msr): New.
723 (arm_ext_v7m): Rename...
724 (arm_ext_m): ... to this. Include v6-M.
725 (do_t_add_sub): Allow narrow low-reg non flag setting adds.
726 (do_t_mrs, do_t_msr, aeabi_set_public_attributes): Use arm_ext_m.
727 (md_assemble): Allow wide msr instructions.
728 (insns): Add classifications for v6-m instructions.
729 (arm_cpu_option_table): Add cortex-m1.
730 (arm_arch_option_table): Add armv6-m.
731 (cpu_arch): Add ARM_ARCH_V6M. Fix numbering of other v6 variants.
733 2008-03-03 Sterling Augustine <sterling@tensilica.com>
734 Bob Wilson <bob.wilson@acm.org>
736 * config/tc-xtensa.c (xtensa_num_pipe_stages): New.
737 (md_begin): Initialize it.
738 (resources_conflict): Use it.
740 2008-03-03 Sterling Augustine <sterling@tensilica.com>
742 * config/tc-xtensa.h (RELAX_XTENSA_NONE): New.
744 2008-03-03 Denys Vlasenko <vda.linux@googlemail.com>
745 H.J. Lu <hongjiu.lu@intel.com>
748 * read.c (pseudo_set): Don't allow global register symbol.
750 * symbols.c (S_SET_EXTERNAL): Don't allow register symbol
753 2008-03-03 H.J. Lu <hongjiu.lu@intel.com>
756 * write.c (write_object_file): Don't allow symbols which were
757 equated to register. Stop if there is an error.
759 2008-03-01 Alan Modra <amodra@bigpond.net.au>
761 * config/tc-ppc.h (struct _ppc_fix_extra): New.
763 (TC_FIX_TYPE, TC_INIT_FIX_DATA): Define.
764 * config/tc-ppc.c (ppu_cpu): Make global.
765 (ppc_insert_operand): Add ppu_cpu parameter.
766 (md_assemble): Adjust for above change.
767 (md_apply_fix): Pass tc_fix_data.ppc_cpu to ppc_insert_operand.
769 2008-02-22 Nick Clifton <nickc@redhat.com>
771 * config/tc-arm.c (do_bx): Only test EF_ARM_EABI_VERSION on ELF
772 targeted ARM ports, otherwise just skip generating the reloc.
774 2008-02-18 H.J. Lu <hongjiu.lu@intel.com>
776 * doc/c-i386.texi: Update -march= and .arch.
778 2008-02-18 Nick Clifton <nickc@redhat.com>
780 * config/tc-mn10300.c (has_known_symbol_location): New function.
781 Do not regard weak symbols as having a known location.
782 (md_estimate_size_before_relax): Use new function.
783 (md_pcrel_from): Do not compute a pcrel against a weak symbol.
785 2008-02-18 Jan Beulich <jbeulich@novell.com>
787 * config/tc-i386.c (match_template): Disallow 'l' suffix when
788 currently selected CPU has no 32-bit support.
789 (parse_real_register): Do not return registers not available on
790 currently selected CPU.
792 2008-02-16 H.J. Lu <hongjiu.lu@intel.com>
794 * config/tc-i386.c (process_immext): Fix format.
796 2008-02-16 H.J. Lu <hongjiu.lu@intel.com>
798 * config/tc-i386.c (inoutportreg): New.
799 (process_immext): New.
800 (md_assemble): Use it.
801 (update_imm): Use imm16 and imm32s.
802 (i386_att_operand): Use inoutportreg.
804 2008-02-14 H.J. Lu <hongjiu.lu@intel.com>
806 * config/tc-i386.c (operand_type_all_zero): New.
807 (operand_type_set): Likewise.
808 (operand_type_equal): Likewise.
809 (cpu_flags_all_zero): Likewise.
810 (cpu_flags_set): Likewise.
811 (cpu_flags_equal): Likewise.
812 (UINTS_ALL_ZERO): Removed.
813 (UINTS_SET): Likewise.
814 (UINTS_CLEAR): Likewise.
815 (UINTS_EQUAL): Likewise.
816 (cpu_flags_match): Updated.
817 (smallest_imm_type): Likewise.
818 (set_cpu_arch): Likewise.
819 (md_assemble): Likewise.
820 (optimize_imm): Likewise.
821 (match_template): Likewise.
822 (process_suffix): Likewise.
823 (update_imm): Likewise.
824 (process_drex): Likewise.
825 (process_operands): Likewise.
826 (build_modrm_byte): Likewise.
827 (i386_immediate): Likewise.
828 (i386_displacement): Likewise.
829 (i386_att_operand): Likewise.
830 (parse_real_register): Likewise.
831 (md_parse_option): Likewise.
832 (i386_target_format): Likewise.
834 2008-02-14 Dimitry Andric <dimitry@andric.com>
837 * config/tc-arm.c (s_arm_unwind_save): Advance the input line
838 pointer past the comma after parsing a floating point register
841 2008-02-14 Hakan Ardo <hakan@debian.org>
844 * config/tc-avr.c (mcu_types): Change the ISA tyoe of the attiny26
846 (avr_operand): Disallow post-increment addressing in the lpm
847 instruction for the attiny26.
849 2008-02-13 Jan Beulich <jbeulich@novell.com>
851 * config/tc-i386.c (parse_real_register): Don't return 'FLAT'
852 if not in Intel mode.
853 (i386_intel_operand): Ignore segment overrides in immediate and
855 (intel_e11): Range-check i.mem_operands before use as array
856 index. Filter out FLAT for uses other than as segment override.
857 (intel_get_token): Remove broken promotion of "FLAT:" to mean
860 2008-02-13 Jan Beulich <jbeulich@novell.com>
862 * config/tc-i386.c (intel_e09): Also special-case 'bound'.
864 2008-02-13 Jan Beulich <jbeulich@novell.com>
866 * config/tc-i386.c (allow_pseudo_reg): New.
867 (parse_real_register): Check for NULL just once. Allow all
868 register table entries when allow_pseudo_reg is non-zero.
869 Don't allow any registers without type when allow_pseudo_reg
871 (tc_x86_regname_to_dw2regnum): Replace with ...
872 (tc_x86_parse_to_dw2regnum): ... this.
873 (tc_x86_frame_initial_instructions): Adjust for above change.
874 * config/tc-i386.h (tc_regname_to_dw2regnum): Remove.
875 (tc_parse_to_dw2regnum): New.
876 (tc_x86_regname_to_dw2regnum): Replace with ...
877 (tc_x86_parse_to_dw2regnum): ... this.
878 * dw2gencfi.c (tc_parse_to_dw2regnum): New, broken out of ...
879 (cfi_parse_reg): ... this. Use tc_parse_to_dw2regnum. Adjust
882 2008-02-12 Nick Clifton <nickc@redhat.com>
884 * config/tc-tic4x.c (tic4x_insn_insert): Add const qualifier to
886 (tic4x_insn_add): Likewise.
887 (md_begin): Drop cast that was discarding a const qualifier.
888 * config/tc-d30v.c (get_reloc): Add const qualifier to op
890 (build_insn): Drop cast that was discarding a const qualifier.
892 2008-02-11 H.J. Lu <hongjiu.lu@intel.com>
894 * config/tc-i386.c (cpu_arch): Add .xsave.
895 (md_show_usage): Add .xsave.
897 * doc/c-i386.texi: Add xsave to -march=.
899 2008-02-07 Alan Modra <amodra@bigpond.net.au>
901 * read.c (s_weakref): Don't pass unadorned NULL to concat.
902 * config/tc-i386.c (set_cpu_arch, md_parse_option): Likewise.
904 2008-02-05 Sterling Augustine <sterling@tensilica.com>
906 * config/tc-xtensa.c (relax_frag_immed): Change internal consistency
907 checks into assertions. When relaxation produces an operation that
908 does not fit in the current FLIX instruction, make sure that the
909 operation is relaxed as needed to account for being placed following
910 the current instruction.
912 2008-02-04 H.J. Lu <hongjiu.lu@intel.com>
915 * configure: Regenerated.
917 2008-02-04 Adam Nemet <anemet@caviumnetworks.com>
919 * config/tc-mips.c (mips_cpu_info_table): Add Octeon.
921 2008-01-31 Marc Gauthier <marc@tensilica.com>
923 * configure.tgt (xtensa*-*-*): Recognize processor variants.
925 2008-01-25 Kai Tietz <kai.tietz@onevision.com>
927 * read.c: (emit_expr): Correct for mingw use of printf size
930 2008-01-24 Bob Wilson <bob.wilson@acm.org>
932 * doc/c-xtensa.texi (Xtensa Syntax): Clarify handling of opcodes that
933 can only be encoded in FLIX instructions but are not specified as such.
934 (Xtensa Automatic Alignment): Remove obsolete comment about debugging
937 2008-01-24 H.J. Lu <hongjiu.lu@intel.com>
939 * NEWS: Mention new command line options for x86 targets.
941 2008-01-23 H.J. Lu <hongjiu.lu@intel.com>
943 * config/tc-i386.c (md_show_usage): Replace tabs with spaces.
945 2008-01-23 Eric B. Weddington <eric.weddington@atmel.com>
947 * config/tc-avr.c (mcu_types): Change opcode set for at86rf401.
949 2008-01-23 H.J. Lu <hongjiu.lu@intel.com>
951 * config/tc-i386.c (md_show_usage): Show more processors for
954 2008-01-22 H.J. Lu <hongjiu.lu@intel.com>
956 * config/tc-i386.c (i386_target_format): Remove cpummx2.
958 2008-01-22 H.J. Lu <hongjiu.lu@intel.com>
960 * config/tc-i386.c (XXX_PREFIX): Moved from tc-i386.h.
961 (XXX_MNEM_SUFFIX): Likewise.
962 (END_OF_INSN): Likewise.
963 (templates): Likewise.
964 (modrm_byte): Likewise.
965 (rex_byte): Likewise.
966 (DREX_XXX): Likewise.
967 (drex_byte): Likewise.
968 (sib_byte): Likewise.
969 (processor_type): Likewise.
970 (arch_entry): Likewise.
971 (cpu_sub_arch_name): Remove const.
972 (cpu_arch): Add .vmx and .smx.
973 (set_cpu_arch): Append cpu_sub_arch_name.
974 (md_parse_option): Support -march=CPU[,+EXTENSION...].
975 (md_show_usage): Updated.
977 * config/tc-i386.h (XXX_PREFIX): Moved to tc-i386.c.
978 (XXX_MNEM_SUFFIX): Likewise.
979 (END_OF_INSN): Likewise.
980 (templates): Likewise.
981 (modrm_byte): Likewise.
982 (rex_byte): Likewise.
983 (DREX_XXX): Likewise.
984 (drex_byte): Likewise.
985 (sib_byte): Likewise.
986 (processor_type): Likewise.
987 (arch_entry): Likewise.
989 * doc/as.texinfo: Update i386 -march option.
991 * doc/c-i386.texi: Update -march= for ISA.
993 2008-01-18 Bob Wilson <bob.wilson@acm.org>
995 * config/tc-xtensa.c (xtensa_leb128): New function.
996 (md_pseudo_table): Use it for sleb128 and uleb128.
997 (is_leb128_expr): New internal flag.
998 (xtensa_symbol_new_hook): Check new flag.
1000 2008-01-16 Eric B. Weddington <eric.weddington@atmel.com>
1002 * config/tc-avr.c (mcu_types): Change opcode set for avr3,
1003 at90usb82, at90usb162.
1004 * doc/c-avr.texi: Change architecture grouping for at90usb82,
1006 These changes support the new avr35 architecture group in gcc.
1008 2008-01-15 H.J. Lu <hongjiu.lu@intel.com>
1010 * config/tc-i386.c (md_assemble): Also zap movzx and movsx
1011 suffix for AT&T syntax.
1013 2008-01-14 H.J. Lu <hongjiu.lu@intel.com>
1015 * config/tc-i386.c (match_reg_size): New.
1016 (match_mem_size): Likewise.
1017 (operand_size_match): Likewise.
1018 (operand_type_match): Also clear all size fields.
1019 (match_template): Skip Intel syntax when in AT&T syntax.
1020 Call operand_size_match to check operand size.
1021 (i386_att_operand): Set the mem field to 1 for memory
1023 (i386_intel_operand): Likewise.
1025 2008-01-12 H.J. Lu <hongjiu.lu@intel.com>
1028 * config/tc-i386.c (_i386_insn): Update comment.
1029 (operand_type_match): Also clear unspecified.
1030 (operand_type_register_match): Likewise.
1031 (parse_operands): Initialize unspecified.
1032 (i386_intel_operand): Likewise.
1033 (match_template): Check memory and accumulator operand size.
1034 (i386_att_operand): Clear unspecified on register operand.
1035 (intel_e11): Likewise.
1036 (intel_e09): Set operand size and clean unspecified for
1039 2008-01-11 Andreas Schwab <schwab@suse.de>
1041 * read.c (s_space): Declare `repeat' as offsetT.
1043 2008-01-10 H.J. Lu <hongjiu.lu@intel.com>
1045 * config/tc-i386.c (match_template): Check processor support
1048 2008-01-10 H.J. Lu <hongjiu.lu@intel.com>
1050 * config/tc-i386.c (match_template): Continue if processor
1053 2008-01-09 Alexandre Oliva <aoliva@redhat.com>
1055 * config/tc-ia64.c (ia64_convert_frag): Zero-initialize room for
1056 unwind personality function address.
1058 2008-01-09 Bob Wilson <bob.wilson@acm.org>
1060 * dwarf2dbg.c (out_sleb128): Delete.
1061 (size_fixed_inc_line_addr, emit_fixed_inc_line_addr): New.
1062 (out_fixed_inc_line_addr): Delete.
1063 (relax_inc_line_addr, dwarf2dbg_estimate_size_before_relax): Call new
1064 size_fixed_inc_line_addr if DWARF2_USE_FIXED_ADVANCE_PC is set.
1065 (dwarf2dbg_convert_frag): Likewise for emit_fixed_inc_line_addr.
1066 (process_entries): Remove calls to out_fixed_inc_line_addr. When
1067 DWARF2_USE_FIXED_ADVANCE_PC is set, call relax_inc_line_addr.
1068 * read.h (emit_expr_fix): New prototype.
1069 * read.c (emit_expr): Move code to emit_expr_fix and use it here.
1070 (emit_expr_fix): New.
1072 2008-01-09 H.J. Lu <hongjiu.lu@intel.com>
1074 * config/tc-i386.c (match_template): Check register size
1075 only when size of operands can be encoded the canonical way.
1077 2008-01-08 H.J. Lu <hongjiu.lu@intel.com>
1079 * config/tc-i386.c (i386_operand): Renamed to ...
1080 (i386_att_operand): This.
1081 (parse_operands): Updated.
1083 2008-01-05 H.J. Lu <hongjiu.lu@intel.com>
1085 * doc/c-i386.texi: Update .att_mnemonic and .intel_mnemonic.
1087 * config/tc-i386.c (set_intel_mnemonic): Set intel_mnemonic
1089 (md_assemble): Remove Intel mode workaround.
1090 (match_template): Check support for old gcc, AT&T mnemonic
1092 (md_parse_option): Don't set intel_mnemonic to 0 for
1095 2008-01-04 H.J. Lu <hongjiu.lu@intel.com>
1097 * config/tc-i386.h: Update copyright to 2008.
1099 2008-01-04 Nick Clifton <nickc@redhat.com>
1101 * config/tc-ppc.c (parse_cpu): Preserve the settings of the
1102 PPC_OPCODE_ALTIVEC and PPC_OPCODE_SPE flags.
1104 2008-01-03 H.J. Lu <hongjiu.lu@intel.com>
1106 * config/tc-i386.c (md_assemble): Use !intel_mnemonic instead
1109 2008-01-03 H.J. Lu <hongjiu.lu@intel.com>
1111 * gas/config/tc-i386.c (cpu_arch_flags_not): Removed.
1112 (cpu_flags_not): Likewise.
1113 (cpu_flags_match): Updated to check 64bit and arch.
1114 (set_code_flag): Remove cpu_arch_flags_not.
1115 (set_16bit_gcc_code_flag): Likewise.
1116 (set_cpu_arch): Likewise.
1117 (md_begin): Likewise.
1118 (parse_insn): Call cpu_flags_match to check 64bit and arch.
1119 (match_template): Likewise.
1121 2008-01-03 Jakub Jelinek <jakub@redhat.com>
1123 * config/tc-i386.c (process_drex): Initialize modrm_reg and
1124 modrm_regmem to 0 instead of None.
1126 2008-01-03 H.J. Lu <hongjiu.lu@intel.com>
1128 * config/tc-i386.c (match_template): Use the xmmword field
1131 2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
1133 * config/tc-i386.c (process_suffix): Fix a typo.
1135 2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
1138 * config/tc-i386.c (match_template): Handle XMMWORD_MNEM_SUFFIX.
1139 Check memory size in Intel mode.
1140 (process_suffix): Handle XMMWORD_MNEM_SUFFIX.
1141 (intel_e09): Likewise.
1143 * config/tc-i386.h (XMMWORD_MNEM_SUFFIX): New.
1145 2008-01-02 Catherine Moore <clm@codesourcery.com>
1147 * config/tc-mips.c (mips_ip): Check operands on jalr instruction.
1149 For older changes see ChangeLog-2007
1155 version-control: never