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