MIPS16e2: Add MIPS16e2 ASE support
[external/binutils.git] / gas / ChangeLog
1 2017-05-15  Maciej W. Rozycki  <macro@imgtec.com>
2             Matthew Fortune  <matthew.fortune@imgtec.com>
3             Andrew Bennett  <andrew.bennett@imgtec.com>
4
5         * config/tc-mips.c (RELAX_MIPS16_ENCODE): Add `e2' flag.
6         (RELAX_MIPS16_E2): New macro.
7         (RELAX_MIPS16_PIC, RELAX_MIPS16_SYM32, RELAX_MIPS16_NOMACRO)
8         (RELAX_MIPS16_USER_SMALL, RELAX_MIPS16_USER_EXT)
9         (RELAX_MIPS16_DSLOT, RELAX_MIPS16_JAL_DSLOT)
10         (RELAX_MIPS16_EXTENDED, RELAX_MIPS16_MARK_EXTENDED)
11         (RELAX_MIPS16_CLEAR_EXTENDED, RELAX_MIPS16_ALWAYS_EXTENDED)
12         (RELAX_MIPS16_MARK_ALWAYS_EXTENDED)
13         (RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED, RELAX_MIPS16_MACRO)
14         (RELAX_MIPS16_MARK_MACRO, RELAX_MIPS16_CLEAR_MACRO): Shift bits.
15         (mips16_immed_extend): New prototype.
16         (options): Add OPTION_MIPS16E2 and OPTION_NO_MIPS16E2 enum
17         values.
18         (md_longopts): Add "mmips16e2" and "mno-mips16e2" options.
19         (mips_ases): Add "mips16e2" entry.
20         (mips_set_ase): Handle MIPS16e2 ASE.
21         (insn_insert_operand): Explicitly handle immediates with MIPS16
22         instructions that require 32-bit encoding.
23         (is_opcode_valid_16): Pass enabled ASE bitmask on to
24         `opcode_is_member'.
25         (validate_mips_insn): Explicitly handle immediates with MIPS16
26         instructions that require 32-bit encoding.
27         (operand_reg_mask) <OP_REG28>: Add handler.
28         (match_reg28_operand): New function.
29         (match_operand) <OP_REG28>: Add handler.
30         (append_insn): Pass ASE_MIPS16E2 setting to RELAX_MIPS16_ENCODE.
31         (match_mips16_insn): Handle MIPS16 instructions that require
32         32-bit encoding and `V' and `u' operand codes.
33         (mips16_ip): Allow any characters except from `.' in opcodes.
34         (mips16_immed_extend): Handle 9-bit immediates.  Do not shuffle
35         immediates whose width is not one of these listed.
36         (md_estimate_size_before_relax): Handle MIPS16e2 relaxation.
37         (mips_relax_frag): Likewise.
38         (md_convert_frag): Likewise.
39         (mips_convert_ase_flags): Handle MIPS16e2 ASE.
40
41         * doc/as.texinfo (Target MIPS options): Add `-mmips16e2' and
42         `-mno-mips16e2' options.
43         (-mmips16e2, -mno-mips16e2): New options.
44         * doc/c-mips.texi (MIPS Options): Add `-mmips16e2' and
45         `-mno-mips16e2' options.
46         (MIPS ASE Instruction Generation Overrides): Add `.set mips16e2'
47         and `.set nomips16e2'.
48
49 2017-05-15  Maciej W. Rozycki  <macro@imgtec.com>
50
51         * config/tc-mips.c (match_int_operand): Call
52         `match_out_of_range' before returning failure for 0x8000-0xffff
53         values conditionally allowed.
54
55 2017-05-15  Maciej W. Rozycki  <macro@imgtec.com>
56
57         * config/tc-mips.c (match_int_operand): Call
58         `match_not_constant' before returning failure for a non-constant
59         16-bit immediate conditionally allowed.
60
61 2017-05-15  Maciej W. Rozycki  <macro@imgtec.com>
62
63         * config/tc-mips.c (match_const_int): Call `match_out_of_range'
64         rather than `match_not_constant' for unrelocated operands
65         retrieved as an `O_big' expression.
66         (match_int_operand): Call `match_out_of_range' for relocatable
67         operands retrieved as an `O_big' expression.
68         (match_mips16_insn): Call `match_out_of_range' for relaxable
69         operands retrieved as an `O_big' expression.
70         * testsuite/gas/mips/addiu-error.d: New test.
71         * testsuite/gas/mips/mips16@addiu-error.d: New test.
72         * testsuite/gas/mips/micromips@addiu-error.d: New test.
73         * testsuite/gas/mips/break-error.d: New test.
74         * testsuite/gas/mips/lui-1.l: Adjust error message.
75         * testsuite/gas/mips/addiu-error.l: New stderr output.
76         * testsuite/gas/mips/mips16@addiu-error.l: New stderr output.
77         * testsuite/gas/mips/micromips@addiu-error.l: New stderr output.
78         * testsuite/gas/mips/break-error.l: New stderr output.
79         * testsuite/gas/mips/addiu-error.s: New test source.
80         * testsuite/gas/mips/break-error.s: New test source.
81         * testsuite/gas/mips/mips.exp: Run the new tests.
82
83 2017-05-15  Maciej W. Rozycki  <macro@imgtec.com>
84
85         * config/tc-mips.c (match_mips16_insn): Remove the explicit
86         OT_INTEGER check before the `match_expression' call.
87         * testsuite/gas/mips/mips16-insn-e.l: Adjust messages.
88         * testsuite/gas/mips/mips16-32@mips16-insn-e.l: Likewise.
89         * testsuite/gas/mips/mips16-64@mips16-insn-e.l: Likewise.
90         * testsuite/gas/mips/mips16e-32@mips16-insn-e.l: Likewise.
91         * testsuite/gas/mips/mips16-reg-error.d: New test.
92         * testsuite/gas/mips/mips16-reg-error.l: New stderr output.
93         * testsuite/gas/mips/mips16-reg-error.s: New test source.
94         * testsuite/gas/mips/mips.exp: Run the new test.
95
96 2017-05-15  Maciej W. Rozycki  <macro@imgtec.com>
97
98         * config/tc-mips.c (match_mips16_insn): Call
99         `match_not_constant' for a disallowed relocation operation.
100         * testsuite/gas/mips/mips16-reloc-error.d: New test.
101         * testsuite/gas/mips/mips16-reloc-error.l: New stderr output.
102         * testsuite/gas/mips/mips16-reloc-error.s: New test source.
103         * testsuite/gas/mips/mips.exp: Run the new test.
104
105 2017-05-15  Maciej W. Rozycki  <macro@imgtec.com>
106
107         * testsuite/gas/mips/lui-1.d: New test.
108         * testsuite/gas/mips/lui-2.d: New test.
109         * gas/testsuite/gas/mips/mips.exp: Fold corresponding list tests
110         into the new tests.
111
112 2017-05-15  Maciej W. Rozycki  <macro@imgtec.com>
113
114         * config/tc-mips.c (match_const_int): Update description.
115
116 2017-05-15  Maciej W. Rozycki  <macro@imgtec.com>
117
118         * doc/as.texinfo (-mips16, -no-mips16): Refer to `.module
119         mips16' rather than `.set mips16'.
120         (-mmicromips, -mno-micromips): Refer to `.module micromips' and
121         `.module nomicromips' rather than `.set micromips' and `.set
122         nomicromips'.
123         (-msmartmips, -mno-smartmips): Refer to `.module smartmips'
124         rather than `.set smartmips'.
125         * doc/c-mips.texi (MIPS Options): Refer to `.module mips16',
126         `.module micromips', `.module nomicromips' and `.module
127         smartmips' rather than `.set mips16', `.set micromips', `.set
128         nomicromips' and `.set smartmips' respectively.
129
130 2017-05-12  Maciej W. Rozycki  <macro@imgtec.com>
131             Matthew Fortune  <matthew.fortune@imgtec.com>
132
133         * config/tc-mips.c (mips_percent_op): Add "%gprel".
134         (mips16_percent_op): Add "%gp_rel".
135         * testsuite/gas/mips/elf-rel8.s:: Add `%gprel' forms.
136         * testsuite/gas/mips/elf-rel8-mips16.s: Add `%gp_rel' forms.
137         * testsuite/gas/mips/elf-rel8.d: Adjust accordingly.
138         * testsuite/gas/mips/elf-rel8-mips16.d: Likewise.
139
140 2017-05-12  Maciej W. Rozycki  <macro@imgtec.com>
141
142         * testsuite/gas/mips/mips16.d: Adjust BREAK disassembly.
143         * testsuite/gas/mips/mips16-64@mips16.d: Likewise.
144         * testsuite/gas/mips/mips16-64.d: Likewise.
145         * testsuite/gas/mips/mips16-64@mips16-64.d: Likewise.
146         * testsuite/gas/mips/mips16-macro.d: Likewise.
147         * testsuite/gas/mips/mips16-64@mips16-macro.d: Likewise.
148         * testsuite/gas/mips/mips16-sub.d: Likewise.
149         * testsuite/gas/mips/mips16-32@mips16-sub.d: Likewise.
150
151 2017-05-11  Maciej W. Rozycki  <macro@imgtec.com>
152
153         * testsuite/gas/mips/mips32r2-sync-1.d: New test.
154         * testsuite/gas/mips/micromips@mips32r2-sync-1.d: New test.
155         * testsuite/gas/mips/mips.exp: Run the new tests.
156
157 2017-05-10  Maciej W. Rozycki  <macro@imgtec.com>
158
159         * testsuite/gas/mips/isa-override-2.d: New test.
160         * testsuite/gas/mips/mips1@isa-override-2.d: New test.
161         * testsuite/gas/mips/r3000@isa-override-2.d: New test.
162         * testsuite/gas/mips/r3900@isa-override-2.d: New test.
163         * testsuite/gas/mips/mips2@isa-override-2.d: New test.
164         * testsuite/gas/mips/mips32@isa-override-2.d: New test.
165         * testsuite/gas/mips/mips32r2@isa-override-2.d: New test.
166         * testsuite/gas/mips/mips32r3@isa-override-2.d: New test.
167         * testsuite/gas/mips/mips32r5@isa-override-2.d: New test.
168         * testsuite/gas/mips/mips32r6@isa-override-2.d: New test.
169         * testsuite/gas/mips/octeon3@isa-override-2.d: New test.
170         * testsuite/gas/mips/r3000@isa-override-2.l: Remove list test.
171         * testsuite/gas/mips/mips1@isa-override-2.s: Remove test source.
172         * testsuite/gas/mips/r3000@isa-override-2.s: Remove test source.
173         * testsuite/gas/mips/r3900@isa-override-2.s: Remove test source.
174         * testsuite/gas/mips/mips2@isa-override-2.s: Remove test source.
175         * testsuite/gas/mips/mips32@isa-override-2.s: Remove test
176         source.
177         * testsuite/gas/mips/mips32r2@isa-override-2.s: Remove test
178         source.
179         * testsuite/gas/mips/mips32r3@isa-override-2.s: Remove test
180         source.
181         * testsuite/gas/mips/mips32r5@isa-override-2.s: Remove test
182         source.
183         * testsuite/gas/mips/mips32r6@isa-override-2.s: Remove test
184         source.
185         * testsuite/gas/mips/octeon3@isa-override-2.s: Remove test
186         source.
187         * gas/testsuite/gas/mips/mips.exp: Fold corresponding list tests
188         into the new tests.
189
190 2017-05-10  Maciej W. Rozycki  <macro@imgtec.com>
191
192         * testsuite/gas/mips/mips16e-sub.d: Correct test name.
193         * testsuite/gas/mips/mips16-32@mips16e-sub.d: Likewise.
194         * testsuite/gas/mips/mips16-64@mips16e-sub.d: Likewise.
195         * testsuite/gas/mips/mips16e-64-sub.d: Likewise.
196         * testsuite/gas/mips/mips16-32@mips16e-64-sub.d: Likewise.
197         * testsuite/gas/mips/mips16-64@mips16e-64-sub.d: Likewise.
198         * testsuite/gas/mips/mips16e-32@mips16e-64-sub.d: Likewise.
199
200 2017-05-10  Maciej W. Rozycki  <macro@imgtec.com>
201
202         * testsuite/gas/mips/mips16-macro.l: Remove list test.
203
204 2017-05-10  Maciej W. Rozycki  <macro@imgtec.com>
205
206         * testsuite/gas/mips/r3900@ecoff@ld.d: Remove test.
207         * testsuite/gas/mips/mips2@ecoff@ld.d: Remove test.
208         * testsuite/gas/mips/mips32@ecoff@ld.d: Remove test.
209         * testsuite/gas/mips/mips32r2@ecoff@ld.d: Remove test.
210         * testsuite/gas/mips/r3900@ecoff@ld-forward.d: Remove test.
211         * testsuite/gas/mips/mips2@ecoff@ld-forward.d: Remove test.
212         * testsuite/gas/mips/mips32@ecoff@ld-forward.d: Remove test.
213         * testsuite/gas/mips/mips32r2@ecoff@ld-forward.d: Remove test.
214         * testsuite/gas/mips/mips1@ecoff@sd.d: Remove test.
215         * testsuite/gas/mips/r3000@ecoff@sd.d: Remove test.
216         * testsuite/gas/mips/r3900@ecoff@sd.d: Remove test.
217         * testsuite/gas/mips/mips2@ecoff@sd.d: Remove test.
218         * testsuite/gas/mips/mips32@ecoff@sd.d: Remove test.
219         * testsuite/gas/mips/mips32r2@ecoff@sd.d: Remove test.
220         * testsuite/gas/mips/mips1@ecoff@sd-forward.d: Remove test.
221         * testsuite/gas/mips/r3000@ecoff@sd-forward.d: Remove test.
222         * testsuite/gas/mips/r3900@ecoff@sd-forward.d: Remove test.
223         * testsuite/gas/mips/mips2@ecoff@sd-forward.d: Remove test.
224         * testsuite/gas/mips/mips32@ecoff@sd-forward.d: Remove test.
225         * testsuite/gas/mips/mips32r2@ecoff@sd-forward.d: Remove test.
226
227 2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
228
229         * testsuite/gas/arc/attr-arc600.d: New file.
230         * testsuite/gas/arc/attr-arc600_mul32x16.d: Likewise.
231         * testsuite/gas/arc/attr-arc600_norm.d: Likewise.
232         * testsuite/gas/arc/attr-arc601.d: Likewise.
233         * testsuite/gas/arc/attr-arc601_mul32x16.d: Likewise.
234         * testsuite/gas/arc/attr-arc601_mul64.d: Likewise.
235         * testsuite/gas/arc/attr-arc601_norm.d: Likewise.
236         * testsuite/gas/arc/attr-arc700.d: Likewise.
237         * testsuite/gas/arc/attr-arcem.d: Likewise.
238         * testsuite/gas/arc/attr-archs.d: Likewise.
239         * testsuite/gas/arc/attr-autodetect-1.d: Likewise.
240         * testsuite/gas/arc/attr-autodetect-1.s: Likewise.
241         * testsuite/gas/arc/attr-cpu-a601.d: Likewise.
242         * testsuite/gas/arc/attr-cpu-a601.s: Likewise.
243         * testsuite/gas/arc/attr-cpu-a700.d: Likewise.
244         * testsuite/gas/arc/attr-cpu-a700.s: Likewise.
245         * testsuite/gas/arc/attr-cpu-em.d: Likewise.
246         * testsuite/gas/arc/attr-cpu-em.s: Likewise.
247         * testsuite/gas/arc/attr-cpu-hs.d: Likewise.
248         * testsuite/gas/arc/attr-cpu-hs.s: Likewise.
249         * testsuite/gas/arc/attr-em.d: Likewise.
250         * testsuite/gas/arc/attr-em4.d: Likewise.
251         * testsuite/gas/arc/attr-em4_dmips.d: Likewise.
252         * testsuite/gas/arc/attr-em4_fpuda.d: Likewise.
253         * testsuite/gas/arc/attr-em4_fpus.d: Likewise.
254         * testsuite/gas/arc/attr-hs.d: Likewise.
255         * testsuite/gas/arc/attr-hs34.d: Likewise.
256         * testsuite/gas/arc/attr-hs38.d: Likewise.
257         * testsuite/gas/arc/attr-hs38_linux.d: Likewise.
258         * testsuite/gas/arc/attr-mul64.d: Likewise.
259         * testsuite/gas/arc/attr-name.d: Likewise.
260         * testsuite/gas/arc/attr-name.s: Likewise.
261         * testsuite/gas/arc/attr-nps400.d: Likewise.
262         * testsuite/gas/arc/attr-override-mcpu.d: Likewise.
263         * testsuite/gas/arc/attr-override-mcpu.s
264         * testsuite/gas/arc/attr-quarkse_em.d: Likewise.
265         * testsuite/gas/arc/blank.s: Likewise.
266         * testsuite/gas/elf/section2.e-arc: Likewise.
267         * testsuite/gas/arc/cpu-pseudop-1.d: Update test.
268         * testsuite/gas/arc/cpu-pseudop-2.d: Likewise.
269         * testsuite/gas/arc/nps400-0.d: Likewise.
270         * testsuite/gas/elf/elf.exp: Set target_machine for ARC.
271         * config/tc-arc.c (opcode/arc-attrs.h): Include.
272         (ARC_GET_FLAG, ARC_SET_FLAG, streq): Define.
273         (arc_attribute): Declare new function.
274         (md_pseudo_table): Add arc_attribute.
275         (cpu_types): Rename default cpu features.
276         (selected_cpu): Set the default OSABI flag.
277         (mpy_option): New variable.
278         (pic_option): Likewise.
279         (sda_option): Likewise.
280         (tls_option): Likewise.
281         (feature_type, feature_list): Remove.
282         (arc_initial_eflag): Likewise.
283         (attributes_set_explicitly): New variable.
284         (arc_check_feature): Check also for the conflicting features.
285         (arc_select_cpu): Refactor assignment of selected_cpu.eflags.
286         (arc_option): Remove setting of private flags and architecture.
287         (check_cpu_feature): Refactor feature names.
288         (autodetect_attributes): New function.
289         (assemble_tokens): Use above function.
290         (md_parse_option): Refactor feature names.
291         (arc_attribute): New function.
292         (arc_set_attribute_int): Likewise.
293         (arc_set_attribute_string): Likewise.
294         (arc_stralloc): Likewise.
295         (arc_set_public_attributes): Likewise.
296         (arc_md_end): Likewise.
297         (arc_copy_symbol_attributes): Likewise.
298         (rc_convert_symbolic_attribute): Likewise.
299         * config/tc-arc.h (md_end): Define.
300         (CONVERT_SYMBOLIC_ATTRIBUTE): Likewise.
301         (TC_COPY_SYMBOL_ATTRIBUTES): Likewise.
302         * doc/c-arc.texi: Document ARC object attributes.
303
304 2017-05-03  Maciej W. Rozycki  <macro@imgtec.com>
305
306         * config/tc-mips.c (RELAX_MIPS16_ENCODE): Add `pic', `sym32' and
307         `nomacro' flags.
308         (RELAX_MIPS16_PIC, RELAX_MIPS16_SYM32, RELAX_MIPS16_NOMACRO):
309         New macros.
310         (RELAX_MIPS16_USER_SMALL, RELAX_MIPS16_USER_EXT)
311         (RELAX_MIPS16_DSLOT, RELAX_MIPS16_JAL_DSLOT)
312         (RELAX_MIPS16_EXTENDED, RELAX_MIPS16_MARK_EXTENDED)
313         (RELAX_MIPS16_CLEAR_EXTENDED, RELAX_MIPS16_ALWAYS_EXTENDED)
314         (RELAX_MIPS16_MARK_ALWAYS_EXTENDED)
315         (RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED): Shift bits.
316         (RELAX_MIPS16_MACRO, RELAX_MIPS16_MARK_MACRO)
317         (RELAX_MIPS16_CLEAR_MACRO): New macros.
318         (append_insn): Pass `mips_pic', HAVE_32BIT_SYMBOLS and
319         `mips_opts.warn_about_macros' settings to RELAX_MIPS16_ENCODE.
320         (mips16_macro_frag): New function.
321         (md_estimate_size_before_relax): Handle HI16/LO16 relaxation.
322         (mips_relax_frag): Likewise.
323         (md_convert_frag): Likewise.
324
325         * testsuite/gas/mips/mips16@relax-swap3.d: Remove error output,
326         add dump patterns.
327         * testsuite/gas/mips/mips16e@relax-swap3.d: New test
328         subarchitecture.
329         * testsuite/gas/mips/micromips@relax-swap3.d: Remove trailing
330         NOP padding.
331         * testsuite/gas/mips/mips16-pcrel-reloc-2.d: Remove error
332         output, add dump patterns.
333         * testsuite/gas/mips/mips16-pcrel-reloc-3.d: Remove error
334         output, add dump patterns.
335         * testsuite/gas/mips/mips16-pcrel-reloc-6.d: Remove error
336         output, add dump patterns.
337         * testsuite/gas/mips/mips16-pcrel-reloc-7.d: Remove error
338         output, add dump patterns.
339         * testsuite/gas/mips/mips16-pcrel-addend-2.d: Remove error
340         output, add dump patterns.
341         * testsuite/gas/mips/mips16-pcrel-addend-3.d: Remove error
342         output, add dump patterns.
343         * testsuite/gas/mips/mips16-pcrel-absolute.d: Remove error
344         output, add dump patterns.
345         * testsuite/gas/mips/mips16-pcrel-absolute-1.d: Remove error
346         output, add dump patterns.
347         * testsuite/gas/mips/mips16@relax-swap3.l: Remove file.
348         * testsuite/gas/mips/mips16-pcrel-reloc-2.l: Remove file.
349         * testsuite/gas/mips/mips16-pcrel-reloc-3.l: Remove file.
350         * testsuite/gas/mips/mips16-pcrel-reloc-6.l: Remove file.
351         * testsuite/gas/mips/mips16-pcrel-reloc-7.l: Remove file.
352         * testsuite/gas/mips/mips16-pcrel-addend-2.l: Remove file.
353         * testsuite/gas/mips/mips16-pcrel-addend-3.l: Remove file.
354         * testsuite/gas/mips/mips16-pcrel-absolute.l: Remove file.
355         * testsuite/gas/mips/mips16-pcrel-absolute-1.l: Remove file.
356         * testsuite/gas/mips/relax-swap3.s: Adjust trailing padding.
357
358         * testsuite/gas/mips/mips16-pcrel-0.d: New test.
359         * testsuite/gas/mips/mips16-pcrel-1.d: New test.
360         * testsuite/gas/mips/mips16-pcrel-2.d: New test.
361         * testsuite/gas/mips/mips16-pcrel-3.d: New test.
362         * testsuite/gas/mips/mips16-pcrel-4.d: New test.
363         * testsuite/gas/mips/mips16-pcrel-5.d: New test.
364         * testsuite/gas/mips/mips16-pcrel-pic-0.d: New test.
365         * testsuite/gas/mips/mips16-pcrel-pic-1.d: New test.
366         * testsuite/gas/mips/mips16-pcrel-n32-0.d: New test.
367         * testsuite/gas/mips/mips16-pcrel-n32-1.d: New test.
368         * testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: New test.
369         * testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: New test.
370         * testsuite/gas/mips/mips16-pcrel-n64-0.d: New test.
371         * testsuite/gas/mips/mips16-pcrel-n64-1.d: New test.
372         * testsuite/gas/mips/mips16-pcrel-delay-0.d: New test.
373         * testsuite/gas/mips/mips16-pcrel-delay-1.d: New test.
374         * testsuite/gas/mips/mips16-pcrel-addend-4.d: New test.
375         * testsuite/gas/mips/mips16-pcrel-addend-5.d: New test.
376         * testsuite/gas/mips/mips16-pcrel-addend-6.d: New test.
377         * testsuite/gas/mips/mips16-pcrel-addend-7.d: New test.
378         * testsuite/gas/mips/mips16-pcrel-addend-8.d: New test.
379         * testsuite/gas/mips/mips16-pcrel-addend-9.d: New test.
380         * testsuite/gas/mips/mips16-pcrel-addend-pic-8.d: New test.
381         * testsuite/gas/mips/mips16-pcrel-addend-pic-9.d: New test.
382         * testsuite/gas/mips/mips16-pcrel-addend-n32-8.d: New test.
383         * testsuite/gas/mips/mips16-pcrel-addend-n32-9.d: New test.
384         * testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-8.d: New test.
385         * testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-9.d: New test.
386         * testsuite/gas/mips/mips16-pcrel-addend-n64-8.d: New test.
387         * testsuite/gas/mips/mips16-pcrel-addend-n64-9.d: New test.
388         * testsuite/gas/mips/mips16-pcrel-absolute-2.d: New test.
389         * testsuite/gas/mips/mips16-pcrel-absolute-3.d: New test.
390         * testsuite/gas/mips/mips16-pcrel-absolute-4.d: New test.
391         * testsuite/gas/mips/mips16-pcrel-absolute-5.d: New test.
392         * testsuite/gas/mips/mips16-pcrel-absolute-6.d: New test.
393         * testsuite/gas/mips/mips16-pcrel-absolute-7.d: New test.
394         * testsuite/gas/mips/mips16-pcrel-absolute-pic-4.d: New test.
395         * testsuite/gas/mips/mips16-pcrel-absolute-pic-6.d: New test.
396         * testsuite/gas/mips/mips16-pcrel-absolute-n32-4.d: New test.
397         * testsuite/gas/mips/mips16-pcrel-absolute-n32-6.d: New test.
398         * testsuite/gas/mips/mips16-pcrel-absolute-n64-4.d: New test.
399         * testsuite/gas/mips/mips16-pcrel-absolute-n64-6.d: New test.
400         * testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-4.d: New
401         test.
402         * testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-6.d: New
403         test.
404         * testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-4.d: New
405         test.
406         * testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-6.d: New
407         test.
408         * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-4.d: New
409         test.
410         * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-6.d: New
411         test.
412         * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-4.d:
413         New test.
414         * testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-6.d:
415         New test.
416         * testsuite/gas/mips/mips16-pcrel-0.l: New stderr output.
417         * testsuite/gas/mips/mips16-pcrel-1.l: New stderr output.
418         * testsuite/gas/mips/mips16-pcrel-2.l: New stderr output.
419         * testsuite/gas/mips/mips16-pcrel-3.l: New stderr output.
420         * testsuite/gas/mips/mips16-pcrel-4.l: New stderr output.
421         * testsuite/gas/mips/mips16-pcrel-5.l: New stderr output.
422         * testsuite/gas/mips/mips16-pcrel-delay-0.l: New stderr output.
423         * testsuite/gas/mips/mips16-pcrel-delay-1.l: New stderr output.
424         * testsuite/gas/mips/mips16-pcrel-addend-8.l: New stderr output.
425         * testsuite/gas/mips/mips16-pcrel-addend-9.l: New stderr output.
426         * testsuite/gas/mips/mips16-pcrel-absolute-4.l: New stderr
427         output.
428         * testsuite/gas/mips/mips16-pcrel-absolute-6.l: New stderr
429         output.
430         * testsuite/gas/mips/mips16-pcrel-0.s: New test source.
431         * testsuite/gas/mips/mips16-pcrel-1.s: New test source.
432         * testsuite/gas/mips/mips16-pcrel-2.s: New test source.
433         * testsuite/gas/mips/mips16-pcrel-3.s: New test source.
434         * testsuite/gas/mips/mips16-pcrel-4.s: New test source.
435         * testsuite/gas/mips/mips16-pcrel-5.s: New test source.
436         * testsuite/gas/mips/mips16-pcrel-delay-0.s: New test source.
437         * testsuite/gas/mips/mips16-pcrel-delay-1.s: New test source.
438         * testsuite/gas/mips/mips16-pcrel-addend-4.s: New test source.
439         * testsuite/gas/mips/mips16-pcrel-addend-5.s: New test source.
440         * testsuite/gas/mips/mips16-pcrel-addend-6.s: New test source.
441         * testsuite/gas/mips/mips16-pcrel-addend-7.s: New test source.
442         * testsuite/gas/mips/mips16-pcrel-addend-8.s: New test source.
443         * testsuite/gas/mips/mips16-pcrel-addend-9.s: New test source.
444         * testsuite/gas/mips/mips16-pcrel-absolute-2.s: New test.
445         * testsuite/gas/mips/mips16-pcrel-absolute-3.s: New test.
446         * testsuite/gas/mips/mips16-pcrel-absolute-4.s: New test.
447         * testsuite/gas/mips/mips16-pcrel-absolute-5.s: New test.
448         * testsuite/gas/mips/mips16-pcrel-absolute-6.s: New test.
449         * testsuite/gas/mips/mips16-pcrel-absolute-7.s: New test.
450         * testsuite/gas/mips/mips.exp: Run the new tests.
451
452 2017-05-03  Nick Clifton  <nickc@redhat.com>
453
454         PR gas/20941
455         * symbols.c (snapshot_symbol): Handle the case where
456         resolve_expression returns a local symbol.
457
458 2017-05-02  Maciej W. Rozycki  <macro@imgtec.com>
459
460         * config/tc-mips.c (append_insn): Call `symbol_append' for any
461         expression symbol created for MIPS16 relaxation.
462         (match_mips16_insn): Don't encode a constant value as an
463         immediate with a PC-relative operand.
464
465         * testsuite/gas/mips/mips16-pcrel-absolute-1.d: New test.
466         * testsuite/gas/mips/mips16-branch-absolute-1.d: New test.
467         * testsuite/gas/mips/mips16-branch-absolute-2.d: New test.
468         * testsuite/gas/mips/mips16-branch-absolute-addend-1.d: New
469         test.
470         * testsuite/gas/mips/mips16-branch-absolute-n32-1.d: New test.
471         * testsuite/gas/mips/mips16-branch-absolute-n32-2.d: New test.
472         * testsuite/gas/mips/mips16-branch-absolute-addend-n32-1.d: New
473         test.
474         * testsuite/gas/mips/mips16-branch-absolute-n64-1.d: New test.
475         * testsuite/gas/mips/mips16-branch-absolute-n64-2.d: New test.
476         * testsuite/gas/mips/mips16-branch-absolute-addend-n64-1.d: New
477         test.
478         * testsuite/gas/mips/mips16-pcrel-absolute-1.l: New stderr
479         output.
480         * testsuite/gas/mips/mips16-pcrel-absolute-1.s: New test source.
481         * testsuite/gas/mips/mips16-branch-absolute-1.s: New test
482         source.
483         * testsuite/gas/mips/mips16-branch-absolute-2.s: New test
484         source.
485         * testsuite/gas/mips/mips16-branch-absolute-addend-1.s: New test
486         source.
487         * testsuite/gas/mips/mips.exp: Run the new tests.
488
489 2017-04-27  Maciej W. Rozycki  <macro@imgtec.com>
490
491         * config/tc-mips.c (mips16_pcrel_val): New function, factored
492         out from...
493         (mips16_extended_frag): ... here.
494         (md_convert_frag): Use `mips16_pcrel_val' rather than repeated
495         code in MIPS16 relaxation, with `stretch' hardcoded to 0.
496
497 2017-04-27  Maciej W. Rozycki  <macro@imgtec.com>
498
499         * config/tc-mips.c (RELAX_MIPS16_LONG_BRANCH): Rename to...
500         (RELAX_MIPS16_ALWAYS_EXTENDED): ... this.
501         (RELAX_MIPS16_MARK_LONG_BRANCH): Rename to...
502         (RELAX_MIPS16_MARK_ALWAYS_EXTENDED): ... this.
503         (RELAX_MIPS16_CLEAR_LONG_BRANCH): Rename to...
504         (RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED): ... this.
505         (mips16_extended_frag): Adjust accordingly.
506
507 2017-04-27  Alan Modra  <amodra@gmail.com>
508
509         * symbols.c (S_FORCE_RELOC): Separate section and symbol tests.
510
511 2017-04-26  Maciej W. Rozycki  <macro@imgtec.com>
512
513         * config/tc-mips.c (RELAX_ENCODE): Add `PIC' flag.
514         (RELAX_PIC): New macro.
515         (RELAX_USE_SECOND, RELAX_SECOND_LONGER, RELAX_NOMACRO)
516         (RELAX_DELAY_SLOT, RELAX_DELAY_SLOT_16BIT)
517         (RELAX_DELAY_SLOT_SIZE_FIRST, RELAX_DELAY_SLOT_SIZE_SECOND):
518         Shift bits.
519         (RELAX_BRANCH_ENCODE): Add `pic' flag.
520         (RELAX_BRANCH_UNCOND, RELAX_BRANCH_LIKELY, RELAX_BRANCH_LINK)
521         (RELAX_BRANCH_TOOFAR): Shift bits.
522         (RELAX_BRANCH_PIC): New macro.
523         (RELAX_MICROMIPS_ENCODE): Add `pic' flag.
524         (RELAX_MICROMIPS_PIC): New macro.
525         (RELAX_MICROMIPS_UNCOND, RELAX_MICROMIPS_COMPACT)
526         (RELAX_MICROMIPS_LINK, RELAX_MICROMIPS_NODS)
527         (RELAX_MICROMIPS_RELAX32): Shift bits.
528         (relax_close_frag): Pass `mips_pic' setting to RELAX_ENCODE.
529         (append_insn): Pass `mips_pic' setting to RELAX_BRANCH_ENCODE
530         and RELAX_MICROMIPS_ENCODE, and record it in `fx_tcbit2' of the
531         first fixup created.
532         (md_apply_fix) <BFD_RELOC_16_PCREL_S2>: Use `fx_tcbit2' of the
533         fixup processed rather than `mips_pic' in choosing to relax an
534         out of range branch to a jump.
535         (relaxed_branch_length): Use the `pic' flag of the relaxed frag
536         rather than `mips_pic'.
537         (relaxed_micromips_32bit_branch_length): Likewise.
538         (md_estimate_size_before_relax): Likewise.
539         (md_convert_frag): Likewise.
540
541         * testsuite/gas/mips/option-pic-relax-0.d: New test.
542         * testsuite/gas/mips/option-pic-relax-1.d: New test.
543         * testsuite/gas/mips/option-pic-relax-2.d: New test.
544         * testsuite/gas/mips/option-pic-relax-3.d: New test.
545         * testsuite/gas/mips/option-pic-relax-3a.d: New test.
546         * testsuite/gas/mips/option-pic-relax-4.d: New test.
547         * testsuite/gas/mips/option-pic-relax-5.d: New test.
548         * testsuite/gas/mips/option-pic-relax-2.l: New stderr output.
549         * testsuite/gas/mips/option-pic-relax-3.l: New stderr output.
550         * testsuite/gas/mips/option-pic-relax-4.l: New stderr output.
551         * testsuite/gas/mips/option-pic-relax-5.l: New stderr output.
552         * testsuite/gas/mips/option-pic-relax-0.s: New test source.
553         * testsuite/gas/mips/option-pic-relax-1.s: New test source.
554         * testsuite/gas/mips/option-pic-relax-2.s: New test source.
555         * testsuite/gas/mips/option-pic-relax-3.s: New test source.
556         * testsuite/gas/mips/option-pic-relax-4.s: New test source.
557         * testsuite/gas/mips/option-pic-relax-5.s: New test source.
558         * testsuite/gas/mips/mips.exp: Run the new tests.
559
560 2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
561
562         * testsuite/gas/arc/leave_enter.d: Update test.
563         * testsuite/gas/arc/leave_enter.s: Likewise.
564
565 2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
566
567         * testsuite/gas/arc/b.d: Update test.
568         * testsuite/gas/arc/noargs_hs.d: Likewise.
569
570 2017-04-25  Maciej W. Rozycki  <macro@imgtec.com>
571
572         * config/tc-mips.c (md_convert_frag): Correct
573         BFD_RELOC_MIPS16_16_PCREL_S1 fixup size.
574         * testsuite/gas/mips/mips16-branch-addend-4.d: New test.
575         * testsuite/gas/mips/mips16-branch-addend-5.d: New test.
576         * testsuite/gas/mips/mips16-branch-addend-5.l: New stderr
577         output.
578         * testsuite/gas/mips/mips16-branch-addend-4.s: New test source.
579         * testsuite/gas/mips/mips16-branch-addend-5.s: New test source.
580         * testsuite/gas/mips/mips.exp: Run the new tests.
581
582 2017-04-25  Jose E. Marchesi  <jose.marchesi@oracle.com>
583
584         PR gas/21407
585         * config/tc-sparc.c (md_apply_fix): Do not transform `call'
586         instructions into branch instructions in fixups generating
587         additional relocations.
588         * testsuite/gas/sparc/call-relax.s: New file.
589         * testsuite/gas/sparc/call-relax.d: Likewise.
590         * testsuite/gas/sparc/call-relax-aout.d: Likewise.
591         * testsuite/gas/sparc/sparc.exp: Test call-relax and call-relax-aout.
592
593 2017-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
594
595         * config/tc-arm.c (move_or_literal_pool): Remove code generating MOVS.
596         Forbid MOV.W and MOVW if destination is SP or PC.
597         * testsuite/gas/arm/thumb2_ldr_immediate_highregs_armv6t2.s: Explain
598         expectation of LDR not generating a MOVS for low registers and small
599         constants.  Add tests of MOVW generation.
600         * testsuite/gas/arm/thumb2_ldr_immediate_highregs_armv6t2.d: Update
601         expected disassembly.
602
603 2017-04-22  Alan Modra  <amodra@gmail.com>
604
605         * testsuite/gas/ppc/vle.s: Format.  Add se_rfgi and e_sc.
606         * testsuite/gas/ppc/vle.d: Update.
607
608 2017-04-21  Nick Clifton  <nickc@redhat.com>
609
610         PR binutils/21380
611         * testsuite/gas/aarch64/illegal-3.s: New file.
612         * testsuite/gas/aarch64/illegal-3.d: New file.
613
614 2017-04-11  Alan Modra  <amodra@gmail.com>
615
616         * config/tc-ppc.c (md_show_usage): Delete mention of -mhtm.
617         * testsuite/gas/ppc/htm.d: Pass -mpower8 and -Mpower8.
618
619 2017-04-10  Max Filippov  <jcmvbkbc@gmail.com>
620
621         * config/tc-xtensa.c (xtensa_maybe_create_literal_pool_frag):
622         Initialize lps->frag_count with auto_litpool_limit.
623         (xg_promote_candidate_litpool): New function.
624         (xtensa_move_literals): Extract candidate litpool promotion code
625         into separate function. Call it for all possible found
626         candidates.
627         (xtensa_switch_to_literal_fragment): Drop 'recursive' flag and
628         call to xtensa_mark_literal_pool_location that it guards.
629         Replace it with call to xtensa_maybe_create_literal_pool_frag.
630         Initialize pool_location with created literal pool candidate.
631         * testsuite/gas/xtensa/all.exp: Add new tests.
632         * testsuite/gas/xtensa/auto-litpools-first1.d: New test results.
633         * testsuite/gas/xtensa/auto-litpools-first1.s: New test.
634         * testsuite/gas/xtensa/auto-litpools-first2.d: New test results.
635         * testsuite/gas/xtensa/auto-litpools-first2.s: New test.
636         * testsuite/gas/xtensa/auto-litpools.d: Fix offsets changed due
637         to additional jump instruction.
638
639 2017-04-07  Alan Modra  <amodra@gmail.com>
640
641         * testsuite/gas/ppc/altivec2.s: Delete E6500 vector insns.
642         * testsuite/gas/ppc/altivec2.d: Adjust to suit.
643
644 2017-04-07  Alan Modra  <amodra@gmail.com>
645
646         * testsuite/gas/elf/section12a.d: Don't expect alignment of 1
647         for .mbind.text.
648
649 2017-04-06  Pip Cet  <pipcet@gmail.com>
650
651         * testsuite/gas/wasm32/allinsn.d: Adjust test for disassembler
652         changes.
653         * testsuite/gas/wasm32/disass.d: New test.
654         * testsuite/gas/wasm32/disass.s: New test.
655         * testsuite/gas/wasm32/disass-2.d: New test.
656         * testsuite/gas/wasm32/disass-2.s: New test.
657         * testsuite/gas/wasm32/reloc.d: Adjust test for changed reloc
658         names.
659         * testsuite/gas/wasm32/reloc.s: Update test for changed assembler
660         syntax.
661         * testsuite/gas/wasm32/wasm32.exp: Run new tests.  Expect allinsn
662         test to succeed.
663
664 2017-04-04  H.J. Lu  <hongjiu.lu@intel.com>
665
666         * NEWS: Mention support for ELF SHF_GNU_MBIND.
667         * config/obj-elf.c (section_match): New.
668         (get_section): Match both sh_info and group name.
669         (obj_elf_change_section): Add argument for sh_info.  Pass both
670         sh_info and group name to get_section. Issue an error for
671         SHF_GNU_MBIND section without SHF_ALLOC.  Set sh_info.
672         (obj_elf_parse_section_letters): Set SHF_GNU_MBIND for 'd'.
673         (obj_elf_section): Support SHF_GNU_MBIND section info.
674         * config/obj-elf.h (obj_elf_change_section): Add argument for
675         sh_info.
676         * config/tc-arm.c (start_unwind_section): Pass 0 as sh_info to
677         obj_elf_change_section.
678         * config/tc-ia64.c (obj_elf_vms_common): Likewise.
679         * config/tc-microblaze.c (microblaze_s_data): Likewise.
680         (microblaze_s_sdata): Likewise.
681         (microblaze_s_rdata): Likewise.
682         (microblaze_s_bss): Likewise.
683         * config/tc-mips.c (s_change_section): Likewise.
684         * config/tc-msp430.c (msp430_profiler): Likewise.
685         * config/tc-rx.c (parse_rx_section): Likewise.
686         * config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
687         * doc/as.texinfo: Document 'd' for SHF_GNU_MBIND.
688         * testsuite/gas/elf/elf.exp: Run section12a, section12b and
689         section13.
690         * testsuite/gas/elf/section10.d: Updated.
691         * testsuite/gas/elf/section10.s: Likewise.
692         * testsuite/gas/elf/section12.s: New file.
693         * testsuite/gas/elf/section12a.d: Likewise.
694         * testsuite/gas/elf/section12b.d: Likewise.
695         * testsuite/gas/elf/section13.l: Likewise.
696         * testsuite/gas/elf/section13.d: Likewise.
697         * testsuite/gas/elf/section13.s: Likewise.
698
699 2017-04-03  Palmer Dabbelt  <palmer@dabbelt.com>
700
701         * config/tc-riscv.c (riscv_clear_subsets): Cast argument to free to
702         avoid const warnings.
703
704 2017-03-30  Palmer Dabbelt  <palmer@dabbelt.com>
705
706         * config/tc-riscv.c (riscv_clear_subsets): New function.
707         (riscv_add_subset): Call riscv_clear_subsets and riscv_set_rvc to
708         clear RVC when it's been previously set.
709
710 2017-03-31  Nick Clifton  <nickc@redhat.com>
711
712         PR gas/21333
713         * config/tc-s390.c (tc_s390_fix_adjustable): Allow non pc-relative
714         fixups in mergeable sections to be adjusted.
715
716 2017-03-30  Pip Cet  <pipcet@gmail.com>
717
718         * config/tc-wasm32.h: New file: Add WebAssembly assembler target.
719         * config/tc-wasm32.c: New file: Add WebAssembly assembler target.
720         * Makefile.am: Add WebAssembly assembler target.
721         * configure.tgt: Add WebAssembly assembler target.
722         * doc/c-wasm32.texi: New file: Start documenting WebAssembly
723         assembler.
724         * doc/all.texi: Define WASM32.
725         * doc/as.texinfo: Add WebAssembly entries.
726         * NEWS: Mention the new support.
727         * Makefile.in: Regenerate.
728         * po/gas.pot: Regenerate.
729         * po/POTFILES.in: Regenerate.
730         * testsuite/gas/wasm32: New directory.
731         * testsuite/gas/wasm32/allinsn.d: New file.
732         * testsuite/gas/wasm32/allinsn.s: New file.
733         * testsuite/gas/wasm32/illegal.l: New file.
734         * testsuite/gas/wasm32/illegal.s: New file.
735         * testsuite/gas/wasm32/illegal-2.l: New file.
736         * testsuite/gas/wasm32/illegal-2.s: New file.
737         * testsuite/gas/wasm32/illegal-3.l: New file.
738         * testsuite/gas/wasm32/illegal-3.s: New file.
739         * testsuite/gas/wasm32/illegal-4.l: New file.
740         * testsuite/gas/wasm32/illegal-4.s: New file.
741         * testsuite/gas/wasm32/illegal-5.l: New file.
742         * testsuite/gas/wasm32/illegal-5.s: New file.
743         * testsuite/gas/wasm32/illegal-6.l: New file.
744         * testsuite/gas/wasm32/illegal-6.s: New file.
745         * testsuite/gas/wasm32/illegal-7.l: New file.
746         * testsuite/gas/wasm32/illegal-7.s: New file.
747         * testsuite/gas/wasm32/illegal-8.l: New file.
748         * testsuite/gas/wasm32/illegal-8.s: New file.
749         * testsuite/gas/wasm32/illegal-9.l: New file.
750         * testsuite/gas/wasm32/illegal-9.s: New file.
751         * testsuite/gas/wasm32/illegal-10.l: New file.
752         * testsuite/gas/wasm32/illegal-10.s: New file.
753         * testsuite/gas/wasm32/illegal-11.l: New file.
754         * testsuite/gas/wasm32/illegal-11.s: New file.
755         * testsuite/gas/wasm32/illegal-12.l: New file.
756         * testsuite/gas/wasm32/illegal-12.s: New file.
757         * testsuite/gas/wasm32/illegal-13.l: New file.
758         * testsuite/gas/wasm32/illegal-13.s: New file.
759         * testsuite/gas/wasm32/illegal-14.l: New file.
760         * testsuite/gas/wasm32/illegal-14.s: New file.
761         * testsuite/gas/wasm32/illegal-15.l: New file.
762         * testsuite/gas/wasm32/illegal-15.s: New file.
763         * testsuite/gas/wasm32/illegal-16.l: New file.
764         * testsuite/gas/wasm32/illegal-16.s: New file.
765         * testsuite/gas/wasm32/illegal-17.l: New file.
766         * testsuite/gas/wasm32/illegal-17.s: New file.
767         * testsuite/gas/wasm32/illegal-18.l: New file.
768         * testsuite/gas/wasm32/illegal-18.s: New file.
769         * testsuite/gas/wasm32/illegal-19.l: New file.
770         * testsuite/gas/wasm32/illegal-19.s: New file.
771         * testsuite/gas/wasm32/illegal-20.l: New file.
772         * testsuite/gas/wasm32/illegal-20.s: New file.
773         * testsuite/gas/wasm32/illegal-21.l: New file.
774         * testsuite/gas/wasm32/illegal-21.s: New file.
775         * testsuite/gas/wasm32/illegal-22.l: New file.
776         * testsuite/gas/wasm32/illegal-22.s: New file.
777         * testsuite/gas/wasm32/illegal-24.l: New file.
778         * testsuite/gas/wasm32/illegal-24.s: New file.
779         * testsuite/gas/wasm32/illegal-25.l: New file.
780         * testsuite/gas/wasm32/illegal-25.s: New file.
781         * testsuite/gas/wasm32/reloc.d: New file.
782         * testsuite/gas/wasm32/reloc.s: New file.
783         * testsuite/gas/wasm32/wasm32.exp: New tests for WebAssembly
784         architecture.
785
786 2017-03-29  Alan Modra  <amodra@gmail.com>
787
788         * config/tc-ppc.c (md_parse_option): Reject -mraw.
789
790 2017-03-27  Alan Modra  <amodra@gmail.com>
791
792         PR 21303
793         * testsuite/gas/ppc/pr21303.d,
794         * testsuite/gas/ppc/pr21303.s: New test
795         * testsuite/gas/ppc/ppc.exp: Run it.
796
797 2017-03-27  Rinat Zelig  <rinat@mellanox.com>
798
799         * testsuite/gas/arc/nps400-12.s: New file.
800         * testsuite/gas/arc/nps400-12.d: New file.
801
802 2017-03-24  Thomas preud'homme  <thomas.preudhomme@arm.com>
803
804         * config/tc-arm.: (md_begin): Set selected_cpu from *mcpu_cpu_opt when
805         CPU_DEFAULT is defined.
806
807 2017-03-21  Palmer Dabbbelt  <palmer@dabbelt.com>
808
809         * config/tc-riscv.c (md_show_usage): Remode defuct -m32, -m64,
810         -msoft-float, -mhard-float, -mno-rvc, and -mrvc options; and don't
811         print an invalid default ISA string.
812         * doc/c-riscv.texi (OPTIONS): Add -fpic and -fno-pic options.
813
814 2017-03-22  Max Filippov  <jcmvbkbc@gmail.com>
815
816         * config/tc-xtensa.c (xtensa_relax_frag): Change fx_size of the
817         reassigned fixup to size of jump instruction (3) and fx_r_type
818         to BFD_RELOC_XTENSA_SLOT0_OP, as there's only one slot.
819         (add_jump_to_trampoline): Search
820         origfrag->tc_frag_data.slot_symbols for the slot with non-NULL
821         symbol and use that slot instead of slot 0.
822
823 2017-03-21  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
824
825         * config/tc-s390.c (s390_parse_cpu): Remove S390_INSTR_FLAG_VX2
826         from cpu_table.  Remove vx2, and novx2 from cpu_flags.
827
828 2017-03-21  Rinat Zelig  <rinat@mellanox.com>
829
830         * testsuite/gas/arc/nps400-11.s: New file.
831         * testsuite/gas/arc/nps400-11.d: New file.
832
833 2017-03-20  Nick Clifton  <nickc@redhat.com>
834
835         * doc/as.texinfo (2byte): Note that if no expressions are present
836         the directive does nothing.  Emphasize that the output is
837         unaligned, and that this can have an effect on the relocations
838         generated.
839         (4byte): Simplify description.  Refer back to the 2byte
840         description.
841         (8byte): Likewise.
842
843 2017-03-20  Richard Earnshaw  <rearnsha@arm.com>
844
845         * config/tc-arm.c (arm_fpus): Note entires that should not be
846         documented.
847         * doc/c-arm.texi (-mfpu): Add missing FPU entries for neon-vfpv3 and
848         neon-fp16.  Fix spelling error.
849
850 2017-03-20  Richard Earnshaw  <rearnsha@arm.com>
851
852         * config/tc-arm.c (arm_fpus): Add neon-vfpv3 as an alias for neon.
853
854 2017-03-16  Rinat Zelig  <rinat@mellanox.com>
855
856         * config/tc-arc.c (assemble_insn): Only handle ".t" and ".nt"
857         specially for ARCv2.
858
859 2017-03-14  Kito Cheng  <kito.cheng@gmail.com>
860
861         * config/tc-riscv.c (validate_riscv_insn): Add 'o' RVC immediate
862         encoding format, which can accept 0-valued immediates.
863         (riscv_ip): Likewise.
864
865 2017-03-15  Nick Clifton  <nickc@redhat.com>
866
867         * config/tc-riscv.c (riscv_pre_output_hook): Fix compile time
868         warning about discarding a const qualifier.
869
870 2017-03-02  Kuan-Lin Chen  <rufus@andestech.com>
871
872         * config/tc-riscv.h (HWARD2_USE_FIXED_ADVANCE_PC): New define.
873
874 2017-03-02  Kuan-Lin Chen  <rufus@andestech.com>
875
876         * config/tc-riscv.c (md_apply_fix): Set fx_frag and
877         fx_next->fx_frag for CFA_advance_loc relocations.
878
879 2017-03-02  Kuan-Lin Chen  <rufus@andestech.com>
880
881         * config/tc-riscv.c (md_apply_fix): Compute the correct offsets
882         for CFA relocations.
883
884 2017-03-13  Nick Clifton  <nickc@redhat.com>
885
886         PR binutils/21202
887         * config/tc-aarch64.c (reloc_table): Rename
888         BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC to
889         BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.  Rname
890         BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC to
891         BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
892         (md_apply_fix): Likewise.
893         (aarch64_force_relocation): Likewise.
894         * testsuite/gas/aarch64/tls.d: Update regexp.
895
896 2017-03-10  Tobin C. Harding  <me@tobin.cc>
897             Nick Clifton  <nickc@redhat.com>
898
899         * doc/as.texinfo (2byte): Tidy up wording.  Add note that
900         overlarge values will produce a warning message and be trunacted.
901         (4byte): Likewise.
902
903 2017-03-09  H.J. Lu  <hongjiu.lu@intel.com>
904
905         * config/tc-i386.c (_i386_insn): Add dir_encoding and
906         vec_encoding.  Remove swap_operand and need_vrex.
907         (extra_symbol_chars): Add '}'.
908         (md_begin): Mark '}' with LEX_BEGIN_NAME.  Allow '}' in
909         mnemonic.
910         (build_vex_prefix): Don't use 2-byte VEX encoding with
911         {vex3}.  Check dir_encoding and load.
912         (parse_insn): Check pseudo prefixes.  Set dir_encoding.
913         (VEX_check_operands): Likewise.
914         (match_template): Check dir_encoding and load.
915         (parse_real_register): Set vec_encoding instead of need_vrex.
916         (parse_register): Likewise.
917         * doc/c-i386.texi: Document {disp8}, {disp32}, {load}, {store},
918         {vex2}, {vex3} and {evex}.  Remove ".s", ".d8" and ".d32"
919         * testsuite/gas/i386/i386.exp: Run pseudos and x86-64-pseudos.
920         * testsuite/gas/i386/pseudos.d: New file.
921         * testsuite/gas/i386/pseudos.s: Likewise.
922         * testsuite/gas/i386/x86-64-pseudos.d: Likewise.
923         * testsuite/gas/i386/x86-64-pseudos.s: Likewise.
924
925 2017-03-08  Peter Bergner <bergner@vnet.ibm.com>
926
927         * testsuite/gas/ppc/altivec2.d (as): Use the -mpower8 option.
928         (objdump): Use the -Mpower8 option.
929
930 2017-03-08  Peter Bergner <bergner@vnet.ibm.com>
931
932         * testsuite/gas/ppc/power9.d <lnia> New test.
933         * testsuite/gas/ppc/power9.s: Likewise.
934
935 2017-03-07  Alan Modra  <amodra@gmail.com>
936
937         * doc/as.texinfo (2byte, 4byte, 8byte): Correct @section placement.
938
939 2017-03-07  Tobin C. Harding  <me@tobin.cc>
940             Alan Modra  <amodra@gmail.com>
941
942         * doc/as.texinfo (2byte, 4byte, 8byte): Document.
943         * doc/c-arm.texi (2byte, 4byte, 8byte): Omit if ELF.
944
945 2017-03-06  H.J. Lu  <hongjiu.lu@intel.com>
946
947         * config/tc-i386.c (cpu_arch): Add .cet.
948         * doc/c-i386.texi: Document cet.
949         * testsuite/gas/i386/cet-intel.d: New file.
950         * testsuite/gas/i386/cet.d: Likewise.
951         * testsuite/gas/i386/cet.s: Likewise.
952         * testsuite/gas/i386/x86-64-cet-intel.d: Likewise.
953         * testsuite/gas/i386/x86-64-cet.d: Likewise.
954         * testsuite/gas/i386/x86-64-cet.s: Likewise.
955         * testsuite/gas/i386/i386.exp: Run Intel CET tests.
956
957 2017-03-06  H.J. Lu  <hongjiu.lu@intel.com>
958
959         * testsuite/gas/i386/x86-64-mpx-inval-2.s: Force a good alignment.
960         * testsuite/gas/i386/x86-64-mpx-inval-2.l: Expect [0-9A-F]+.
961
962 2017-03-06  Alan Modra  <amodra@gmail.com>
963
964         * dw2gencfi.c (encoding_size): Return unsigned int.
965         (emit_expr_encoded): Assert size matches reloc bitsize.
966         (output_fde): Use unsigned for offset_size and addr_size.  Set
967         addr_size earlier and use in place of constant 4 and uses of
968         DWARF2_FDE_RELOC_SIZE.  Assert it matches reloc bitsize.
969
970 2017-03-06  Alan Modra  <amodra@gmail.com>
971
972         * dw2gencfi.c: Wrap overlong lines.  Add parens for emacs
973         auto reformat.  Formatting and whitespace fixes.
974
975 2017-03-05  Mark Wielaard  <mark@klomp.org>
976
977         * dwarf2dbg.c (out_debug_abbrev): Use DW_FORM_strp instead of
978         DW_FORM_string for DW_AT_name, DW_AT_comp_dir and DW_AT_producer.
979         (out_debug_info): Accept symbols to name, comp_dir and producer in
980         the .debug_str section and emit those offsets not full strings.
981         (out_debug_str): New function that outputs the strings for name,
982         comp_dir and producer in .debug_str and generates symbols to those
983         strings.
984         (out_debug_line): Create a .debug_str section if necessary and call
985         out_debug_str before calling out_debug_info.
986         * testsuite/gas/aarch64/dwarf.d: Add extra section symbol to expected
987         output.
988
989 2017-03-02  Maciej W. Rozycki  <macro@imgtec.com>
990
991         * write.c (relax_segment) <rs_org>: Only bail out if the fixed
992         part of the frag has overrun the location requested.
993
994         * testsuite/gas/all/org-1.d: New test.
995         * testsuite/gas/all/org-2.d: New test.
996         * testsuite/gas/all/org-3.d: New test.
997         * testsuite/gas/all/org-4.d: New test.
998         * testsuite/gas/all/org-5.d: New test.
999         * testsuite/gas/all/org-6.d: New test.
1000         * testsuite/gas/all/org-1.l: New stderr output.
1001         * testsuite/gas/all/org-2.l: New stderr output.
1002         * testsuite/gas/all/org-3.l: New stderr output.
1003         * testsuite/gas/all/org-1.s: New test source.
1004         * testsuite/gas/all/org-2.s: New test source.
1005         * testsuite/gas/all/org-3.s: New test source.
1006         * testsuite/gas/all/org-4.s: New test source.
1007         * testsuite/gas/all/org-5.s: New test source.
1008         * testsuite/gas/all/org-6.s: New test source.
1009         * testsuite/gas/all/gas.exp: Run the new tests.
1010
1011         * testsuite/gas/mips/org-1.d: New test.
1012         * testsuite/gas/mips/org-2.d: New test.
1013         * testsuite/gas/mips/org-3.d: New test.
1014         * testsuite/gas/mips/org-4.d: New test.
1015         * testsuite/gas/mips/org-5.d: New test.
1016         * testsuite/gas/mips/org-6.d: New test.
1017         * testsuite/gas/mips/org-7.d: New test.
1018         * testsuite/gas/mips/org-8.d: New test.
1019         * testsuite/gas/mips/org-9.d: New test.
1020         * testsuite/gas/mips/org-10.d: New test.
1021         * testsuite/gas/mips/org-11.d: New test.
1022         * testsuite/gas/mips/org-12.d: New test.
1023         * testsuite/gas/mips/org-1.l: New stderr output.
1024         * testsuite/gas/mips/org-4.l: New stderr output.
1025         * testsuite/gas/mips/org-5.l: New stderr output.
1026         * testsuite/gas/mips/org-6.l: New stderr output.
1027         * testsuite/gas/mips/org-10.l: New stderr output.
1028         * testsuite/gas/mips/org-1.s: New test source.
1029         * testsuite/gas/mips/org-2.s: New test source.
1030         * testsuite/gas/mips/org-3.s: New test source.
1031         * testsuite/gas/mips/org-4.s: New test source.
1032         * testsuite/gas/mips/org-5.s: New test source.
1033         * testsuite/gas/mips/org-6.s: New test source.
1034         * testsuite/gas/mips/org-7.s: New test source.
1035         * testsuite/gas/mips/org-8.s: New test source.
1036         * testsuite/gas/mips/org-9.s: New test source.
1037         * testsuite/gas/mips/org-10.s: New test source.
1038         * testsuite/gas/mips/org-11.s: New test source.
1039         * testsuite/gas/mips/org-12.s: New test source.
1040         * testsuite/gas/mips/mips.exp: Run the new tests.
1041
1042 2017-03-01  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1043
1044         * doc/c-aarch64.texi (AArch64 Extensions): Document rcpc.
1045
1046 2017-02-28  Jan Beulich  <jbeulich@suse.com>
1047
1048         * testsuite/gas/i386/x86-64-avx.s: Add suffixed variants of
1049         VPCMPESTR{I,M}.
1050         * testsuite/gas/i386/x86-64-sse2avx.s: Likewise.
1051         * testsuite/gas/i386/x86-64-sse4_2.s: Add suffixed variants
1052         of PCMPESTR{I,M}.
1053         * testsuite/gas/i386/ilp32/x86-64-avx-intel.d: Likewise.
1054         * testsuite/gas/i386/ilp32/x86-64-avx.d: Likewise.
1055         * testsuite/gas/i386/ilp32/x86-64-sse2avx.d: Likewise.
1056         * testsuite/gas/i386/ilp32/x86-64-sse4_2-intel.d: Likewise.
1057         * testsuite/gas/i386/ilp32/x86-64-sse4_2.d: Likewise.
1058         * testsuite/gas/i386/x86-64-avx-intel.d: Likewise.
1059         * testsuite/gas/i386/x86-64-avx.d: Likewise.
1060         * testsuite/gas/i386/x86-64-sse2avx.d: Likewise.
1061         * testsuite/gas/i386/x86-64-sse4_2-intel.d: Likewise.
1062         * testsuite/gas/i386/x86-64-sse4_2.d: Likewise.
1063
1064 2017-02-28  Alan Modra  <amodra@gmail.com>
1065
1066         * config/tc-nios2.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define.
1067
1068 2017-02-28  Alan Modra  <amodra@gmail.com>
1069
1070         * config/tc-ppc.c (md_assemble): Use BFD_RELOC_PPC_16DX_HA for addpcis.
1071         (md_apply_fix): Remove fx_subsy check.  Move code converting to
1072         pcrel reloc earlier and handle BFD_RELOC_PPC_16DX_HA.  Remove code
1073         emiiting errors on seeing fx_pcrel set on unexpected relocs, as
1074         that is done now by the generic code via..
1075         * config/tc-ppc.h (TC_FORCE_RELOCATION_SUB_LOCAL): ..this. Define.
1076         (TC_VALIDATE_FIX_SUB): Define.
1077
1078 2017-02-28  Maciej W. Rozycki  <macro@imgtec.com>
1079
1080         * testsuite/gas/mips/jalr4.s: Add `jalr $0, $25' instructions.
1081         * testsuite/gas/mips/jalr4.d: Adjust accordingly.  Remove MIPSr6
1082         encoding patterns.
1083         * testsuite/gas/mips/jalr4-n64.d: Likewise.
1084         * testsuite/gas/mips/mipsr6@jalr4.d: New test.
1085         * testsuite/gas/mips/mipsr6@jalr4-n32.d: New test.
1086         * testsuite/gas/mips/mipsr6@jalr4-n64.d: New test.
1087
1088 2017-02-25  Alan Modra  <amodra@gmail.com>
1089
1090         * testsuite/gas/elf/strtab.s: Don't put directives on first
1091         column or continuation with labels not in first column.
1092
1093 2017-02-24  Richard Sandiford  <richard.sandiford@arm.com>
1094
1095         * doc/c-aarch64.texi: Document that sve implies fp16, simd and compnum.
1096         * config/tc-aarch64.c (parse_vector_type_for_operand): Allow .q
1097         to be used with SVE registers.
1098         (parse_operands): Handle new SVE operands.
1099         (aarch64_features): Make "sve" require F16 rather than FP.  Also
1100         require COMPNUM.
1101         * testsuite/gas/aarch64/sve.s: Add tests for new instructions.
1102         Include compnum tests.
1103         * testsuite/gas/aarch64/sve.d: Update accordingly.
1104         * testsuite/gas/aarch64/sve-invalid.s: Add tests for new instructions.
1105         * testsuite/gas/aarch64/sve-invalid.l: Update accordingly.  Also
1106         update expected output for new FMOV and MOV alternatives.
1107
1108 2017-02-24  Richard Sandiford  <richard.sandiford@arm.com>
1109
1110         * doc/c-aarch64.texi: Add a "compnum" entry.
1111         * config/tc-aarch64.c (aarch64_features): Likewise,
1112         * testsuite/gas/aarch64/advsimd-compnum.s: New test.
1113         * testsuite/gas/aarch64/advsimd-compnum.d: Likewise.
1114
1115 2017-02-24  Jan Beulich  <jbeulich@suse.com>
1116
1117         * testsuite/gas/i386/opcode.s: Add alternative TEST forms.
1118         * testsuite/gas/i386/x86-64-opcode.s: Likewise.
1119         * testsuite/gas/i386/opcode.d: Adjust accordingly.
1120         * testsuite/gas/i386/opcode-intel.d: Likewise.
1121         * testsuite/gas/i386/x86-64-opcode.d: Likewise.
1122         * testsuite/gas/i386/ilp32/x86-64-opcode.d: Likewise.
1123
1124 2017-02-24  Sheldon Lobo  <sheldon.lobo@oracle.com>
1125
1126         Test cases for the architecture level aware SPARC ASI work.
1127         * gas/testsuite/gas/sparc/sparc.exp: 2 new tests
1128         * gas/testsuite/gas/sparc/asi-bump-warn.s: New test
1129         * gas/testsuite/gas/sparc/asi-bump-warn.l: Likewise
1130         * gas/testsuite/gas/sparc/asi-arch-error.s: Likewise
1131         * gas/testsuite/gas/sparc/asi-arch-error.l: Likewise
1132
1133 2017-02-23  Maciej W. Rozycki  <macro@imgtec.com>
1134
1135         * testsuite/gas/mips/jalr4.d: New test.
1136         * testsuite/gas/mips/jalr4-n32.d: New test.
1137         * testsuite/gas/mips/jalr4-n64.d: New test.
1138         * testsuite/gas/mips/jalr4.s: New test source.
1139         * testsuite/gas/mips/mips.exp: Run the new tests.
1140
1141 2017-02-23  Sheldon Lobo <sheldon.lobo@oracle.com>
1142
1143         Add support for associating SPARC ASIs with an architecture level.
1144         * config/tc-sparc.c (parse_sparc_asi): New encode SPARC ASIs.
1145
1146 2017-02-23  Jan Beulich  <jbeulich@suse.com>
1147
1148         * testsuite/gas/all/err-sizeof.s: Don't use sums or differences
1149         of symbols as expression.
1150
1151 2017-02-23  Jan Beulich  <jbeulich@suse.com>
1152
1153         * gas/testsuite/gas/i386/x86-64-mpx-inval-2.d: Add 32- and 16-
1154         bit GPR forms of BNDCL, BNDCU, and BNDCN. Add RSP-as-index
1155         Intel syntax forms of BNDMK, BNDSTX, and BNDLDX.
1156         * gas/testsuite/gas/i386/x86-64-mpx-inval-2.l: Adjust.
1157
1158 2017-02-22  Maciej W. Rozycki  <macro@imgtec.com>
1159
1160         * ecoff.c (ecoff_directive_end) [md_flush_pending_output]: Call
1161         `md_flush_pending_output'.
1162         * config/tc-mips.c (s_mips_end) [md_flush_pending_output]: Call
1163         `md_flush_pending_output' unconditionally.
1164         * testsuite/gas/mips/debug-label-end-1.d: New test.
1165         * testsuite/gas/mips/debug-label-end-2.d: New test.
1166         * testsuite/gas/mips/debug-label-end-3.d: New test.
1167         * testsuite/gas/mips/debug-label-end.s: New test source.
1168         * testsuite/gas/mips/mips.exp: Run the new tests.
1169
1170 2017-02-22  Hans-Peter Nilsson  <hp@axis.com>
1171
1172         * testsuite/gas/all/err-sizeof.s: Include cris*-*-* in the list of
1173         targets yielding an error message matching "too complex".
1174
1175 2017-02-22  Nick Clifton  <nickc@redhat.com>
1176
1177         * testsuite/gas/arm/vcmp-noprefix-imm.d: Skip for non-ELF targets.
1178
1179 2017-02-21  Jan Beulich  <jbeulich@suse.com>
1180
1181         * expr.c (operand): Handle missing operand to .startof.() and
1182         .sizeof.().
1183         * testsuite/gas/all/err-sizeof.s: New.
1184
1185 2017-02-20  Alan Modra  <amodra@gmail.com>
1186
1187         PR 21118
1188         * NEWS: Revise powerpc register check.
1189         * config/tc-ppc.c (ppc_optimize_expr, md_assemble): Make "invalid
1190         register expression" a warning.
1191
1192 2017-02-17  Maciej W. Rozycki  <macro@imgtec.com>
1193
1194         * ecoff.c (ecoff_directive_ent, add_procedure): Handle `.aent'.
1195         * config/obj-ecoff.c (obj_pseudo_table): Add "aent" entry.
1196         * config/obj-elf.c (ecoff_debug_pseudo_table): Likewise.
1197         * testsuite/gas/mips/aent-2.d: New test.
1198         * testsuite/gas/mips/aent-mdebug.d: New test.
1199         * testsuite/gas/mips/aent-mdebug-2.d: New test.
1200         * testsuite/gas/mips/mips.exp: Run the new tests.
1201
1202 2017-02-15  Richard Sandiford  <richard.sandiford@arm.com>
1203
1204         * testsuite/gas/aarch64/sve-sysreg.s,
1205         testsuite/gas/aarch64/sve-sysreg.d,
1206         testsuite/gas/aarch64/sve-sysreg-invalid.d,
1207         testsuite/gas/aarch64/sve-sysreg-invalid.l: New tests.
1208
1209 2017-02-15  Richard Sandiford  <richard.sandiford@arm.com>
1210
1211         * doc/c-aarch64.texi: Fix sve entry.
1212
1213 2017-02-15  Claudiu Zissulescu  <claziss@synopsys.com>
1214
1215         * config/tc-arc.c (md_convert_frag): Remove @pcl relocation
1216         information from input expression.
1217         (assemble_insn): Make sure pcrel is correctly set.
1218         (arc_pcrel_adjust): Compensate for PCL rounding.
1219         * testsuite/gas/arc/relax-add01.d: New file.
1220         * testsuite/gas/arc/relax-add01.s: Likewise.
1221         * testsuite/gas/arc/relax-add02.d: Likewise.
1222         * testsuite/gas/arc/relax-add02.s: Likewise.
1223         * testsuite/gas/arc/relax-add03.d: Likewise.
1224         * testsuite/gas/arc/relax-add03.s: Likewise.
1225         * testsuite/gas/arc/relax-add04.d: Likewise.
1226         * testsuite/gas/arc/relax-add04.s: Likewise.
1227         * testsuite/gas/arc/relax-ld01.d: Likewise.
1228         * testsuite/gas/arc/relax-ld01.s: Likewise.
1229         * testsuite/gas/arc/relax-ld02.d: Likewise.
1230         * testsuite/gas/arc/relax-ld02.s: Likewise.
1231         * testsuite/gas/arc/relax-mov01.d: Likewise.
1232         * testsuite/gas/arc/relax-mov01.s: Likewise.
1233         * testsuite/gas/arc/relax-mov02.d: Likewise.
1234         * testsuite/gas/arc/relax-mov02.s: Likewise.
1235         * testsuite/gas/arc/relax-mpy01.d: Likewise.
1236         * testsuite/gas/arc/relax-mpy01.s: Likewise.
1237         * testsuite/gas/arc/relax-sub01.d: Likewise.
1238         * testsuite/gas/arc/relax-sub01.s: Likewise.
1239         * testsuite/gas/arc/relax-sub02.d: Likewise.
1240         * testsuite/gas/arc/relax-sub02.s: Likewise.
1241         * testsuite/gas/arc/relax-sub03.d: Likewise.
1242         * testsuite/gas/arc/relax-sub03.s: Likewise.
1243         * testsuite/gas/arc/relax-sub04.d: Likewise.
1244         * testsuite/gas/arc/relax-sub04.s: Likewise.
1245
1246 2017-02-09  Vineet Gupta <vgupta@synopsys.com>
1247
1248         * testsuite/gas/arc/st.d: Update for 0xe having a name now
1249
1250 2017-02-14  Alan Modra  <amodra@gmail.com>
1251
1252         PR 21118
1253         * NEWS: Mention powerpc register checks.
1254         * config/tc-ppc.c (struct pd_reg): Make value a short.  Add flags.
1255         (pre_defined_registers): Delete fpscr and pmr entries.  Set
1256         register type in flags.
1257         (cr_names): Set type in flags.
1258         (reg_name_search): Return pointer to struct pd_reg rather than value.
1259         (register_name): Adjust to suit.  Set X_md from flags.
1260         (ppc_parse_name): Likewise.
1261         (ppc_optimize_expr): New function.
1262         (md_assemble): Verify expresion reg flags match operand.
1263         * config/tc-ppc.h (md_optimize_expr): Define.
1264         (ppc_optimize_expr): Declare.
1265
1266 2017-02-14  Alan Modra  <amodra@gmail.com>
1267
1268         * testsuite/gas/ppc/cell.s: Correct invalid registers.
1269         * testsuite/gas/ppc/vle-simple-1.s: Likewise.
1270         * testsuite/gas/ppc/vle-simple-2.s: Likewise.
1271
1272 2017-02-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1273
1274         * config/tc-arm.c (parse_ifimm_zero): Make prefix optional in unified
1275         syntax.
1276         * testsuite/gas/arm/vcmp-noprefix-imm.d: New file.
1277         * testsuite/gas/arm/vcmp-noprefix-imm.s: New file.
1278
1279 2017-02-10  Nicholas Piggin  <npiggin@gmail.com>
1280
1281         * testsuite/gas/ppc/power9.d <scv, rfscv>: New tests.
1282
1283 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
1284
1285         * doc/as.texinfo (Overview): Select MIPS options for man page
1286         inclusion.
1287
1288 2017-01-30  Maciej W. Rozycki  <macro@imgtec.com>
1289
1290         * config/tc-mips.c (mips_ignore_branch_isa): New variable.
1291         (options): Add OPTION_IGNORE_BRANCH_ISA and
1292         OPTION_NO_IGNORE_BRANCH_ISA enum values.
1293         (md_longopts): Add "mignore-branch-isa" and
1294         "mno-ignore-branch-isa" options.
1295         (md_parse_option): Handle OPTION_IGNORE_BRANCH_ISA and
1296         OPTION_NO_IGNORE_BRANCH_ISA.
1297         (fix_bad_cross_mode_branch_p): Return FALSE if
1298         `mips_ignore_branch_isa' has been set.
1299         (md_show_usage): Add `-mignore-branch-isa' and
1300         `-mno-ignore-branch-isa'.
1301
1302         * doc/as.texinfo (Target MIPS options): Add
1303         `-mignore-branch-isa' and `-mno-ignore-branch-isa' options.
1304         (-mignore-branch-isa, -mno-ignore-branch-isa): New options.
1305         * doc/c-mips.texi (MIPS Options): Add `-mignore-branch-isa' and
1306         `-mno-ignore-branch-isa' options.
1307
1308         * testsuite/gas/mips/branch-local-ignore-2.d: New test.
1309         * testsuite/gas/mips/branch-local-ignore-3.d: New test.
1310         * testsuite/gas/mips/branch-local-ignore-n32-2.d: New test.
1311         * testsuite/gas/mips/branch-local-ignore-n32-3.d: New test.
1312         * testsuite/gas/mips/branch-local-ignore-n64-2.d: New test.
1313         * testsuite/gas/mips/branch-local-ignore-n64-3.d: New test.
1314         * testsuite/gas/mips/mips.exp: Run the new tests.
1315
1316 2017-01-30  Maciej W. Rozycki  <macro@imgtec.com>
1317
1318         * testsuite/gas/mips/branch-local-2.d: New test.
1319         * testsuite/gas/mips/branch-local-3.d: New test.
1320         * testsuite/gas/mips/branch-local-n32-2.d: New test.
1321         * testsuite/gas/mips/branch-local-n32-3.d: New test.
1322         * testsuite/gas/mips/branch-local-n64-2.d: New test.
1323         * testsuite/gas/mips/branch-local-n64-3.d: New test.
1324         * testsuite/gas/mips/mips.exp: Fold corresponding list tests
1325         into the new tests.
1326
1327 2017-01-27  Alexis Deruell  <alexis.deruelle@gmail.com>
1328
1329         PR 21056
1330         * testsuite/gas/tic6x/insns16-parallel.s: New test case.
1331         * testsuite/gas/tic6x/insns16-parallel.d: New test driver.
1332
1333 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1334
1335         * configure.tgt (aarch64*-*-rtems*): Remove.
1336         (bfin-*-rtems*): Likewise.
1337         (h8300-*-rtems*): Likewise.
1338         (i386-*-rtems*): Likewise.
1339         (m32c-*-rtems*): Likewise.
1340         (m32r-*-rtems*): Likewise.
1341         (m68k-*-rtems*): Likewise.
1342         (mips-*-rtems*): Likewise.
1343         (nios2-*-rtems*): Likewise.
1344         (ppc-*-rtems*): Likewise.
1345         (sh-*-rtems*): Likewise.
1346         (sparc64-*-rtems*): Likewise.
1347         (sparc-*-rtems*): Likewise.
1348         (*-*-rtems*) Use ELF format.
1349
1350 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1351
1352         * configure.tgt (arm-*-rtems*): Move to (arm-*-eabi*).
1353
1354 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1355
1356         * configure.tgt (sh-*-rtemscoff*): Remove.
1357
1358 2017-01-24  Sebastian Huber <sebastian.huber@embedded-brains.de>
1359
1360         * configure.tgt (riscv*-*-*): Remove em=linux.
1361
1362 2017-01-23  Sebastian Rasmussen  <sebras@gmail.com>
1363
1364         PR gas/21072
1365         * asintl.h: Fix spelling mistakes and typos.
1366         * atof-generic.c: Likewise.
1367         * bit_fix.h: Likewise.
1368         * config/atof-ieee.c: Likewise.
1369         * config/bfin-defs.h: Likewise.
1370         * config/bfin-parse.y: Likewise.
1371         * config/obj-coff-seh.h: Likewise.
1372         * config/obj-coff.c: Likewise.
1373         * config/obj-evax.c: Likewise.
1374         * config/obj-macho.c: Likewise.
1375         * config/rx-parse.y: Likewise.
1376         * config/tc-aarch64.c: Likewise.
1377         * config/tc-alpha.c: Likewise.
1378         * config/tc-arc.c: Likewise.
1379         * config/tc-arm.c: Likewise.
1380         * config/tc-avr.c: Likewise.
1381         * config/tc-bfin.c: Likewise.
1382         * config/tc-cr16.c: Likewise.
1383         * config/tc-cris.c: Likewise.
1384         * config/tc-crx.c: Likewise.
1385         * config/tc-d10v.c: Likewise.
1386         * config/tc-d30v.c: Likewise.
1387         * config/tc-dlx.c: Likewise.
1388         * config/tc-epiphany.c: Likewise.
1389         * config/tc-frv.c: Likewise.
1390         * config/tc-hppa.c: Likewise.
1391         * config/tc-i370.c: Likewise.
1392         * config/tc-i386-intel.c: Likewise.
1393         * config/tc-i386.c: Likewise.
1394         * config/tc-i960.c: Likewise.
1395         * config/tc-ia64.c: Likewise.
1396         * config/tc-m32r.c: Likewise.
1397         * config/tc-m68hc11.c: Likewise.
1398         * config/tc-m68k.c: Likewise.
1399         * config/tc-mcore.c: Likewise.
1400         * config/tc-mep.c: Likewise.
1401         * config/tc-mep.h: Likewise.
1402         * config/tc-metag.c: Likewise.
1403         * config/tc-microblaze.c: Likewise.
1404         * config/tc-mips.c: Likewise.
1405         * config/tc-mmix.c: Likewise.
1406         * config/tc-mn10200.c: Likewise.
1407         * config/tc-mn10300.c: Likewise.
1408         * config/tc-msp430.c: Likewise.
1409         * config/tc-msp430.h: Likewise.
1410         * config/tc-nds32.c: Likewise.
1411         * config/tc-nds32.h: Likewise.
1412         * config/tc-nios2.c: Likewise.
1413         * config/tc-nios2.h: Likewise.
1414         * config/tc-ns32k.c: Likewise.
1415         * config/tc-pdp11.c: Likewise.
1416         * config/tc-ppc.c: Likewise.
1417         * config/tc-pru.c: Likewise.
1418         * config/tc-rx.c: Likewise.
1419         * config/tc-s390.c: Likewise.
1420         * config/tc-score.c: Likewise.
1421         * config/tc-score7.c: Likewise.
1422         * config/tc-sh.c: Likewise.
1423         * config/tc-sh64.c: Likewise.
1424         * config/tc-sparc.c: Likewise.
1425         * config/tc-tic4x.c: Likewise.
1426         * config/tc-tic54x.c: Likewise.
1427         * config/tc-v850.c: Likewise.
1428         * config/tc-vax.c: Likewise.
1429         * config/tc-visium.c: Likewise.
1430         * config/tc-xgate.c: Likewise.
1431         * config/tc-xtensa.c: Likewise.
1432         * config/tc-z80.c: Likewise.
1433         * config/tc-z8k.c: Likewise.
1434         * config/te-vms.c: Likewise.
1435         * config/xtensa-relax.c: Likewise.
1436         * doc/as.texinfo: Likewise.
1437         * doc/c-arm.texi: Likewise.
1438         * doc/c-hppa.texi: Likewise.
1439         * doc/c-i370.texi: Likewise.
1440         * doc/c-i386.texi: Likewise.
1441         * doc/c-m32r.texi: Likewise.
1442         * doc/c-m68k.texi: Likewise.
1443         * doc/c-mmix.texi: Likewise.
1444         * doc/c-msp430.texi: Likewise.
1445         * doc/c-nds32.texi: Likewise.
1446         * doc/c-ns32k.texi: Likewise.
1447         * doc/c-riscv.texi: Likewise.
1448         * doc/c-rx.texi: Likewise.
1449         * doc/c-s390.texi: Likewise.
1450         * doc/c-tic6x.texi: Likewise.
1451         * doc/c-tilegx.texi: Likewise.
1452         * doc/c-tilepro.texi: Likewise.
1453         * doc/c-v850.texi: Likewise.
1454         * doc/c-xgate.texi: Likewise.
1455         * doc/c-xtensa.texi: Likewise.
1456         * dwarf2dbg.c: Likewise.
1457         * ecoff.c: Likewise.
1458         * itbl-ops.c: Likewise.
1459         * listing.c: Likewise.
1460         * macro.c: Likewise.
1461         * po/gas.pot: Likewise.
1462         * read.c: Likewise.
1463         * struc-symbol.h: Likewise.
1464         * symbols.h: Likewise.
1465         * testsuite/gas/arc/relocs-errors.err: Likewise.
1466         * write.c: Likewise.
1467
1468 2017-01-23  Nick Clifton  <nickc@redhat.com>
1469
1470         * po/sv.po: Updated Swedish translation.
1471
1472 2017-01-20  Nick Clifton  <nickc@redhat.com>
1473
1474         * config/tc-i386.c (parse_operands): Check for operand overflow
1475         before setting the unspecified bit.
1476
1477 2017-01-18  Maciej W. Rozycki  <macro@imgtec.com>
1478
1479         PR gas/20649
1480         * config/tc-mips.c (pic_need_relax): Don't check for linkonce
1481         symbols, remove the `segtype' parameter.
1482         (mips_frob_file, md_estimate_size_before_relax): Adjust
1483         accordingly.
1484         (s_is_linkonce): Add an explanatory comment.
1485         * testsuite/gas/mips/comdat-reloc.d: New test.
1486         * testsuite/gas/mips/comdat-reloc.s: New test source.
1487         * testsuite/gas/mips/mips.exp: Run the new test.
1488
1489 2017-01-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1490
1491         * testsuite/gas/arm/armv8_3-a-simd.s: Add vcmla tests.
1492         * testsuite/gas/arm/armv8_3-a-simd.d: Update.
1493
1494 2017-01-18  Bernhard Rosenkranzer  <bero@lindev.ch>
1495
1496         PR 21059
1497         * config/bfin-lex.l: Support processing with flex 2.6.3.
1498         * itbl-lex.l: Likewise.
1499
1500 2017-01-18  Nathan Sidwell  <nathan@acm.org>
1501
1502         * as.h (gas_assert): Use abort.
1503         (as_assert): Remove.
1504         (signal_init): Declare.
1505         * as.c (main): Call signal_init.
1506         * messages.c: #include <signal.h>
1507         (as_assert): Delete.
1508         (as_abort): Allow NULL FILE.
1509         (signal_crash): New.
1510         (signal_init): Register fatal signal handlers.
1511         * configure.ac: Check for strsignal.
1512         * config.in: Rebuilt.
1513         * configure: Rebuilt.
1514
1515 2017-01-17  Nick Clifton  <nickc@redhat.com>
1516
1517         * po/sv.po: Updated Swedish translation.
1518
1519 2017-01-12  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
1520
1521         * config/tc-i386.c (cpu_arch): Add .avx512_vpopcntdq.
1522         (cpu_noarch): Add noavx512_vpopcntdq.
1523         * doc/c-i386.texi: Document avx512_vpopcntdq, noavx512_vpopcntdq.
1524         * testsuite/gas/i386/i386.exp: Run AVX512_VPOPCNTDQ tests.
1525         * testsuite/gas/i386/avx512_vpopcntdqd-intel.d: New file.
1526         * testsuite/gas/i386/avx512_vpopcntdqd.d: Ditto.
1527         * testsuite/gas/i386/avx512_vpopcntdqd.s: Ditto.
1528         * testsuite/gas/i386/x86-64-avx512_vpopcntdqd-intel.d: Ditto.
1529         * testsuite/gas/i386/x86-64-avx512_vpopcntdqd.d: Ditto.
1530         * testsuite/gas/i386/x86-64-avx512_vpopcntdqd.s: Ditto.
1531
1532 2017-01-12  Nick Clifton  <nickc@redhat.com>
1533
1534         * read.c (temp_ilp): New function.  Installs a temporary input
1535         line pointer.
1536         (restore_ilp): New function.  Restores the original input line
1537         pointer.
1538         * read.h (temp_ilp): Prototype.
1539         (restore_ilp): Prototype.
1540         * stabs.c (dot_func_p): Use bfd_boolean type.
1541         (generate_asm_file): Use temp_ilp and restore_ilp.
1542         (stabs_generate_asm_lineno): Likewise.
1543         (stabs_generate_asm_endfunc): Likewise.
1544
1545 2017-01-11  Jeremy Soller  <jackpot51@gmail.com>
1546
1547         * configure.tgt: Add entry for i386-redox.
1548
1549 2017-01-10  Nick Clifton  <nickc@redhat.com>
1550
1551         * po/sv.po: Updated Swedish translation.
1552
1553 2017-01-10  Tristan Gingold  <gingold@adacore.com>
1554
1555         * testsuite/gas/all/sleb128-8.d: Adjust test.
1556         * testsuite/gas/all/gas.exp (test_cond): Likewise.
1557
1558 2017-01-10  Tristan Gingold  <gingold@adacore.com>
1559
1560         * read.c (emit_leb128_expr): Extended unsigned big number for
1561         sleb128.
1562         * testsuite/gas/all/gas.exp (test_cond): Add sleb128-8 test.
1563         * testsuite/gas/all/sleb128.d: New test.
1564         * testsuite/gas/all/sleb128.s: New test source.
1565
1566 2017-01-09  Andrew Waterman <andrew@sifive.com>
1567
1568         * config/tc-riscv.c (append_insn): Don't eagerly apply relocations
1569         against constants.
1570         (md_apply_fix): Mark relocations against constants as "done."
1571
1572 2017-01-09  Andrew Waterman <andrew@sifive.com>
1573
1574         * config/tc-riscv.c (append_insn): Don't eagerly apply relocations
1575         against constants.
1576         (md_apply_fix): Mark relocations against constants as "done."
1577
1578 2017-01-09  Palmer Dabbelt <palmer@dabbelt.com>
1579             Kito Cheng <kito.cheng@gmail.com>
1580
1581         * emulparams/elf32lriscv-defs.sh (INITIAL_READONLY_SECTIONS):
1582         Removed.
1583         (SDATA_START_SYMBOLS): Likewise.
1584
1585 2017-01-09  Nick Clifton  <nickc@redhat.com>
1586
1587         * po/sv.po: New Swedish translation.
1588         * configure.ac (ALL_LINGUAS): Add sv.
1589         * configure: Regenerate.
1590
1591 2017-01-09  Andrew Waterman <andrew@sifive.com>
1592
1593         * config/tc-riscv.c (relaxed_branch_length): Use the long
1594         sequence when the target is a weak symbol.
1595
1596 2017-01-04  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1597
1598         * config/tc-aarch64.c (aarch64_features): Add rcpc.
1599         * doc/c-aarch64.texi (AArch64 Extensions): Document rcpc.
1600         * testsuite/gas/aarch64/ldst-exclusive-armv8_3.d: Rename to ...
1601         * testsuite/gas/aarch64/ldst-rcpc.d: This.
1602         * testsuite/gas/aarch64/ldst-exclusive-armv8_3.s: Rename to ...
1603         * testsuite/gas/aarch64/ldst-rcpc.s: This.
1604         * testsuite/gas/aarch64/ldst-rcpc-armv8_2.d: New test.
1605
1606 2017-01-04  Norm Jacobs  <norm.jacobs@oracle.com>
1607
1608         PR gas/20992
1609         * configure.tgt: Treat sparcv9 as sparc64.
1610
1611 2017-01-03  Kito Cheng  <kito.cheng@gmail.com>
1612
1613         * config/tc-riscv.c (riscv_set_arch): Whitelist the "q" ISA
1614         extension.
1615         (riscv_after_parse_args): Set FLOAT_ABI_QUAD when the Q ISA is
1616         enabled and no other ABI is specified.
1617
1618 2017-01-03  Dimitar Dimitrov  <dimitar@dinux.eu>
1619
1620         * config/tc-pru.c (md_number_to_chars): Fix parameter to be
1621         valueT, as declared in tc.h.
1622         (md_apply_fix): Fix to work on 32-bit hosts.
1623
1624 2017-01-02  Alan Modra  <amodra@gmail.com>
1625
1626         Update year range in copyright notice of all files.
1627
1628 For older changes see ChangeLog-2016
1629 \f
1630 Copyright (C) 2017 Free Software Foundation, Inc.
1631
1632 Copying and distribution of this file, with or without modification,
1633 are permitted in any medium without royalty provided the copyright
1634 notice and this notice are preserved.
1635
1636 Local Variables:
1637 mode: change-log
1638 left-margin: 8
1639 fill-column: 74
1640 version-control: never
1641 End: