3 * config/tc-hppa.c (md_begin): Set BSF_KEEP for "dummy_symbol".
7 * dw2gencfi.c (DWARF2_FDE_RELOC_SIZE): New.
8 (output_cie, output_fde): Use it.
9 (DWARF2_EH_FRAME_READ_ONLY): New.
12 * config/tc-hppa.h (DWARF2_FDE_RELOC_SIZE): Set to 8 for 64-bit.
13 (DWARF2_CIE_DATA_ALIGNMENT): Change sign.
14 (DWARF2_EH_FRAME_READ_ONLY): New.
15 * config/tc-hppa.c (tc_gen_reloc): Generate pc-relative relocations
16 from the results of DIFF_EXPR_OK manipulation.
20 * config/xtensa-istack.h (MAX_INSN_ARGS): Increase to 64.
24 * config/tc-xtensa.c (O_tlsfunc, O_tlsarg, O_tlscall): Define.
25 (O_tpoff, O_dtpoff): Define.
26 (suffix_relocs): Add entries for TLS suffixes.
27 (xtensa_elf_cons): Check for invalid use of TLS relocations.
28 (map_operator_to_reloc): Add is_literal parameter and use it to
29 control translating TLS instruction relocations to the corresponding
31 (xg_valid_literal_expression): Allow TLS operators.
32 (xg_build_to_insn): Copy TLS operators from pseudo-instruction
33 operands to generated literals.
34 (xg_assemble_literal): Handle TLS operators. Update call to
35 map_operator_to_reloc.
36 (md_assemble): Handle CALLXn.TLS pseudo-instruction.
37 (md_apply_fix): Handle TLS relocations.
38 (emit_single_op): Handle TLS operators.
39 (convert_frag_immed): Update call to map_operator_to_reloc.
40 (vinsn_to_insnbuf): Emit relocations for TLS-related instructions.
41 * config/xtensa-istack.h (tinsn_struct): Add tls_reloc field.
42 * config/xtensa-relax.c (append_literal_op): Add src_op parameter
43 to initialize the op_data field of the BuildOp.
44 (build_transition): Use it here to record the source operand
45 corresponding to a generated literal.
46 * config/xtensa-relax.h (build_op): Comment op_data use for literals.
50 AVX Programming Reference (August, 2008)
51 * config/tc-i386.c (CPU_FLAGS_AES_MATCH): New.
52 (CPU_FLAGS_AVX_MATCH): Likewise.
53 (CPU_FLAGS_32BIT_MATCH): Updated.
54 (cpu_flags_match): Likewise.
59 * write.c (install_reloc): Check that reloc symbols have been
61 (set_symtab): Mark symbols with BSF_KEEP.
65 * config/tc-i386.c (i386_align_code): Fix a comment typo.
70 * configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS.
71 * Makefile.in: Regenerate.
72 * aclocal.m4: Regenerate.
73 * config.in: Regenerate.
74 * configure: Regenerate.
75 * doc/Makefile.in: Regenerate.
79 * config/tc-tic4x.c (tic4x_operands_parse): Make static.
83 * doc/as.texinfo (Align): Document the PowerPC behaviour.
87 * as.c, as.h, ecoff.c, hash.c, macro.c, symbols.c, config/obj-evax.c,
88 config/obj-som.c, config/tc-alpha.c, config/tc-arm.c, config/tc-bfin.c,
89 config/tc-bfin.h, config/tc-crx.c, config/tc-frv.c, config/tc-frv.h,
90 config/tc-hppa.h, config/tc-i386.c, config/tc-i860.c, config/tc-i960.h,
91 config/tc-ia64.c, config/tc-ia64.h, config/tc-m32c.c, config/tc-m32c.h,
92 config/tc-m68k.c, config/tc-maxq.c, config/tc-s390.c, config/tc-s390.h,
93 config/tc-sparc.c, config/tc-sparc.h, config/tc-spu.c, config/tc-spu.h,
94 config/tc-tic4x.c, config/tc-tic4x.h, config/tc-tic54x.c,
95 config/tc-tic54x.h, config/tc-vax.c, doc/internals.texi: Banish PARAMS
96 and PTR. Convert to ISO C. Delete unnecessary forward declarations.
100 * config/tc-arm.c (s_unreq): Adjust hash_delete call.
101 * config/tc-ia64.c (dot_rot): Likewise.
106 * hash.c: Expand PTR to void *.
107 (hash_delete): Add "freeme" parameter. Call obstack_free.
108 * hash.h: Expand PTR to void *.
109 (hash_delete): Update prototype.
110 * macro.c (macro_expand_body): hash_delete LOCALs from formal_hash.
111 * config/tc-tic54x.c (tic54x_remove_local_label): Update hash_delete
113 (subsym_substitute): Likewise.
114 * doc/internals.texi (hash_delete): Update.
118 * config/tc-avr.c (mcu_types): Add avr25, avr31, avr35, and avr51
119 architectures. Reorganize list to put mcu types in correct
120 architectures and to order list same as in GCC. Use new ISA
121 definitions in include/opcode/avr.h.
122 * doc/c-avr.texi: Add avr25, avr31, avr35, and avr51 architecture
123 descriptions. Reorganize descriptions to put mcu types in correct
124 architectures and to order lists same as in GCC.
129 * config/tc-mips.c (OPTION_CALL_NONPIC): New macro.
130 (OPTION_NON_SHARED, OPTION_XGOT, OPTION_MABI, OPTION_32)
131 (OPTION_N32, OPTION_64, OPTION_MDEBUG, OPTION_NO_MDEBUG)
132 (OPTION_PDR, OPTION_NO_PDR, OPTION_MVXWORKS_PIC): Bump by 1.
133 (md_longopts): Add -call_nonpic.
134 (md_parse_option): Handle OPTION_CALL_NONPIC.
135 (md_show_usage): Add -call_nonpic.
139 * config/tc-xtensa.c (exclude_section_from_property_tables): New.
140 (xtensa_create_property_segments): Use it.
141 (xtensa_create_xproperty_segments): Likewise.
145 * doc/internals.texi (DWARF2_FORMAT): Update for 2008-08-04 change.
149 * config/tc-mips.c (mips16_reloc_p, got16_reloc_p, hi16_reloc_p)
150 (lo16_reloc_p): New functions.
151 (reloc_needs_lo_p): Use hi16_reloc_p and got16_reloc_p to
152 generalize relocation checks.
153 (matching_lo_reloc): New function.
154 (fixup_has_matching_lo_p): Use it.
155 (mips16_mark_labels): Don't clobber a symbol's visibility.
156 (append_insn): Use hi16_reloc_p and lo16_reloc_p.
157 (mips16_ip): Handle BFD_RELOC_MIPS16_GOT16 and BFD_RELOC_MIPS16_CALL16.
158 (md_apply_fix): Likewise.
159 (mips16_percent_op): Add %got and %call16.
160 (mips_frob_file): Use got16_reloc_p to generalize relocation checks.
161 Use matching_lo_reloc.
162 (mips_force_relocation): Use hi16_reloc_p and lo16_reloc_p to
163 generalize relocation checks.
164 (mips_fix_adjustable): Use lo16_reloc_p to generalize relocation
169 * NEWS: Mention these changes.
171 * config/tc-h8300.h (H_TICK_HEX): Define.
172 * config/tc-h8300.c (OPTION_H_TICK_HEX): New.
173 (md_longopts): Add "-h-tick-hex".
174 (md_parse_option): Support it.
175 * doc/c-h8300.texi (H8/300 Options): Document it.
176 * doc/as.texinfo (Overview): Likewise.
178 * config/tc-sh.h (H_TICK_HEX): Define.
179 * config/tc-sh.c (OPTION_H_TICK_HEX): New.
180 (md_longopts): Add "-h-tick-hex".
181 (md_parse_option): Support it.
182 * doc/c-sh.texi (SH Options): Document it.
183 * doc/c-sh64.texi (SH64 Options): Document it.
184 * doc/as.texinfo (Overview): Likewise.
189 * dwarf2dbg.c (dwarf2_directive_file): Disable gas generated
190 debug info if we see compiler generated debug info.
191 (dwarf2_directive_loc): Likewise. Remove redundant debug_type test.
195 * dwarf2dbg.c: Remove superfluous forward function declarations.
196 (DWARF2_FORMAT): Add section arg.
197 (out_header): New function, split out from..
198 (out_debug_line): ..here.
199 (out_debug_aranges): Use out_header.
200 (out_debug_abbrev): Add info_seg and line_seg args. Use
201 DW_FORM_data8 (for DW_AT_stmt_list) if line_seg is 64-bit.
202 (out_debug_info): Use out_header. Output 8 byte DW_AT_stmt_list
203 if line_seg is 64-bit.
204 (dwarf2_finish): Adjust out_debug_abbrev call.
205 * config/tc-mips.h (DWARF2_FORMAT, mips_dwarf2_format): Add sec arg.
206 * config/tc-mips.c (mips_dwarf2_format): Likewise.
210 * Makefile.am (POTFILES.in): Set LC_ALL=C.
211 * Makefile.in: Regenerate.
212 * po/POTFILES.in: Regenerate.
216 * config/tc-ppc.c (parse_cpu): Rename altivec_or_spe to retain_flags.
217 Handle -mvsx and -mpower7.
218 (md_show_usage): Document -mpower7 and -mvsx.
219 * doc/as.texinfo (Target PowerPC): Document -mvsx.
220 * doc/c-ppc.texi (PowerPC-Opts): Document -mvsx and -mpower7.
224 * config/tc-ppc.c (parse_cpu) <power6>: Accept Altivec instructions.
229 * config/tc-ppc.c (parse_cpu): Separate handling of -m403/405.
230 (md_show_usage): Likewise.
234 * messages.c, symbols.c, write.c: Silence gcc warnings.
238 * config/tc-i386.c (operand_type_check): Warning fix.
242 * doc/as.texinfo: Add description of single-precision attribute.
246 * config/bfin-parse.y (asm_1): Error if plain symbol is used
247 as load/store offset.
251 * config/tc-mips.c (mips_ip): Reset s to argsStart.
255 * config/tc-bfin.c (bfin_gen_loop): Remove loop symbol.
259 * config/tc-h8300.c (fix_operand_size): Use the default size
260 specified by the .lbranch/.sbranch pseudos.
264 * config/tc-m32c.h (H_TICK_HEX): Define.
265 * config/tc-m32c.c (OPTION_H_TICK_HEX): Define.
266 (md_longopts): Add support for it.
267 (md_parse_option): Likewise.
268 * doc/as.texinfo (Overview): Add new m32c options.
269 * doc/c-m32c.texi (M32C-Modifiers): Likewise
271 * as.h: (enable_h_tick_hex): New.
272 * app.c (enable_h_tick_hex): New.
274 (do_scrub_begin): Mark 'H' and 'h' as special if enable_h_tick_hex.
275 (do_scrub_chars): If enable_h_tick_hex and 'h', check for H'00
276 style hex constants and convert the input stream to 0x00 style.
277 (do_scrub_chars): If a 'X style character constant is found after
278 a symbol character (like you're or X'00), warn the user.
282 * config/tc-mips.c (mips16_mark_labels): Use ELF_ST_SET_MIPS16.
283 (mips_fix_adjustable): Likewise.
284 (mips_frob_file_after_relocs): Likewise.
288 * config/tc-m68k.c (m68k_set_cpu, m68k_set_arch): Don't complain
289 about overriding an earlier setting.
293 * config/tc-mips.c (NO_ISA_COP): New macro.
294 (COP_INSN): New macro.
295 (is_opcode_valid): Use them.
296 (macro) <ld_st>: Use them. Don't accept coprocessor load store
297 insns based on the ISA if CPU is NO_ISA_COP.
298 <copz>: Likewise for coprocessor operations.
302 * config/tc-arm.c (arm_fix_adjustable): Don't adjust MOVW/MOVT
307 * configure.tgt: Add bfin-*-rtems*.
311 * config/tc-spu.c (md_apply_fix): Handle fully resolved
312 BFD_RELOC_32_PCREL, BFD_RELOC_SPU_HI16 and BFD_RELOC_SPU_LO16.
316 * config/tc-ppc.c (parse_cpu): Handle -m464.
317 (md_show_usage): Likewise.
321 Add support for ATtiny13A.
322 * config/tc-avr.c (mcu_types): Add attiny13a.
323 * doc/c-avr.texi: Likewise.
328 * write.c (relax_segment <rs_org>): Include current stretch
329 value when calculating whether .org is backwards.
333 * configure: Regenerate.
337 * app.c (do_scrub_chars): Do not UNGET an EOF value.
342 * config/tc-mmix.c (s_loc): Assume "negative" addresses belong to
343 text_section. Do the "stepping backwards" test for text_section
344 using unsigned operands.
348 * config/tc-ppc.c (ppc_cpu): Use ppc_cpu_t typedef.
349 (ppc_insert_operand): Likewise.
350 (ppc_machine): Likewise.
351 * config/tc-ppc.h: #include "opcode/ppc.h"
352 (struct _ppc_fix_extra <ppc_cpu>): Use ppc_cpu_t typedef.
353 (ppc_cpu): Update extern decl.
357 * config/tc-mips.c (validate_mips_insn): Handle field descriptors
358 +x, +X, +p, +P, +s, +S.
361 * config/tc-mips.c (validate_mips_insn): Handle field descriptor +Q.
363 (macro_build): Likewise.
364 (CPU_HAS_SEQ): New macro.
365 (macro2) <M_SEQ_I, M_SNE_I>: Use it. Emit seq/sne and seqi/snei.
369 * config/tc-avr.c (mcu_types): Remove support for ATmega32HVB device.
370 * doc/c-avr.texi: Likewise.
374 * app.c (do_scrub_chars): Do not UNGET an EOF value.
378 * config/tc-i386.c (set_sse_check): New.
379 (md_pseudo_table): Add "sse_check".
383 * config/tc-arm.c (do_t_rbit): Populate both rm fields.
388 * config/tc-avr.c (avr_ldi_expression): Do not warn about unknown
393 * config/tc-mips.c (mips_cpu_info_table): Move records for
394 ST Loongson-2E/2F processors to a better place.
399 * config/tc-i386.c (match_template): Report ambiguous operand
400 size, not invalid suffix when there is no match in Intel
405 * config/tc-arm.c (parse_cond): Covert to lowercase before matching.
409 * config/tc-arm.c (arm_cpus): Add Faraday ARMv4 and ARMv5TE
410 compatible cores: fa526, fa626, fa626te, fa726te.
411 * doc/c-arm.texi (ARM Opts): Add -mcpu={fa526, fa626, fa626te,
416 * Makefile.am: Run "make dep-am".
417 * Makefile.in: Regenerate.
418 * doc/Makefile.in: Regenerate.
419 * po/POTFILES.in: Regenerate.
423 * config/tc-mips.c (mips_frob_file): Don't match MIPS16 relocs
424 with non-MIPS16 relocs.
428 * config/tc-mips.c (md_begin): Use strncmp to compare TARGET_OS, in
429 case that some characters append at the end of the name.
431 (s_change_sec): Likewise.
432 (md_section_align): Likewise.
436 * config/tc-xtensa.c (xtensa_create_property_segments): Use
437 xtensa_make_property_section instead of xtensa_get_property_section.
438 (xtensa_create_xproperty_segments): Likewise.
442 * NEWS: Mention XSAVE, EPT and MOVBE.
444 * config/tc-i386.c (cpu_arch): Add .movbe and .ept.
445 (md_show_usage): Add .movbe and .ept.
447 * doc/c-i386.texi: Add movbe and ept to -march=. Document
452 * config/tc-sparc.c (v9a_asr_table): Fix order of softint entries.
456 * config/tc-mips.c (file_mips_soft_float, file_mips_single_float):
458 (OPTION_ELF_BASE): Make room for new option macros.
459 (OPTION_SOFT_FLOAT, OPTION_HARD_FLOAT, OPTION_SINGLE_FLOAT,
460 OPTION_DOUBLE_FLOAT): New option macros.
461 (md_longopts): Add msoft-float, mhard-float, msingle-float and
463 (md_parse_option): Handle OPTION_SINGLE_FLOAT,
464 OPTION_DOUBLE_FLOAT, OPTION_SOFT_FLOAT and OPTION_HARD_FLOAT.
465 (md_show_usage): Add -msoft-float, -mhard-float, -msingle-float
467 (struct mips_set_options): New fields soft_float and single_float.
468 (mips_opts): Initialized them. Add comment for each field
470 (mips_after_parse_args): Set them based on file_mips_soft_float
471 and file_mips_single_float.
472 (s_mipsset): Add support for `.set softfloat', `.set hardfloat',
473 `.set singlefloat' and `.set doublefloat'.
474 (is_opcode_valid): New function to invoke OPCODE_IS_MEMBER.
475 Handle single-float and soft-float instructions here.
476 (macro_build, mips_ip): Use it instead of OPCODE_IS_MEMBER.
477 (is_opcode_valid_16): New function.
478 (mips16_ip): Use it instead of OPCODE_IS_MEMBER.
479 (macro) <M_LDC1_AB, M_SDC1_AB, M_L_DOB, M_L_DAB, M_S_DAB,
480 M_S_DOB>: Remove special-casing of r4650.
481 * doc/c-mips.texi (-march=): Add Octeon.
482 (MIPS Opts): Document -msoft-float and -mhard-float. Document
483 -msingle-float and -mdouble-float.
484 (MIPS floating-point): New section. Document `.set softfloat' and
485 `.set hardfloat'. Document `.set singlefloat' and `.set
490 * config/tc-sparc.c: Accept 'softint_clear' and 'softint_set'
493 * doc/c-sparc.texi: Consistently refer to architecture 'versions',
494 rather than occaisionally 'levels'. Consistently refer to Sun's
495 UNIX variant as SunOS, every version of Solaris is also SunOS.
496 Document new 'softint_clear' and 'softint_set' aliases. Clarify
497 which architecture versions support '%dcr', '%cq', and '%gl'. Add
498 section on 32-bit/64-bit opcode translations.
502 * Makefile.am (OBJ_FORMAT_CFILES): Add config/obj-fdpicelf.c.
503 (OBJ_FORMAT_HFILES): Add config/obj-fdpicelf.h.
504 (obj-fdpicelf.o): Define.
505 * Makefile.in: Regenerate.
506 * configure.tgt: Set bfd_gas to yes when fmt is fdpicelf.
508 (bfin-*-linux-uclibc): New; set fmt to fdpicelf and em to linux.
509 (bfin-*-uclinux*): New; set fmt to elf and em to linux.
510 * config/obj-fdpicelf.c: New.
511 * config/obj-fdpicelf.h: Likewise.
512 * config/tc-bfin.c (bfin_flags, bfin_pic_flag): Set default based on
513 the OBJ_FDPIC_ELF define.
514 (OPTION_NOPIC): Define.
515 (md_longopts): Add mnopic and mno-fdpic.
516 (md_parse_option): Handle OPTION_NOPIC.
520 * aclocal.m4: Regenerate.
521 * configure: Regenerate.
525 * config/tc-sparc.c (v9a_asr_table): Add missing
526 'stick' and 'stick_cmpr', and document ordering rules
528 (tc_gen_reloc): Accept BFD_RELOC_SPARC_PC22 and
529 BFD_RELOC_SPARC_PC10.
530 * doc/c-sparc.texi: New section on Sparc constants.
531 Add documentation for %stick and %stick_cmpr.
535 * config/obj-elf.c (obj_elf_section_type): Add prototype
536 before obj_elf_section_word and add 'warn' arg.
537 (obj_elf_section_word): Add type pointer arg, and if no #SECTION
538 is matched, try checking for #SECTION_TYPE.
539 (obj_elf_section): Adjust for new args.
540 (obj_elf_type_name): New function.
541 (obj_elf_type): Call it, and accept STT_foo number strings
542 in .type statements as output by SunPRO compiler.
546 * config/tc-i386.c (md_assemble): Don't check SSE instructions
551 * doc/c-sparc.texi: Add syntax section.
555 * config/tc-i386.c (build_modrm_byte): Don't check FMA to swap
556 REG and NDS for instructions with immediate operand.
560 * config/tc-i386.c (build_modrm_byte): Swap REG and NDS for
565 * config/tc-sparc.c (sparc_ip): Add support for gotdata mnemonics
566 and relocation generation.
567 (tc_gen_reloc): Likewise.
571 * config/tc-sh.c (md_apply_fix): Make sure BFD_RELOC_SH_PCRELIMM8BY4
572 relocations are properly aligned, and not negative.
576 * doc/tc-arm.texi: Fix fnstart and fnend directive names.
580 * config/tc-ppc.c (parse_cpu): Handle "e500mc". Extend "e500" to
581 accept e500mc instructions.
582 (md_show_usage): Document -me500mc.
586 * listing.c (print_timestamp): Use localtime rather than
587 localtime_r since not all build environments provide the latter.
591 * NEWS: Mention -msse-check=[none|error|warning].
593 * config/tc-i386.c (sse_check): New.
594 (OPTION_MSSE_CHECK): Likewise.
595 (md_assemble): Check SSE instructions if needed.
596 (md_longopts): Add -msse-check.
597 (md_parse_option): Handle OPTION_MSSE_CHECK.
598 (md_show_usage): Show -msse-check=[none|error|warning].
600 * doc/c-i386.texi: Document -msse-check=[none|error|warning].
604 * listing.c: Add -ag listing flag to show general information in
605 listings such as gas version, passed options, and time stamp.
606 (listing_general_info): New function.
607 (print_options): New function.
608 (print_single_option): New function.
609 (print_timestamp): New function.
610 (MAX_DATELEN): Define.
611 (listing_print): Add call to listing_general_info.
612 * listing.h (LISTING_GENERAL): Define.
613 (listing_print): Add new parameter.
614 * as.c (show_usage): Print new switch.
615 (parse_args): Parse new switch.
616 (main): Pass command line on to listing_print.
617 * NEWS: Mention this new feature.
618 * doc/as.texinfo: Document the new sub-option.
622 * dwarf2dbg.c (dwarf2_emit_insn): Simplify test before dwarf2_where
623 call. Delete out of date comment.
624 (dwarf2_consume_line_info): Always clear dwarf2_loc_directive_seen.
625 (dwarf2_emit_label): Don't emit unless there has been a previous
626 .file or we are outputting assembler generated debug.
627 dwarf2_consume_line_info after emitting line info, not before.
628 (out_debug_info): Simplify files_in_use test.
632 * config/tc-i386.c (parse_real_register): Return AVX register
633 only if AVX is enabled.
638 * config/tc-sh64.c (shmedia_md_pcrel_from_section): Use
639 md_pcrel_from_section for BFD_RELOC_64 and BFD_RELOC_64_PCREL.
644 * config/tc-xtensa.c (xg_apply_fix_value): Check return code from
645 call to decode_reloc.
649 * NEWS: Mention XSAVE. Change CLMUL to PCLMUL.
651 * config/tc-i386.c (cpu_arch): Add .pclmul.
652 (md_show_usage): Replace clmul with pclmul.
653 * doc/c-i386.texi: Likewise.
657 * NEWS: Mention AES, CLMUL, AVX/FMA and -msse2avx.
659 * doc/c-i386.texi: Add avx, aes, clmul and fma to -march=.
660 Document -msse2avx, .avx, .aes, .clmul and .fma.
662 * config/tc-i386.c (YMMWORD_MNEM_SUFFIX): New.
663 (vex_prefix): Likewise.
665 (CPU_FLAGS_ARCH_MATCH): Likewise.
666 (CPU_FLAGS_64BIT_MATCH): Likewise.
667 (CPU_FLAGS_32BIT_MATCH): Likewise.
668 (CPU_FLAGS_PERFECT_MATCH): Likewise.
670 (vex_imm4): Likewise.
671 (fits_in_imm4): Likewise.
672 (build_vex_prefix): Likewise.
673 (VEX_check_operands): Likewise.
674 (bad_implicit_operand): Likewise.
675 (OPTION_MSSE2AVX): Likewise.
676 (T_YMMWORD): Likewise.
677 (_i386_insn): Add vex.
678 (cpu_arch): Add .avx, .aes, .clmul and .fma.
679 (cpu_flags_match): Changed to take a pointer to const template.
680 Enable encoding SSE instructions with VEX prefix for -msse2avx.
681 (match_mem_size): Also check ymmword.
682 (operand_type_match): Clear ymmword.
683 (md_begin): Allow '_' in mnemonic.
684 (type_names): Add OPERAND_TYPE_VEX_IMM4.
685 (process_immext): Update assert.
686 (md_assemble): Don't call process_immext if sse2avx and immext
687 are true. Call build_vex_prefix if vex is true.
688 (parse_insn): Updated for cpu_flags_match.
689 (swap_operands): Handle 5 operands.
690 (match_template): Handle 5 operands. Updated for cpu_flags_match.
691 Check regymm. Call VEX_check_operands. Handle YMMWORD_MNEM_SUFFIX.
692 (process_suffix): Handle YMMWORD_MNEM_SUFFIX.
693 (check_byte_reg): Check regymm.
694 (process_operands): Duplicate the destination register for
696 (build_modrm_byte): Updated for instructions with VEX encoding.
697 (output_insn): Output VEX prefix if needed.
698 (md_longopts): Add msse2avx.
699 (md_parse_option): Handle OPTION_MSSE2AVX.
700 (md_show_usage): Add avx, aes, clmul, fma and -msse2avx.
701 (intel_e09): Support YMMWORD.
702 (intel_e11): Likewise.
703 (intel_get_token): Likewise.
707 * config/tc-avr.c (mcu_types): Add attiny167.
708 * doc/c-avr.texi: Likewise.
712 * config/tc-avr.c (mcu_types): Add atmega32u4.
713 * doc/c-avr.texi: Likewise.
717 * config/tc-avr.c (mcu_types): Add atmega32c1.
718 * doc/c-avr.texi: Likewise.
722 * config/tc-arm.c (parse_neon_mov): Parse register before immediate
723 to avoid spurious symbols.
727 * config/tc-m68k.c (md_convert_frag_1): Replace as_fatal with
732 * config/tc-avr.c (mcu_types): Add atmega32m1.
733 * doc/c-avr.texi: Likewise.
737 * config/tc-arm.c (do_neon_cvt): Move variable declarations to
739 (do_neon_ext): Fix sign of comparison.
744 * config/bfin-parse.y (asm_1): Check AREGS in comparison
745 instructions. And call yyerror when comparing PREG with
747 (check_macfunc_option): New.
748 (check_macfuncs): Check option by calling check_macfunc_option.
749 Fix comparison always true warnings. Both scalar instructions
750 of vector instruction must share the same mode option. Only allow
751 option mode at the end of the second instruction of the vector.
752 (asm_1): Check option by calling check_macfunc_option.
754 * config/bfin-parse.y (check_macfunc_option): Allow (IU)
755 option for multiply and multiply-accumulate to data register
757 (check_macfuncs): Don't check if accumulator matches the data register
759 (assign_macfunc): Check if accumulator matches the
760 data register in each rule that moves to the data
763 * config/tc-bfin.c (bfin_start_line_hook): Localize the labels
764 generated for LOOP_BEGIN and LOOP_END instructions.
765 (bfin_gen_loop): Likewise.
769 * config/tc-s390.c (md_parse_option): z10 option added.
773 * aclocal.m4: Regenerate.
774 * configure: Likewise.
775 * Makefile.in: Likewise.
776 * doc/Makefile.in: Likewise.
781 * config/tc-hppa.c (is_same_frag): Delete.
785 * config/tc-xtensa.h (xtensa_relax_statesE): Update comment for
786 RELAX_LOOP_END_ADD_NOP.
791 * read.c (s_mexit): Warn if attempting to exit a macro when not
792 inside a macro definition.
796 * Makefile.am: Run "make dep-am".
797 * Makefile.in: Regenerate.
798 * configure: Regenerate.
802 * config/tc-arm.c (arm_cpu_option_table): Add cortex-a9.
803 * doc/c-arm.texi: Add cortex-a9.
807 * config/tc-arm.c (fpu_vfp_ext_d32): New vairable.
808 (parse_vfp_reg_list, encode_arm_vfp_reg): Use it.
809 (arm_option_cpu_value): Add vfpv3-d16, vfpv2 and vfpv3.
810 (aeabi_set_public_attributes): Handle Tag_VFP_arch=VFPV3-D16.
811 * doc/c-arm.texi: Document new ARM FPU variants.
815 * config/tc-arm.c (md_apply_fix): Use correct offset range.
819 * config/tc-ppc.c (ppc_setup_opcodes): Tidy. Add code to test
820 for strict ordering of powerpc_opcodes, but disable for now.
824 * config/tc-arm.c (arm_ext_barrier, arm_ext_msr): New.
825 (arm_ext_v7m): Rename...
826 (arm_ext_m): ... to this. Include v6-M.
827 (do_t_add_sub): Allow narrow low-reg non flag setting adds.
828 (do_t_mrs, do_t_msr, aeabi_set_public_attributes): Use arm_ext_m.
829 (md_assemble): Allow wide msr instructions.
830 (insns): Add classifications for v6-m instructions.
831 (arm_cpu_option_table): Add cortex-m1.
832 (arm_arch_option_table): Add armv6-m.
833 (cpu_arch): Add ARM_ARCH_V6M. Fix numbering of other v6 variants.
838 * config/tc-xtensa.c (xtensa_num_pipe_stages): New.
839 (md_begin): Initialize it.
840 (resources_conflict): Use it.
844 * config/tc-xtensa.h (RELAX_XTENSA_NONE): New.
850 * read.c (pseudo_set): Don't allow global register symbol.
852 * symbols.c (S_SET_EXTERNAL): Don't allow register symbol
858 * write.c (write_object_file): Don't allow symbols which were
859 equated to register. Stop if there is an error.
863 * config/tc-ppc.h (struct _ppc_fix_extra): New.
865 (TC_FIX_TYPE, TC_INIT_FIX_DATA): Define.
866 * config/tc-ppc.c (ppu_cpu): Make global.
867 (ppc_insert_operand): Add ppu_cpu parameter.
868 (md_assemble): Adjust for above change.
869 (md_apply_fix): Pass tc_fix_data.ppc_cpu to ppc_insert_operand.
873 * config/tc-arm.c (do_bx): Only test EF_ARM_EABI_VERSION on ELF
874 targeted ARM ports, otherwise just skip generating the reloc.
878 * doc/c-i386.texi: Update -march= and .arch.
882 * config/tc-mn10300.c (has_known_symbol_location): New function.
883 Do not regard weak symbols as having a known location.
884 (md_estimate_size_before_relax): Use new function.
885 (md_pcrel_from): Do not compute a pcrel against a weak symbol.
889 * config/tc-i386.c (match_template): Disallow 'l' suffix when
890 currently selected CPU has no 32-bit support.
891 (parse_real_register): Do not return registers not available on
892 currently selected CPU.
896 * config/tc-i386.c (process_immext): Fix format.
900 * config/tc-i386.c (inoutportreg): New.
901 (process_immext): New.
902 (md_assemble): Use it.
903 (update_imm): Use imm16 and imm32s.
904 (i386_att_operand): Use inoutportreg.
908 * config/tc-i386.c (operand_type_all_zero): New.
909 (operand_type_set): Likewise.
910 (operand_type_equal): Likewise.
911 (cpu_flags_all_zero): Likewise.
912 (cpu_flags_set): Likewise.
913 (cpu_flags_equal): Likewise.
914 (UINTS_ALL_ZERO): Removed.
915 (UINTS_SET): Likewise.
916 (UINTS_CLEAR): Likewise.
917 (UINTS_EQUAL): Likewise.
918 (cpu_flags_match): Updated.
919 (smallest_imm_type): Likewise.
920 (set_cpu_arch): Likewise.
921 (md_assemble): Likewise.
922 (optimize_imm): Likewise.
923 (match_template): Likewise.
924 (process_suffix): Likewise.
925 (update_imm): Likewise.
926 (process_drex): Likewise.
927 (process_operands): Likewise.
928 (build_modrm_byte): Likewise.
929 (i386_immediate): Likewise.
930 (i386_displacement): Likewise.
931 (i386_att_operand): Likewise.
932 (parse_real_register): Likewise.
933 (md_parse_option): Likewise.
934 (i386_target_format): Likewise.
939 * config/tc-arm.c (s_arm_unwind_save): Advance the input line
940 pointer past the comma after parsing a floating point register
946 * config/tc-avr.c (mcu_types): Change the ISA tyoe of the attiny26
948 (avr_operand): Disallow post-increment addressing in the lpm
949 instruction for the attiny26.
953 * config/tc-i386.c (parse_real_register): Don't return 'FLAT'
954 if not in Intel mode.
955 (i386_intel_operand): Ignore segment overrides in immediate and
957 (intel_e11): Range-check i.mem_operands before use as array
958 index. Filter out FLAT for uses other than as segment override.
959 (intel_get_token): Remove broken promotion of "FLAT:" to mean
964 * config/tc-i386.c (intel_e09): Also special-case 'bound'.
968 * config/tc-i386.c (allow_pseudo_reg): New.
969 (parse_real_register): Check for NULL just once. Allow all
970 register table entries when allow_pseudo_reg is non-zero.
971 Don't allow any registers without type when allow_pseudo_reg
973 (tc_x86_regname_to_dw2regnum): Replace with ...
974 (tc_x86_parse_to_dw2regnum): ... this.
975 (tc_x86_frame_initial_instructions): Adjust for above change.
976 * config/tc-i386.h (tc_regname_to_dw2regnum): Remove.
977 (tc_parse_to_dw2regnum): New.
978 (tc_x86_regname_to_dw2regnum): Replace with ...
979 (tc_x86_parse_to_dw2regnum): ... this.
980 * dw2gencfi.c (tc_parse_to_dw2regnum): New, broken out of ...
981 (cfi_parse_reg): ... this. Use tc_parse_to_dw2regnum. Adjust
986 * config/tc-tic4x.c (tic4x_insn_insert): Add const qualifier to
988 (tic4x_insn_add): Likewise.
989 (md_begin): Drop cast that was discarding a const qualifier.
990 * config/tc-d30v.c (get_reloc): Add const qualifier to op
992 (build_insn): Drop cast that was discarding a const qualifier.
996 * config/tc-i386.c (cpu_arch): Add .xsave.
997 (md_show_usage): Add .xsave.
999 * doc/c-i386.texi: Add xsave to -march=.
1003 * read.c (s_weakref): Don't pass unadorned NULL to concat.
1004 * config/tc-i386.c (set_cpu_arch, md_parse_option): Likewise.
1008 * config/tc-xtensa.c (relax_frag_immed): Change internal consistency
1009 checks into assertions. When relaxation produces an operation that
1010 does not fit in the current FLIX instruction, make sure that the
1011 operation is relaxed as needed to account for being placed following
1012 the current instruction.
1017 * configure: Regenerated.
1021 * config/tc-mips.c (mips_cpu_info_table): Add Octeon.
1025 * configure.tgt (xtensa*-*-*): Recognize processor variants.
1029 * read.c: (emit_expr): Correct for mingw use of printf size
1034 * doc/c-xtensa.texi (Xtensa Syntax): Clarify handling of opcodes that
1035 can only be encoded in FLIX instructions but are not specified as such.
1036 (Xtensa Automatic Alignment): Remove obsolete comment about debugging
1041 * NEWS: Mention new command line options for x86 targets.
1045 * config/tc-i386.c (md_show_usage): Replace tabs with spaces.
1049 * config/tc-avr.c (mcu_types): Change opcode set for at86rf401.
1053 * config/tc-i386.c (md_show_usage): Show more processors for
1058 * config/tc-i386.c (i386_target_format): Remove cpummx2.
1062 * config/tc-i386.c (XXX_PREFIX): Moved from tc-i386.h.
1063 (XXX_MNEM_SUFFIX): Likewise.
1064 (END_OF_INSN): Likewise.
1065 (templates): Likewise.
1066 (modrm_byte): Likewise.
1067 (rex_byte): Likewise.
1068 (DREX_XXX): Likewise.
1069 (drex_byte): Likewise.
1070 (sib_byte): Likewise.
1071 (processor_type): Likewise.
1072 (arch_entry): Likewise.
1073 (cpu_sub_arch_name): Remove const.
1074 (cpu_arch): Add .vmx and .smx.
1075 (set_cpu_arch): Append cpu_sub_arch_name.
1076 (md_parse_option): Support -march=CPU[,+EXTENSION...].
1077 (md_show_usage): Updated.
1079 * config/tc-i386.h (XXX_PREFIX): Moved to tc-i386.c.
1080 (XXX_MNEM_SUFFIX): Likewise.
1081 (END_OF_INSN): Likewise.
1082 (templates): Likewise.
1083 (modrm_byte): Likewise.
1084 (rex_byte): Likewise.
1085 (DREX_XXX): Likewise.
1086 (drex_byte): Likewise.
1087 (sib_byte): Likewise.
1088 (processor_type): Likewise.
1089 (arch_entry): Likewise.
1091 * doc/as.texinfo: Update i386 -march option.
1093 * doc/c-i386.texi: Update -march= for ISA.
1097 * config/tc-xtensa.c (xtensa_leb128): New function.
1098 (md_pseudo_table): Use it for sleb128 and uleb128.
1099 (is_leb128_expr): New internal flag.
1100 (xtensa_symbol_new_hook): Check new flag.
1104 * config/tc-avr.c (mcu_types): Change opcode set for avr3,
1105 at90usb82, at90usb162.
1106 * doc/c-avr.texi: Change architecture grouping for at90usb82,
1108 These changes support the new avr35 architecture group in gcc.
1112 * config/tc-i386.c (md_assemble): Also zap movzx and movsx
1113 suffix for AT&T syntax.
1117 * config/tc-i386.c (match_reg_size): New.
1118 (match_mem_size): Likewise.
1119 (operand_size_match): Likewise.
1120 (operand_type_match): Also clear all size fields.
1121 (match_template): Skip Intel syntax when in AT&T syntax.
1122 Call operand_size_match to check operand size.
1123 (i386_att_operand): Set the mem field to 1 for memory
1125 (i386_intel_operand): Likewise.
1130 * config/tc-i386.c (_i386_insn): Update comment.
1131 (operand_type_match): Also clear unspecified.
1132 (operand_type_register_match): Likewise.
1133 (parse_operands): Initialize unspecified.
1134 (i386_intel_operand): Likewise.
1135 (match_template): Check memory and accumulator operand size.
1136 (i386_att_operand): Clear unspecified on register operand.
1137 (intel_e11): Likewise.
1138 (intel_e09): Set operand size and clean unspecified for
1143 * read.c (s_space): Declare `repeat' as offsetT.
1147 * config/tc-i386.c (match_template): Check processor support
1152 * config/tc-i386.c (match_template): Continue if processor
1157 * config/tc-ia64.c (ia64_convert_frag): Zero-initialize room for
1158 unwind personality function address.
1162 * dwarf2dbg.c (out_sleb128): Delete.
1163 (size_fixed_inc_line_addr, emit_fixed_inc_line_addr): New.
1164 (out_fixed_inc_line_addr): Delete.
1165 (relax_inc_line_addr, dwarf2dbg_estimate_size_before_relax): Call new
1166 size_fixed_inc_line_addr if DWARF2_USE_FIXED_ADVANCE_PC is set.
1167 (dwarf2dbg_convert_frag): Likewise for emit_fixed_inc_line_addr.
1168 (process_entries): Remove calls to out_fixed_inc_line_addr. When
1169 DWARF2_USE_FIXED_ADVANCE_PC is set, call relax_inc_line_addr.
1170 * read.h (emit_expr_fix): New prototype.
1171 * read.c (emit_expr): Move code to emit_expr_fix and use it here.
1172 (emit_expr_fix): New.
1176 * config/tc-i386.c (match_template): Check register size
1177 only when size of operands can be encoded the canonical way.
1181 * config/tc-i386.c (i386_operand): Renamed to ...
1182 (i386_att_operand): This.
1183 (parse_operands): Updated.
1187 * doc/c-i386.texi: Update .att_mnemonic and .intel_mnemonic.
1189 * config/tc-i386.c (set_intel_mnemonic): Set intel_mnemonic
1191 (md_assemble): Remove Intel mode workaround.
1192 (match_template): Check support for old gcc, AT&T mnemonic
1194 (md_parse_option): Don't set intel_mnemonic to 0 for
1199 * config/tc-i386.h: Update copyright to 2008.
1203 * config/tc-ppc.c (parse_cpu): Preserve the settings of the
1204 PPC_OPCODE_ALTIVEC and PPC_OPCODE_SPE flags.
1208 * config/tc-i386.c (md_assemble): Use !intel_mnemonic instead
1213 * gas/config/tc-i386.c (cpu_arch_flags_not): Removed.
1214 (cpu_flags_not): Likewise.
1215 (cpu_flags_match): Updated to check 64bit and arch.
1216 (set_code_flag): Remove cpu_arch_flags_not.
1217 (set_16bit_gcc_code_flag): Likewise.
1218 (set_cpu_arch): Likewise.
1219 (md_begin): Likewise.
1220 (parse_insn): Call cpu_flags_match to check 64bit and arch.
1221 (match_template): Likewise.
1225 * config/tc-i386.c (process_drex): Initialize modrm_reg and
1226 modrm_regmem to 0 instead of None.
1230 * config/tc-i386.c (match_template): Use the xmmword field
1235 * config/tc-i386.c (process_suffix): Fix a typo.
1240 * config/tc-i386.c (match_template): Handle XMMWORD_MNEM_SUFFIX.
1241 Check memory size in Intel mode.
1242 (process_suffix): Handle XMMWORD_MNEM_SUFFIX.
1243 (intel_e09): Likewise.
1245 * config/tc-i386.h (XMMWORD_MNEM_SUFFIX): New.
1249 * config/tc-mips.c (mips_ip): Check operands on jalr instruction.
1251 For older changes see ChangeLog-2007
1257 version-control: never