3 * config/tc-arm.c (arm_ext_barrier, arm_ext_msr): New.
4 (arm_ext_v7m): Rename...
5 (arm_ext_m): ... to this. Include v6-M.
6 (do_t_add_sub): Allow narrow low-reg non flag setting adds.
7 (do_t_mrs, do_t_msr, aeabi_set_public_attributes): Use arm_ext_m.
8 (md_assemble): Allow wide msr instructions.
9 (insns): Add classifications for v6-m instructions.
10 (arm_cpu_option_table): Add cortex-m1.
11 (arm_arch_option_table): Add armv6-m.
12 (cpu_arch): Add ARM_ARCH_V6M. Fix numbering of other v6 variants.
17 * config/tc-xtensa.c (xtensa_num_pipe_stages): New.
18 (md_begin): Initialize it.
19 (resources_conflict): Use it.
23 * config/tc-xtensa.h (RELAX_XTENSA_NONE): New.
29 * read.c (pseudo_set): Don't allow global register symbol.
31 * symbols.c (S_SET_EXTERNAL): Don't allow register symbol
37 * write.c (write_object_file): Don't allow symbols which were
38 equated to register. Stop if there is an error.
42 * config/tc-ppc.h (struct _ppc_fix_extra): New.
44 (TC_FIX_TYPE, TC_INIT_FIX_DATA): Define.
45 * config/tc-ppc.c (ppu_cpu): Make global.
46 (ppc_insert_operand): Add ppu_cpu parameter.
47 (md_assemble): Adjust for above change.
48 (md_apply_fix): Pass tc_fix_data.ppc_cpu to ppc_insert_operand.
52 * config/tc-arm.c (do_bx): Only test EF_ARM_EABI_VERSION on ELF
53 targeted ARM ports, otherwise just skip generating the reloc.
57 * doc/c-i386.texi: Update -march= and .arch.
61 * config/tc-mn10300.c (has_known_symbol_location): New function.
62 Do not regard weak symbols as having a known location.
63 (md_estimate_size_before_relax): Use new function.
64 (md_pcrel_from): Do not compute a pcrel against a weak symbol.
68 * config/tc-i386.c (match_template): Disallow 'l' suffix when
69 currently selected CPU has no 32-bit support.
70 (parse_real_register): Do not return registers not available on
71 currently selected CPU.
75 * config/tc-i386.c (process_immext): Fix format.
79 * config/tc-i386.c (inoutportreg): New.
80 (process_immext): New.
81 (md_assemble): Use it.
82 (update_imm): Use imm16 and imm32s.
83 (i386_att_operand): Use inoutportreg.
87 * config/tc-i386.c (operand_type_all_zero): New.
88 (operand_type_set): Likewise.
89 (operand_type_equal): Likewise.
90 (cpu_flags_all_zero): Likewise.
91 (cpu_flags_set): Likewise.
92 (cpu_flags_equal): Likewise.
93 (UINTS_ALL_ZERO): Removed.
94 (UINTS_SET): Likewise.
95 (UINTS_CLEAR): Likewise.
96 (UINTS_EQUAL): Likewise.
97 (cpu_flags_match): Updated.
98 (smallest_imm_type): Likewise.
99 (set_cpu_arch): Likewise.
100 (md_assemble): Likewise.
101 (optimize_imm): Likewise.
102 (match_template): Likewise.
103 (process_suffix): Likewise.
104 (update_imm): Likewise.
105 (process_drex): Likewise.
106 (process_operands): Likewise.
107 (build_modrm_byte): Likewise.
108 (i386_immediate): Likewise.
109 (i386_displacement): Likewise.
110 (i386_att_operand): Likewise.
111 (parse_real_register): Likewise.
112 (md_parse_option): Likewise.
113 (i386_target_format): Likewise.
118 * config/tc-arm.c (s_arm_unwind_save): Advance the input line
119 pointer past the comma after parsing a floating point register
125 * config/tc-avr.c (mcu_types): Change the ISA tyoe of the attiny26
127 (avr_operand): Disallow post-increment addressing in the lpm
128 instruction for the attiny26.
132 * config/tc-i386.c (parse_real_register): Don't return 'FLAT'
133 if not in Intel mode.
134 (i386_intel_operand): Ignore segment overrides in immediate and
136 (intel_e11): Range-check i.mem_operands before use as array
137 index. Filter out FLAT for uses other than as segment override.
138 (intel_get_token): Remove broken promotion of "FLAT:" to mean
143 * config/tc-i386.c (intel_e09): Also special-case 'bound'.
147 * config/tc-i386.c (allow_pseudo_reg): New.
148 (parse_real_register): Check for NULL just once. Allow all
149 register table entries when allow_pseudo_reg is non-zero.
150 Don't allow any registers without type when allow_pseudo_reg
152 (tc_x86_regname_to_dw2regnum): Replace with ...
153 (tc_x86_parse_to_dw2regnum): ... this.
154 (tc_x86_frame_initial_instructions): Adjust for above change.
155 * config/tc-i386.h (tc_regname_to_dw2regnum): Remove.
156 (tc_parse_to_dw2regnum): New.
157 (tc_x86_regname_to_dw2regnum): Replace with ...
158 (tc_x86_parse_to_dw2regnum): ... this.
159 * dw2gencfi.c (tc_parse_to_dw2regnum): New, broken out of ...
160 (cfi_parse_reg): ... this. Use tc_parse_to_dw2regnum. Adjust
165 * config/tc-tic4x.c (tic4x_insn_insert): Add const qualifier to
167 (tic4x_insn_add): Likewise.
168 (md_begin): Drop cast that was discarding a const qualifier.
169 * config/tc-d30v.c (get_reloc): Add const qualifier to op
171 (build_insn): Drop cast that was discarding a const qualifier.
175 * config/tc-i386.c (cpu_arch): Add .xsave.
176 (md_show_usage): Add .xsave.
178 * doc/c-i386.texi: Add xsave to -march=.
182 * read.c (s_weakref): Don't pass unadorned NULL to concat.
183 * config/tc-i386.c (set_cpu_arch, md_parse_option): Likewise.
187 * config/tc-xtensa.c (relax_frag_immed): Change internal consistency
188 checks into assertions. When relaxation produces an operation that
189 does not fit in the current FLIX instruction, make sure that the
190 operation is relaxed as needed to account for being placed following
191 the current instruction.
196 * configure: Regenerated.
200 * config/tc-mips.c (mips_cpu_info_table): Add Octeon.
204 * configure.tgt (xtensa*-*-*): Recognize processor variants.
208 * read.c: (emit_expr): Correct for mingw use of printf size
213 * doc/c-xtensa.texi (Xtensa Syntax): Clarify handling of opcodes that
214 can only be encoded in FLIX instructions but are not specified as such.
215 (Xtensa Automatic Alignment): Remove obsolete comment about debugging
220 * NEWS: Mention new command line options for x86 targets.
224 * config/tc-i386.c (md_show_usage): Replace tabs with spaces.
228 * config/tc-avr.c (mcu_types): Change opcode set for at86rf401.
232 * config/tc-i386.c (md_show_usage): Show more processors for
237 * config/tc-i386.c (i386_target_format): Remove cpummx2.
241 * config/tc-i386.c (XXX_PREFIX): Moved from tc-i386.h.
242 (XXX_MNEM_SUFFIX): Likewise.
243 (END_OF_INSN): Likewise.
244 (templates): Likewise.
245 (modrm_byte): Likewise.
246 (rex_byte): Likewise.
247 (DREX_XXX): Likewise.
248 (drex_byte): Likewise.
249 (sib_byte): Likewise.
250 (processor_type): Likewise.
251 (arch_entry): Likewise.
252 (cpu_sub_arch_name): Remove const.
253 (cpu_arch): Add .vmx and .smx.
254 (set_cpu_arch): Append cpu_sub_arch_name.
255 (md_parse_option): Support -march=CPU[,+EXTENSION...].
256 (md_show_usage): Updated.
258 * config/tc-i386.h (XXX_PREFIX): Moved to tc-i386.c.
259 (XXX_MNEM_SUFFIX): Likewise.
260 (END_OF_INSN): Likewise.
261 (templates): Likewise.
262 (modrm_byte): Likewise.
263 (rex_byte): Likewise.
264 (DREX_XXX): Likewise.
265 (drex_byte): Likewise.
266 (sib_byte): Likewise.
267 (processor_type): Likewise.
268 (arch_entry): Likewise.
270 * doc/as.texinfo: Update i386 -march option.
272 * doc/c-i386.texi: Update -march= for ISA.
276 * config/tc-xtensa.c (xtensa_leb128): New function.
277 (md_pseudo_table): Use it for sleb128 and uleb128.
278 (is_leb128_expr): New internal flag.
279 (xtensa_symbol_new_hook): Check new flag.
283 * config/tc-avr.c (mcu_types): Change opcode set for avr3,
284 at90usb82, at90usb162.
285 * doc/c-avr.texi: Change architecture grouping for at90usb82,
287 These changes support the new avr35 architecture group in gcc.
291 * config/tc-i386.c (md_assemble): Also zap movzx and movsx
292 suffix for AT&T syntax.
296 * config/tc-i386.c (match_reg_size): New.
297 (match_mem_size): Likewise.
298 (operand_size_match): Likewise.
299 (operand_type_match): Also clear all size fields.
300 (match_template): Skip Intel syntax when in AT&T syntax.
301 Call operand_size_match to check operand size.
302 (i386_att_operand): Set the mem field to 1 for memory
304 (i386_intel_operand): Likewise.
309 * config/tc-i386.c (_i386_insn): Update comment.
310 (operand_type_match): Also clear unspecified.
311 (operand_type_register_match): Likewise.
312 (parse_operands): Initialize unspecified.
313 (i386_intel_operand): Likewise.
314 (match_template): Check memory and accumulator operand size.
315 (i386_att_operand): Clear unspecified on register operand.
316 (intel_e11): Likewise.
317 (intel_e09): Set operand size and clean unspecified for
322 * read.c (s_space): Declare `repeat' as offsetT.
326 * config/tc-i386.c (match_template): Check processor support
331 * config/tc-i386.c (match_template): Continue if processor
336 * config/tc-ia64.c (ia64_convert_frag): Zero-initialize room for
337 unwind personality function address.
341 * dwarf2dbg.c (out_sleb128): Delete.
342 (size_fixed_inc_line_addr, emit_fixed_inc_line_addr): New.
343 (out_fixed_inc_line_addr): Delete.
344 (relax_inc_line_addr, dwarf2dbg_estimate_size_before_relax): Call new
345 size_fixed_inc_line_addr if DWARF2_USE_FIXED_ADVANCE_PC is set.
346 (dwarf2dbg_convert_frag): Likewise for emit_fixed_inc_line_addr.
347 (process_entries): Remove calls to out_fixed_inc_line_addr. When
348 DWARF2_USE_FIXED_ADVANCE_PC is set, call relax_inc_line_addr.
349 * read.h (emit_expr_fix): New prototype.
350 * read.c (emit_expr): Move code to emit_expr_fix and use it here.
351 (emit_expr_fix): New.
355 * config/tc-i386.c (match_template): Check register size
356 only when size of operands can be encoded the canonical way.
360 * config/tc-i386.c (i386_operand): Renamed to ...
361 (i386_att_operand): This.
362 (parse_operands): Updated.
366 * doc/c-i386.texi: Update .att_mnemonic and .intel_mnemonic.
368 * config/tc-i386.c (set_intel_mnemonic): Set intel_mnemonic
370 (md_assemble): Remove Intel mode workaround.
371 (match_template): Check support for old gcc, AT&T mnemonic
373 (md_parse_option): Don't set intel_mnemonic to 0 for
378 * config/tc-i386.h: Update copyright to 2008.
382 * config/tc-ppc.c (parse_cpu): Preserve the settings of the
383 PPC_OPCODE_ALTIVEC and PPC_OPCODE_SPE flags.
387 * config/tc-i386.c (md_assemble): Use !intel_mnemonic instead
392 * gas/config/tc-i386.c (cpu_arch_flags_not): Removed.
393 (cpu_flags_not): Likewise.
394 (cpu_flags_match): Updated to check 64bit and arch.
395 (set_code_flag): Remove cpu_arch_flags_not.
396 (set_16bit_gcc_code_flag): Likewise.
397 (set_cpu_arch): Likewise.
398 (md_begin): Likewise.
399 (parse_insn): Call cpu_flags_match to check 64bit and arch.
400 (match_template): Likewise.
404 * config/tc-i386.c (process_drex): Initialize modrm_reg and
405 modrm_regmem to 0 instead of None.
409 * config/tc-i386.c (match_template): Use the xmmword field
414 * config/tc-i386.c (process_suffix): Fix a typo.
419 * config/tc-i386.c (match_template): Handle XMMWORD_MNEM_SUFFIX.
420 Check memory size in Intel mode.
421 (process_suffix): Handle XMMWORD_MNEM_SUFFIX.
422 (intel_e09): Likewise.
424 * config/tc-i386.h (XMMWORD_MNEM_SUFFIX): New.
428 * config/tc-mips.c (mips_ip): Check operands on jalr instruction.
430 For older changes see ChangeLog-2007
436 version-control: never