x86: fold several AVX512VL templates
[external/binutils.git] / gas / ChangeLog
1 2018-03-08  Jan Beulich  <jbeulich@suse.com>
2
3         * config/tc-i386.c (is_evex_encoding): New.
4         (optimize_encoding, md_assemble, md_assemble,
5         VEX_check_operands, build_modrm_byte): Use is_evex_encoding.
6         (build_evex_prefix): Derive EVEX length field from actual
7         operands if the template allows multiple ones.
8
9 2018-03-08  Jan Beulich  <jbeulich@suse.com>
10
11         * config/tc-i386.c (build_modrm_byte): Make VexNDD handling cope
12         with 3rd (immediate) operand.
13
14 2018-03-08  Jan Beulich  <jbeulich@suse.com>
15
16         * config/tc-i386.c (XMMWORD_MNEM_SUFFIX, YMMWORD_MNEM_SUFFIX,
17         ZMMWORD_MNEM_SUFFIX): Delete.
18         (process_suffix): Drop their uses. Re-arrange final part of
19         logic into a switch() statement. Drop special casing of
20         cmpxchg8b.
21
22 2018-03-08  Jan Beulich  <jbeulich@suse.com>
23
24         * config/tc-i386.c (match_template): Also match register
25         operands 0 and 2 for 3-operand forms.
26         * testsuite/gas/i386/unspec64.l, testsuite/gas/i386/unspec64.s:
27         New.
28         * testsuite/gas/i386/i386.exp: Run new test.
29
30 2018-03-08  Jan Beulich  <jbeulich@suse.com>
31
32         * config/tc-i386.c (process_suffix): Do common part of register
33         checks first.
34
35 2018-03-08  Jan Beulich  <jbeulich@suse.com>
36
37         * config/tc-i386.c (parse_insn): Move success return up. Combine
38         failure returns.
39
40 2018-03-08  Jan Beulich  <jbeulich@suse.com>
41
42         * config/tc-i386.c (cpu_flags_match): Add GFNI check to AVX
43         logic. Add respective logic for AVX512F.
44         * testsuite/gas/i386/arch-avx-1.s: Add GFNI test.
45         testsuite/gas/i386/arch-avx-1.d,
46         testsuite/gas/i386/arch-avx-1-1.l,
47         testsuite/gas/i386/arch-avx-1-2.l,
48         testsuite/gas/i386/arch-avx-1-3.l,
49         testsuite/gas/i386/arch-avx-1-4.l,
50         testsuite/gas/i386/arch-avx-1-5.l,
51         testsuite/gas/i386/arch-avx-1-6.l: Adjust expectations.
52         * testsuite/gas/i386/arch-avx-1-7.l,
53         testsuite/gas/i386/arch-avx-1-7.s,
54         testsuite/gas/i386/arch-avx-1-8.l,
55         testsuite/gas/i386/arch-avx-1-8.s,
56         testsuite/gas/i386/avx512f-plain.l,
57         testsuite/gas/i386/avx512f-plain.s,
58         testsuite/gas/i386/avx512vl-plain.l,
59         testsuite/gas/i386/avx512vl-plain.s: New.
60         * testsuite/gas/i386/i386.exp: Run new tests.
61
62 2018-03-08  Jan Beulich  <jbeulich@suse.com>
63
64         * config/tc-i386.c (cpu_flags_match): Move AVX512VL check ahead.
65
66 2018-03-08  Jan Beulich  <jbeulich@suse.com>
67
68         * config/tc-i386.c (CPU_FLAGS_32BIT_MATCH): Delete.
69         (cpu_flags_match): Use CPU_FLAGS_ARCH_MATCH instead of
70         CPU_FLAGS_32BIT_MATCH.
71
72 2018-03-08  Jan Beulich  <jbeulich@suse.com>
73
74         * config/tc-i386.c (CPU_FLAGS_AES_MATCH, CPU_FLAGS_AVX_MATCH,
75         CPU_FLAGS_PCLMUL_MATCH): Delete.
76         (CPU_FLAGS_32BIT_MATCH): Drop uses of deleted CPU_FLAGS_*_MATCH.
77         (cpu_flags_match): Combine AVX checks into
78         single if().
79
80 2018-03-08  Jan Beulich  <jbeulich@suse.com>
81
82         * config/tc-i386.c (cpu_flags_match): Drop "else" branches
83         setting CPU_FLAGS_ARCH_MATCH.
84
85 2018-03-08  Jan Beulich  <jbeulich@suse.com>
86
87         * config/tc-i386.c (md_assemble): Extend SSE check conditional.
88         * testsuite/gas/i386/ilp32/x86-64-sse-check-none.d,
89         testsuite/gas/i386/ilp32/x86-64-sse-check-warn.d,
90         testsuite/gas/i386/ilp32/x86-64-sse-check.d,
91         testsuite/gas/i386/sse-check-none.d,
92         testsuite/gas/i386/sse-check-warn.d,
93         testsuite/gas/i386/x86-64-sse-check.d,
94         testsuite/gas/i386/x86-64-sse-check-none.d,
95         testsuite/gas/i386/x86-64-sse-check-warn.d: Refer to sse-check.d.
96         * testsuite/gas/i386/sse-check.s: Add AES, GFNI, and PCLMUL
97         tests.
98         * testsuite/gas/i386/sse-check-none.s: Replace code by inclusion
99         of sse-check.s.
100         * testsuite/gas/i386/sse-check.d: Adjust expectations.
101         * testsuite/gas/i386/sse-check-error.l,
102         testsuite/gas/i386/x86-64-sse-check-error.l: Likewise.
103         * testsuite/gas/i386/sse-check-warn.e: Likewise.
104
105 2018-03-08  Jan Beulich  <jbeulich@suse.com>
106
107         * config/tc-i386.c (operand_size_match): Drop / replace uses of
108         .floatd.
109
110 2018-03-08  Jan Beulich  <jbeulich@suse.com>
111
112         * testsuite/gas/i386/intel-intel.d: New.
113         * testsuite/gas/i386/i386.exp: Run new test.
114
115 2018-03-08  Jan Beulich  <jbeulich@suse.com>
116
117         * config/tc-i386.c (process_operands): Access operands only
118         after operand count assertion. Sanitize warning text. Fix
119         indentation.
120         * testsuite/gas/i386/avx512_4fmaps-warn.l,
121         gas/i386/x86-64-avx512_4fmaps-warn.l: Adjust expectations.
122
123 2018-03-08  Jan Beulich  <jbeulich@suse.com>
124
125         * testsuite/gas/i386/x86-64-movd.s: Drop bogus vmovd memory forms.
126         * testsuite/gas/i386/x86-64-movd.d,
127         testsuite/gas/i386/x86-64-movd-intel.d: Adjust expectations.
128
129 2018-03-08  Jan Beulich  <jbeulich@suse.com>
130
131         * config/tc-i386.c (operand_type_and_not): New.
132         (build_modrm_byte): Use it to prevent clearing unrelated bits.
133
134 2018-03-08  Alan Modra  <amodra@gmail.com>
135
136         * config/tc-ppc.c (ppc_handle_align): Correct last patch.  Really
137         don't emit a group terminating nop for power9.  Simplify cpu
138         tests.
139
140 2018-03-08  Alan Modra  <amodra@gmail.com>
141
142         * config/tc-ppc.c (ppc_handle_align): Don't emit a group
143         terminating nop for power9.
144
145 2018-03-07  H.J. Lu  <hongjiu.lu@intel.com>
146
147         PR gas/22874
148         * config/tc-i386.c (f32_5): Removed.
149         (f32_8): Likewise.
150         (f32_9): Likewise.
151         (f32_10): Likewise.
152         (f32_11): Likewise.
153         (f32_12): Likewise.
154         (f32_13): Likewise.
155         (f32_14): Likewise.
156         (f16_5): Likewise.
157         (f16_6): Likewise.
158         (f16_7): Likewise.
159         (f16_8): Likewise.
160         (jump_31): Likewise.
161         (alt64_11): Likewise.
162         (alt64_patt): Likewise.
163         (jump_disp8): New.
164         (jump32_disp32): Likewise.
165         (jump16_disp32): Likewise.
166         (alt_11): Likewise.
167         (f32_patt): Updated.
168         (f16_patt): Likewise.
169         (alt_patt): Add alt_11.
170         (i386_align_code): Merged with ...
171         (i386_generate_nops): This.  Rewritten.
172         (fits_in_imm7): Moved before i386_generate_nops.
173         (fits_in_imm31): Likewise.
174         * config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Updated to
175         4095.
176         (i386_align_code): Removed.
177         (HANDLE_ALIGN): Rewritten with i386_generate_nops.
178         * doc/as.texinfo: Update limits of control byte for x86 .nops
179         directive.
180         * testsuite/gas/i386/i386.exp: Run nops-7 and x86-64-nops-7.
181         * gas/testsuite/gas/i386/noavx-3.l: Updated.
182         * gas/testsuite/gas/i386/nop-1.d: Likewise.
183         * gas/testsuite/gas/i386/nop-1.s: Likewise.
184         * gas/testsuite/gas/i386/nop-2.d: Likewise.
185         * gas/testsuite/gas/i386/nop-2.s: Likewise.
186         * gas/testsuite/gas/i386/nop-3.d: Likewise.
187         * gas/testsuite/gas/i386/nop-4.d: Likewise.
188         * gas/testsuite/gas/i386/nop-5.d: Likewise.
189         * gas/testsuite/gas/i386/nop-5.s: Likewise.
190         * gas/testsuite/gas/i386/nop-6.d: Likewise.
191         * gas/testsuite/gas/i386/nop-bad-1.l: Likewise.
192         * gas/testsuite/gas/i386/nops-1-core2.d: Likewise.
193         * gas/testsuite/gas/i386/nops-1-i386-i686.d: Likewise.
194         * gas/testsuite/gas/i386/nops-1-i386.d: Likewise.
195         * gas/testsuite/gas/i386/nops-1-i686.d: Likewise.
196         * gas/testsuite/gas/i386/nops-1-k8.d: Likewise.
197         * gas/testsuite/gas/i386/nops-1.d: Likewise.
198         * gas/testsuite/gas/i386/nops-2-core2.d: Likewise.
199         * gas/testsuite/gas/i386/nops-2-i386.d: Likewise.
200         * gas/testsuite/gas/i386/nops-2.d: Likewise.
201         * gas/testsuite/gas/i386/nops-3-i386.d: Likewise.
202         * gas/testsuite/gas/i386/nops-3-i686.d: Likewise.
203         * gas/testsuite/gas/i386/nops-3.d: Likewise.
204         * gas/testsuite/gas/i386/nops-4-i386.d: Likewise.
205         * gas/testsuite/gas/i386/nops-4-i686.d: Likewise.
206         * gas/testsuite/gas/i386/nops-4.d: Likewise.
207         * gas/testsuite/gas/i386/nops-4a-i686.d: Likewise.
208         * gas/testsuite/gas/i386/nops-5-i686.d: Likewise.
209         * gas/testsuite/gas/i386/nops-5.d: Likewise.
210         * gas/testsuite/gas/i386/nops-6.d: Likewise.
211         * gas/testsuite/gas/i386/nops16-1.d: Likewise.
212         * gas/testsuite/gas/i386/x86-64-nop-1.d: Likewise.
213         * gas/testsuite/gas/i386/x86-64-nop-2.d: Likewise.
214         * gas/testsuite/gas/i386/x86-64-nop-5.d: Likewise.
215         * gas/testsuite/gas/i386/x86-64-nops-1-core2.d: Likewise.
216         * gas/testsuite/gas/i386/x86-64-nops-1-g64.d: Likewise.
217         * gas/testsuite/gas/i386/x86-64-nops-1-k8.d: Likewise.
218         * gas/testsuite/gas/i386/x86-64-nops-1-pentium.d: Likewise.
219         * gas/testsuite/gas/i386/x86-64-nops-1.d: Likewise.
220         * gas/testsuite/gas/i386/x86-64-nops-2.d: Likewise.
221         * gas/testsuite/gas/i386/x86-64-nops-3.d: Likewise.
222         * gas/testsuite/gas/i386/x86-64-nops-4-core2.d: Likewise.
223         * gas/testsuite/gas/i386/x86-64-nops-4-k8.d: Likewise.
224         * gas/testsuite/gas/i386/x86-64-nops-4.d: Likewise.
225         * gas/testsuite/gas/i386/x86-64-nops-5-k8.d: Likewise.
226         * gas/testsuite/gas/i386/x86-64-nops-5.d: Likewise.
227         * gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d: Likewise.
228         * gas/testsuite/gas/i386/ilp32/x86-64-nops-1-k8.d: Likewise.
229         * gas/testsuite/gas/i386/ilp32/x86-64-nops-1-pentium.d: Likewise.
230         * gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d: Likewise.
231         * gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d: Likewise.
232         * gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d: Likewise.
233         * gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d: Likewise.
234         * gas/testsuite/gas/i386/ilp32/x86-64-nops-4-k8.d: Likewise.
235         * gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d: Likewise.
236         * gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d: Likewise.
237         * gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d: Likewise.
238         * gas/testsuite/gas/i386/nops-7.d: New file.
239         * gas/testsuite/gas/i386/nops-7.s: Likewise.
240         * gas/testsuite/gas/i386/x86-64-nops-7.d: Likewise.
241
242 2018-03-07  Alan Modra  <amodra@gmail.com>
243
244         * testsuite/gas/ppc/aix.exp: Run for rs6000 too.
245         * testsuite/gas/ppc/ppc.exp: Run more tests for non-ELF targets.
246         * testsuite/gas/ppc/machine.d: Don't run for PE targets.
247
248 2018-03-02  Thomas Preud'homme  <thomas.preudhomme@arm.com>
249
250         * config/tc-arm.c (md_begin): Add NULL pointer check before
251         dereferencing march_ext_opt.
252
253 2018-03-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
254
255         * config/tc-arm.c (cpu_variant, arm_arch_used, thumb_arch_used,
256         legacy_cpu, legacy_fpu, mcpu_cpu_opt, dyn_mcpu_ext_opt,
257         mcpu_fpu_opt, march_cpu_opt, dyn_march_ext_opt, march_fpu_opt,
258         mfpu_opt, object_arch, selected_cpu): Comment meaning of variables.
259         (dyn_mcpu_ext_opt): Also rename into ...
260         (mcpu_ext_opt): This.
261         (dyn_march_ext_opt): Also rename into ...
262         (march_ext_opt): This.
263         (object_arch): Also rename into ...
264         (selected_object_arch): This and make it a plain arm_feature_set
265         structure.
266         (selected_arch, selected_ext, selected_fpu): New static variables.
267         (mark_feature_used): Fix comments, feature is marked as used iff it is
268         currently allowed.
269         (do_bx): Adapt to change in name and type of object_arch.
270         (md_begin): Set selected_arch rather than mcpu_cpu_opt, selected_ext
271         rather than dyn_mcpu_ext_opt and selected_fpu rather than mfpu_opt.
272         Remove dead code to set default FPU if architecture version is greater
273         than 5.  Set all CPU bits of cpu_variant directly in autodection
274         leaving mcpu_cpu_opt, selected_arch and selected_cpu unset.
275         (arm_parse_extension): Take extension feature set pointer parameter by
276         value rather than by pointer.  Remove allocation code.  Adapt code
277         accordingly.
278         (arm_parse_cpu): Adapt to variable renaming and changes in
279         arm_parse_extension () signature.
280         (arm_parse_arch): Likewise.
281         (aeabi_set_public_attributes): Also set selected_arch and selected_ext
282         in addition to selected_cpu.  Set flags_arch and flags_ext from them
283         instead of selected_cpu.  Adapt to variables renaming and type change.
284         (arm_md_post_relax): Adapt to variable renaming.
285         (s_arm_cpu): Set selcted_cpu_cpu and selected_ext instead of
286         mcpu_cpu_opt and dyn_mcpu_ext_opt.  Set selected_cpu from them and
287         cpu_variant from selected_cpu and selected_fpu.
288         (s_arm_arch): Likewise.
289         (s_arm_object_arch): Adapt to variable renaming.
290         (s_arm_arch_extension): Use ARM_CPU_IS_ANY instead of checking feature
291         set against arm_any.  Check selected_arch rather than *mcpu_cpu_opt.
292         Set selected_ext rather than *dyn_mcpu_ext_opt and remove allocation
293         code.
294         (s_arm_fpu): Set selected_fpu instead of mfpu_opt.  Set all CPU feature
295         bits if in autodetection mode.
296
297 2018-03-01  H.J. Lu  <hongjiu.lu@intel.com>
298
299         * config/tc-i386.c (optimize_encoding): Optimize AVX256 and
300         AVX512 vpsub[bwdq] instructions.
301         * testsuite/gas/i386/optimize-1.s: Add tests for AVX256 and
302         AVX512 vpsub[bwdq] instructions.
303         * testsuite/gas/i386/x86-64-optimize-2.s: Likewise.
304         * testsuite/gas/i386/optimize-1.d: Updated.
305         * testsuite/gas/i386/x86-64-optimize-2.d: Likewise.
306
307 2018-03-01  Alan Modra  <amodra@gmail.com>
308
309         * configure.ac (ALL_LINGUAS): Add uk.  Sort.
310         * configure: Regenerate.
311
312 2018-02-27  H.J. Lu  <hongjiu.lu@intel.com>
313
314         * NEWS: Rename .nop to .nops.
315         * doc/as.texinfo: Likewise.
316         * read.c (potable): Add "nops".  Remove "nop".
317         (s_nop): Renamed to ...
318         (s_nops): This.
319         * read.h (s_nop): Renamed to ...
320         (s_nops): This.
321         * write.c (cvt_frag_to_fill): Rename .nop to .nops.
322         (md_generate_nops): Likewise.
323         (relax_segment): Likewise.
324         * testsuite/gas/i386/nop-1.d: Updated.
325         * testsuite/gas/i386/nop-1.s: Likewise.
326         * testsuite/gas/i386/nop-2.d: Likewise.
327         * testsuite/gas/i386/nop-2.s: Likewise.
328         * testsuite/gas/i386/nop-3.d: Likewise.
329         * testsuite/gas/i386/nop-3.s: Likewise.
330         * testsuite/gas/i386/nop-4.d: Likewise.
331         * testsuite/gas/i386/nop-4.s: Likewise.
332         * testsuite/gas/i386/nop-5.d: Likewise.
333         * testsuite/gas/i386/nop-5.s: Likewise.
334         * testsuite/gas/i386/nop-6.d: Likewise.
335         * testsuite/gas/i386/nop-6.s: Likewise.
336         * testsuite/gas/i386/nop-bad-1.l: Likewise.
337         * testsuite/gas/i386/nop-bad-1.s: Likewise.
338         * testsuite/gas/i386/x86-64-nop-1.d: Likewise.
339         * testsuite/gas/i386/x86-64-nop-2.d: Likewise.
340         * testsuite/gas/i386/x86-64-nop-3.d: Likewise.
341         * testsuite/gas/i386/x86-64-nop-4.d: Likewise.
342         * testsuite/gas/i386/x86-64-nop-5.d: Likewise.
343         * testsuite/gas/i386/x86-64-nop-6.d: Likewise.
344
345 2018-02-27  H.J. Lu  <hongjiu.lu@intel.com>
346
347         PR gas/22871
348         * NEWS: Mention -O[2|s].
349         * config/tc-i386.c (_i386_insn): Add no_optimize.
350         (optimize): New.
351         (optimize_for_space): Likewise.
352         (fits_in_imm7): New function.
353         (fits_in_imm31): Likewise.
354         (optimize_encoding): Likewise.
355         (md_assemble): Call optimize_encoding to optimize encoding.
356         (parse_insn): Handle {nooptimize}.
357         (md_shortopts): Append "O::".
358         (md_parse_option): Handle -On.
359         * doc/c-i386.texi: Document -O0, -O, -O1, -O2 and -Os as well
360         as {nooptimize}.
361         * testsuite/gas/cfi/cfi-x86_64.d: Pass -O0 to assembler.
362         * testsuite/gas/i386/ilp32/cfi/cfi-x86_64.d: Likewise.
363         * testsuite/gas/i386/i386.exp: Run optimize-1, optimize-2,
364         optimize-3, x86-64-optimize-1, x86-64-optimize-2,
365         x86-64-optimize-3 and x86-64-optimize-4.
366         * testsuite/gas/i386/optimize-1.d: New file.
367         * testsuite/gas/i386/optimize-1.s: Likewise.
368         * testsuite/gas/i386/optimize-2.d: Likewise.
369         * testsuite/gas/i386/optimize-2.s: Likewise.
370         * testsuite/gas/i386/optimize-3.d: Likewise.
371         * testsuite/gas/i386/optimize-3.s: Likewise.
372         * testsuite/gas/i386/x86-64-optimize-1.s: Likewise.
373         * testsuite/gas/i386/x86-64-optimize-1.d: Likewise.
374         * testsuite/gas/i386/x86-64-optimize-2.d: Likewise.
375         * testsuite/gas/i386/x86-64-optimize-2.s: Likewise.
376         * testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
377         * testsuite/gas/i386/x86-64-optimize-3.s: Likewise.
378         * testsuite/gas/i386/x86-64-optimize-4.d: Likewise.
379         * testsuite/gas/i386/x86-64-optimize-4.s: Likewise.
380
381 2018-02-27  Nick Clifton  <nickc@redhat.com>
382
383         * po/ru.po: Updated Russian translation.
384
385 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
386
387         * doc/as.texinfo (Pseudo Ops): Clean up `.dc' and `.ds'
388         descriptions.
389
390 2018-02-26  Nick Clifton  <nickc@redhat.com>
391
392         * doc/as.texinfo (Dc): Fix typo.
393
394 2018-02-26  Alan Modra  <amodra@gmail.com>
395
396         * testsuite/gas/mips/reginfo-2.l: Update.
397
398 2018-02-23  Alan Modra  <amodra@gmail.com>
399
400         * testsuite/gas/mips/reginfo-2.l: Update.
401
402 2018-02-23  Nick Clifton  <nickc@redhat.com>
403
404         * doc/as.texinfo (Pseudo Ops): Add nodes for .dc, .dcb and .ds.
405
406 2018-02-23  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
407
408         * config/tc-nds32.c (ict_model): New function. Hook new
409         directive .ict_model.
410         (nds32_insert_relax_entry): Tag the bits of entry relocation
411         for .ict_model.
412
413 2018-02-22  H.J. Lu  <hongjiu.lu@intel.com>
414
415         * config/tc-i386.c (_i386_insn): Add rex_encoding.
416         (md_assemble): When i.rex_encoding is true, generate a REX byte
417         if possible.
418         (parse_insn): Set i.rex_encoding for {rex}.
419         * doc/c-i386.texi: Document {rex}.
420         * testsuite/gas/i386/x86-64-pseudos.s: Add {rex} tests.
421         * testsuite/gas/i386/x86-64-pseudos.d: Updated.
422
423 2018-02-22  A. Wilcox  <awilfox@adelielinux.org>
424
425         PR 22014
426         * config/tc-mips.c (mips_lookup_insn): Use memmove to strip the
427         instruction size suffix.
428
429 2018-02-20  Maciej W. Rozycki  <macro@mips.com>
430
431         * testsuite/gas/mips/mips16-branch-reloc-4.d: New test.
432         * testsuite/gas/mips/mips16-branch-reloc-5.d: New test.
433         * testsuite/gas/mips/mips16-branch-reloc-4.s: New test source.
434         * testsuite/gas/mips/mips16-branch-reloc-5.s: New test source.
435         * testsuite/gas/mips/mips.exp: Run the new tests.
436
437 2018-02-20  Max Filippov  <jcmvbkbc@gmail.com>
438
439         * config/tc-xtensa.c (struct litpool_frag): Add new field
440         literal_count.
441         (MAX_AUTO_POOL_LITERALS, MAX_EXPLICIT_POOL_LITERALS)
442         (MAX_POOL_LITERALS): New macro definitions.
443         (auto_litpool_limit): Initialize to 0.
444         (md_parse_option): Set auto_litpool_limit in the presence of
445         --auto-litpools option.
446         (xtensa_maybe_create_literal_pool_frag): Zero-initialize
447         literal_count field.
448         (xg_find_litpool): New function. Make sure that found literal
449         pool size is within the limit.
450         (xtensa_move_literals): Extract literal pool search code into
451         the new function.
452         * testsuite/gas/xtensa/all.exp: Add auto-litpools-2 test.
453         * testsuite/gas/xtensa/auto-litpools-2.d: New file.
454         * testsuite/gas/xtensa/auto-litpools-2.s: New file.
455         * testsuite/gas/xtensa/auto-litpools.d: Fix up changed
456         addresses.
457         * testsuite/gas/xtensa/auto-litpools.s: Change literal value so
458         that objdump doesn't get out of sync.
459
460 2018-02-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
461
462         * doc/c-arm.texi (.arch_extension): Mention extensions it accepts are
463         also the same as -march.
464
465 2018-02-17  H.J. Lu  <hongjiu.lu@intel.com>
466
467         * NEWS: Mention .nop directive.
468         * as.h (_relax_state): Add rs_space_nop and rs_fill_nop.
469         * read.c (potable): Add .nop.
470         (s_nop): New function.
471         * read.h (s_nop): New prototype.
472         * write.c (cvt_frag_to_fill): Handle rs_space_nop and
473         rs_fill_nop.
474         (md_generate_nops): New function.
475         (relax_segment): Likewise.
476         (write_contents): Use md_generate_nops for rs_fill_nop.
477         * config/tc-i386.c (alt64_11): New.
478         (alt64_patt): Likewise.
479         (md_convert_frag): Handle rs_space_nop.
480         (i386_output_nops): New function.
481         (i386_generate_nops): Likewise.
482         (i386_align_code): Call i386_output_nops.
483         * config/tc-i386.h (i386_generate_nops): New.
484         (md_generate_nops): Likewise.
485         * doc/as.texinfo: Document .nop directive.
486         * testsuite/gas/i386/i386.exp: Run .nop directive tests.
487         * testsuite/gas/i386/nop-1.d: New file.
488         * testsuite/gas/i386/nop-1.s: Likewise.
489         * testsuite/gas/i386/nop-2.d: Likewise.
490         * testsuite/gas/i386/nop-2.s: Likewise.
491         * testsuite/gas/i386/nop-3.d: Likewise.
492         * testsuite/gas/i386/nop-3.s: Likewise.
493         * testsuite/gas/i386/nop-4.d: Likewise.
494         * testsuite/gas/i386/nop-4.s: Likewise.
495         * testsuite/gas/i386/nop-5.d: Likewise.
496         * testsuite/gas/i386/nop-5.s: Likewise.
497         * testsuite/gas/i386/nop-6.d: Likewise.
498         * testsuite/gas/i386/nop-6.s: Likewise.
499         * testsuite/gas/i386/nop-bad-1.l: Likewise.
500         * testsuite/gas/i386/nop-bad-1.s: Likewise.
501         * testsuite/gas/i386/x86-64-nop-1.d: Likewise.
502         * testsuite/gas/i386/x86-64-nop-2.d: Likewise.
503         * testsuite/gas/i386/x86-64-nop-3.d: Likewise.
504         * testsuite/gas/i386/x86-64-nop-4.d: Likewise.
505         * testsuite/gas/i386/x86-64-nop-5.d: Likewise.
506         * testsuite/gas/i386/x86-64-nop-6.d: Likewise.
507
508 2018-02-15  Tamar Christina  <tamar.christina@arm.com>
509
510         * config/tc-arm.c (cpu_arch_ver): Renumber ARM_ARCH_V8_4A.
511         * testsuite/gas/arm/attr-march-armv8_4-a.d: New.
512
513 2018-02-13  Max Filippov  <jcmvbkbc@gmail.com>
514
515         * config/tc-xtensa.c (xg_find_best_trampoline): Skip trampoline
516         frag that contains source address.
517
518 2018-02-13  Nick Clifton  <nickc@redhat.com>
519
520         PR 22773
521         * config/tc-arm.c (md_apply_fix): Test Rn field of Thumb ORR
522         instruction before assuming that it is a MOV instruction.
523         * testsuite/gas/arm/pr22773.s: New test.
524         * testsuite/gas/arm/pr22773.d: New test driver.
525         * testsuite/gas/arm/pr22773.l: New expected output.
526
527 2018-02-13  H.J. Lu  <hongjiu.lu@intel.com>
528
529         PR gas/22791
530         * config/tc-i386.c (need_plt32_p): New function.
531         (output_jump): Generate BFD_RELOC_X86_64_PLT32 if possible.
532         (md_estimate_size_before_relax): Likewise.
533         * testsuite/gas/i386/reloc64.d: Updated.
534         * testsuite/gas/i386/x86-64-jump.d: Likewise.
535         * testsuite/gas/i386/x86-64-mpx-branch-1.d: Likewise.
536         * testsuite/gas/i386/x86-64-mpx-branch-2.d: Likewise.
537         * testsuite/gas/i386/x86-64-relax-2.d: Likewise.
538         * testsuite/gas/i386/x86-64-relax-3.d: Likewise.
539         * testsuite/gas/i386/ilp32/reloc64.d: Likewise.
540         * testsuite/gas/i386/ilp32/x86-64-branch.d: Likewise.
541
542 2018-02-13  Maciej W. Rozycki  <macro@mips.com>
543
544         * testsuite/gas/mips/loongson-3a-2.d: Rename test.
545
546 2018-02-13  Nick Clifton  <nickc@redhat.com>
547
548         PR 22823
549         * config/obj-elf.c (elf_pseudo_table): Remove now redundant
550         casts.
551         (obj_elf_vtable_inherit): Rename to obj_elf_get_vtable_inherit.
552         (obj_elf_vtable_inherit): New stub function that calls
553         obj_elf_get_vtable_inherit.
554         (obj_elf_vtable_entry): Rename to obj_elf_get_vtable_entry.
555         (obj_elf_vtable_entry): New stub function that calls
556         obj_elf_get_vtable_entry.
557         * config/obj-elf.h (obj_elf_vtable_inherit): Update prototype.
558         (obj_elf_vtable_entry) Likewise.
559         (obj_elf_get_vtable_inherit) Likewise.
560         (obj_elf_get_vtable_entry) Likewise.
561         * config/tc-arm.c (md_pseudo_table): Remove now redundant cast.
562         * config/tc-i386c (md_pseudo_table): Likewise.
563         * config/tc-hppa.c (pa_vtable_entry): Call
564         obj_elf_get_vtable_entry.
565         (pa_vtable_inherit): Call obj_elf_get_vtable_inherit.
566         * config/tc-mips.c (s_mips_file): Replace call to dwarf2_get_file
567         with call to dwarf2_get_filename.
568         * dwarf2dbg.c (dwarf2_directive_file): Rename to
569         dwarf2_directive_filename.
570         (dwarf2_directive_file): New stub function that calls
571         dwarf2_directive_filename.
572         * dwarf2dbg.h: Prototype dwarf2_directive_filename.
573
574 2018-02-12  Maciej W. Rozycki  <macro@mips.com>
575
576         * testsuite/gas/mips/reginfo-2-n32.d: Add `--no-pad-sections' to
577         `as' flags.
578
579 2018-02-12  Henry Wong <henry@stuffedcow.net>
580
581         * testsuite/gas/mips/r6.d: Update for "sigrie" encoding fix.
582         * testsuite/gas/mips/r6-n32.d: Likewise.
583         * testsuite/gas/mips/r6-n64.d: Likewise.
584
585 2018-02-12  Nick Clifton  <nickc@redhat.com>
586
587         * po/ru.po: Updated Russian translation.
588
589 2018-02-08  Alan Modra  <amodra@gmail.com>
590
591         PR 22819
592         * config/tc-ppc.c (md_assemble): Rewrite insn alignment checking.
593         (ppc_frag_check): Likewise.
594         * testsuite/gas/ppc/misalign.d,
595         * testsuite/gas/ppc/misalign.l,
596         * testsuite/gas/ppc/misalign.s: New test.
597         * testsuite/gas/ppc/misalign2.d,
598         * testsuite/gas/ppc/misalign2.s: New test.
599         * testsuite/gas/ppc/ppc.exp: Run them.
600
601 2018-02-05  Maciej W. Rozycki  <macro@mips.com>
602
603         * config/tc-riscv.c (riscv_handle_implicit_zero_offset): Rename
604         `expr' parameter to `ep'.
605
606 2018-02-05  Maciej W. Rozycki  <macro@mips.com>
607
608         * testsuite/gas/mips/reginfo-2.d: New test.
609         * testsuite/gas/mips/reginfo-2-n32.d: New test.
610         * testsuite/gas/mips/reginfo-2.l: New test stderr output.
611         * testsuite/gas/mips/reginfo-2.s: New test source.
612         * testsuite/gas/mips/mips.exp: Run the new tests.
613
614 2018-02-05  Nick Clifton  <nickc@redhat.com>
615
616         * po/ru.po: Updated Russian translation.
617
618 2018-01-31  Alan Modra  <amodra@gmail.com>
619
620         PR 22714
621         * app.c (last_char): New static var.
622         (struct app_save): Add last_char field.
623         (app_push, app_pop): Handle it.
624         (do_scrub_chars): Use last_char in test for "\@".  Set last_char.
625
626 2018-01-29  Eric Botcazou  <ebotcazou@adacore.com>
627
628         PR gas/22738
629         * config/tc-sparc.h (sparc_mach): Declare.
630         (TARGET_MACH): Define to above.
631         * config/tc-sparc.c (sparc_mach): New function.
632         (sparc_md_end): Minor tweak.
633
634 2018-01-29  Nick Clifton  <nickc@redhat.com>
635
636         * po/ru.po: Updated Russian translation.
637
638 2018-01-26  Maciej W. Rozycki  <macro@mips.com>
639
640         * configure.tgt: Use generic emulation for `mips-*-windiss',
641         overriding the blanket choice made for `*-*-windiss'.
642
643 2018-01-26  Maciej W. Rozycki  <macro@mips.com>
644
645         * configure.tgt: Use `mips-*-sysv4*' rather than
646         `mips-*-sysv4*MP*'.
647
648 2018-01-24  Renlin Li  <renlin.li@arm.com>
649
650         * config/tc-aarch64.c (reloc_table): add entries for
651         BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
652         BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
653         BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
654         BFD_RELOC_AARCH64_MOVW_PREL_G3.
655         (process_movw_reloc_info): Supports newly added MOVW_PREL relocations.
656         (md_apply_fix): Likewise
657         * testsuite/gas/aarch64/prel_g0.s: New.
658         * testsuite/gas/aarch64/prel_g0.d: New.
659         * testsuite/gas/aarch64/prel_g0_nc.s: New.
660         * testsuite/gas/aarch64/prel_g0_nc.d: New.
661         * testsuite/gas/aarch64/prel_g1.s: New.
662         * testsuite/gas/aarch64/prel_g1.d: New.
663         * testsuite/gas/aarch64/prel_g1_nc.s: New.
664         * testsuite/gas/aarch64/prel_g1_nc.d: New.
665         * testsuite/gas/aarch64/prel_g2.s: New.
666         * testsuite/gas/aarch64/prel_g2.d: New.
667         * testsuite/gas/aarch64/prel_g2_nc.s: New.
668         * testsuite/gas/aarch64/prel_g2_nc.d: New.
669         * testsuite/gas/aarch64/prel_g3.s: New.
670         * testsuite/gas/aarch64/prel_g3.d: New.
671
672 2018-01-23  Maciej W. Rozycki  <macro@mips.com>
673
674         * configure.ac: Also set `mips_default_abi' to N32_ABI for
675         `mips64*-ps2-elf*'.
676         * configure: Regenerate.
677
678 2018-01-23  Maciej W. Rozycki  <macro@mips.com>
679
680         * config/tc-mips.c (options): Remove OPTION_COMPAT_ARCH_BASE
681         enum value.
682
683 2018-01-23  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
684
685         * config/tc-i386.c (cpu_arch): Add .pconfig.
686         * doc/c-i386.texi: Document .pconfig.
687         * testsuite/gas/i386/i386.exp: Add PCONFIG tests.
688         * testsuite/gas/i386/pconfig-intel.d: New test.
689         * testsuite/gas/i386/pconfig.d: Likewise.
690         * testsuite/gas/i386/pconfig.s: Likewise.
691         * testsuite/gas/i386/x86-64-pconfig-intel.d: Likewise.
692         * testsuite/gas/i386/x86-64-pconfig.d: Likewise.
693         * testsuite/gas/i386/x86-64-pconfig.s: Likewise.
694
695 2018-01-23  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
696
697         * config/tc-i386.c (cpu_arch): Add .wbnoinvd.
698         * doc/c-i386.texi: Document .wbnoinvd.
699         * testsuite/gas/i386/i386.exp: Add WBNOINVD tests.
700         * testsuite/gas/i386/wbnoinvd-intel.d: New test.
701         * testsuite/gas/i386/wbnoinvd.d: Likewise.
702         * testsuite/gas/i386/wbnoinvd.s: Likewise.
703         * testsuite/gas/i386/x86-64-wbnoinvd-intel.d: Likewise.
704         * testsuite/gas/i386/x86-64-wbnoinvd.d: Likewise.
705         * testsuite/gas/i386/x86-64-wbnoinvd.s: Likewise.
706
707 2018-01-23  Maciej W. Rozycki  <macro@mips.com>
708
709         * config/tc-mips.c (md_show_usage): Correctly indicate the
710         configuration-specific default ABI.
711
712 2018-01-23  Maciej W. Rozycki  <macro@mips.com>
713
714         * config/tc-mips.c (md_show_usage): Report `-mmips16e2' and
715         `-mno-mips16e2' options.
716
717 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
718
719         * doc/c-mips.texi (MIPS ASE Instruction Generation Overrides):
720         Correct syntax of the `.set nomips16e2' directive description.
721
722 2018-01-22  Oleg Endo  <olegendo@gcc.gnu.org>
723
724         PR 22737
725         * config/tc-rx.c (rx_start_line): Handle escaped double-quote character.
726         * testsuite/gas/rx/pr22737.s: New test.
727         * testsuite/gas/rx/pr22737.d: Likewise.
728         * testsuite/gas/rx/rx.exp: Run the new test.
729
730 2018-01-19  Thomas Preud'homme  <thomas.preudhomme@arm.com>
731
732         * config/tc-arm.c (ToC macro): Remove spurious comment.
733         (ToU macro): Likewise.
734
735 2018-01-17  Jim Wilson  <jimw@sifive.com>
736
737         * config/tc-riscv.c (validate_riscv_insn) <'z'>: New.
738         (riscv_ip) <'z'>: New.
739
740 2018-01-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
741
742         * config/tc-i386.c (cpu_arch): Delete .cet. Add .ibt, .shstk.
743         (cpu_noarch): Add noibt, noshstk.
744         (parse_insn): Change cpucet to cpuibt.
745         * doc/c-i386.texi: Delete .cet. Add .ibt, .shstk.
746         * testsuite/gas/i386/cet-ibt-inval.l: New test.
747         * testsuite/gas/i386/cet-ibt-inval.s: Likewise.
748         * testsuite/gas/i386/cet-shstk-inval.l: Likewise.
749         * testsuite/gas/i386/cet-shstk-inval.s: Likewise.
750         * testsuite/gas/i386/x86-64-cet-ibt-inval.l: Likewise.
751         * testsuite/gas/i386/x86-64-cet-ibt-inval.s: Likewise.
752         * testsuite/gas/i386/x86-64-cet-shstk-inval.l: Likewise.
753         * testsuite/gas/i386/x86-64-cet-shstk-inval.s: Likewise.
754
755 2018-01-16  Nick Clifton  <nickc@redhat.com>
756
757         * po/fr.po: Updated French translation.
758
759 2018-01-15  Jim Wilson  <jimw@sifive.com>
760
761         * testsuite/gas/riscv/c-zero-imm.s: Test addi that compresses to c.nop.
762         * testsuite/gas/riscv/c-zero-imm.d: Likewise.
763
764 2018-01-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
765
766         * config/tc-arm.c (ToC): Define macro.
767         (ToU): Likewise.
768         (insns): Make use of above macros for new instructions introduced in
769         Armv8-M.
770
771 2018-01-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
772
773         * config/tc-arm.c (insns): Make blxns, bxns, tt, ttt, tta, ttat, vlldm
774         and vlstm conditionally executable and reindent parameters.
775         * testsuite/gas/arm/archv8m-cmse-main.s: Add conditional version of
776         aforementionned instructions.
777
778 2018-01-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
779
780         * config/tc-arm.c (it_fsm_post_encode): Do not warn if targeting M
781         profile architecture or if in autodetection mode.  Clarify that
782         deprecation is for performance reason and concerns Armv8-A and Armv8-R.
783         * testsuite/gas/arm/armv8-ar-bad.l: Adapt to new IT deprecation warning
784         message.
785         * testsuite/gas/arm/armv8-ar-it-bad.l: Likewise.
786         * testsuite/gas/arm/sp-pc-validations-bad-t-v8a.l: Likewise.
787         * testsuite/gas/arm/udf.l: Likewise.
788         * testsuite/gas/arm/udf.d: Assemble for Armv8-A explicitely.
789
790 2018-01-15  Nick Clifton  <nickc@redhat.com>
791
792         * po/uk.po: Updated Ukranian translation.
793
794 2018-01-13  Nick Clifton  <nickc@redhat.com>
795
796         * po/gas.pot: Regenerated.
797
798 2018-01-13  Nick Clifton  <nickc@redhat.com>
799
800         * configure: Regenerate.
801
802 2018-01-13  Nick Clifton  <nickc@redhat.com>
803
804         2.30 branch created.
805         * NEWS: Add marker for 2.30.
806
807 2018-01-12  Gunther Nikl  <gnikl@users.sourceforge.net>
808
809         * gas/config/aout_gnu.h (USE_EXTENDED_RELOC): Explicitly
810         define to 0 and 1. Remove a dangling reference to "AMD 29000"
811         in a comment.
812
813 2018-01-11  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
814
815         * testsuite/i386/avx512_4fmaps_vl-warn.l: Likewise.
816         * testsuite/i386/avx512_4fmaps_vl-warn.s: Likewise.
817         * testsuite/i386/avx512_4fmaps_vl.d: Likewise.
818         * testsuite/i386/avx512_4fmaps_vl.s: Likewise.
819         * testsuite/i386/avx512_4vnniw_vl-intel.d: Likewise.
820         * testsuite/i386/avx512_4vnniw_vl.d: Likewise.
821         * testsuite/i386/avx512_4vnniw_vl.s: Likewise.
822         * testsuite/i386/i386.exp: Removed _vl tests for 4fmaps an 4vnniw
823         tests.
824         * testsuite/i386/x86-64-avx512_4fmaps_vl-intel.d: Removed.
825         * testsuite/i386/x86-64-avx512_4fmaps_vl-warn.l: Likewise.
826         * testsuite/i386/x86-64-avx512_4fmaps_vl-warn.s: Likewise.
827         * testsuite/i386/x86-64-avx512_4fmaps_vl.d: Likewise.
828         * testsuite/i386/x86-64-avx512_4fmaps_vl.s: Likewise.
829         * testsuite/i386/x86-64-avx512_4vnniw_vl-intel.d: Likewise.
830         * testsuite/i386/x86-64-avx512_4vnniw_vl.d: Likewise.
831         * testsuite/i386/x86-64-avx512_4vnniw_vl.s: Likewise.
832
833 2018-01-11  Alan Modra  <amodra@gmail.com>
834
835         * config/tc-arm.c (aeabi_set_public_attributes): Avoid false
836         positive "‘profile’ may be used uninitialized".
837
838 2018-01-10  Jan Beulich  <jbeulich@suse.com>
839
840         * testsuite/gas/i386/avx512_4fmaps.s,
841         testsuite/gas/i386/avx512_4fmaps_vl.s,
842         testsuite/gas/i386/x86-64-avx512_4fmaps.s,
843         testsuite/gas/i386/x86-64-avx512_4fmaps_vl.s: Actually test
844         Disp8 forms (and the transition happening at the right
845         boundary).
846         * testsuite/gas/i386/avx512_4fmaps.d,
847         testsuite/gas/i386/avx512_4fmaps-intel.d,
848         testsuite/gas/i386/avx512_4fmaps_vl.d,
849         testsuite/gas/i386/avx512_4fmaps_vl-intel.d,
850         testsuite/gas/i386/x86-64-avx512_4fmaps.d,
851         testsuite/gas/i386/x86-64-avx512_4fmaps-intel.d,
852         testsuite/gas/i386/x86-64-avx512_4fmaps_vl.d,
853         testsuite/gas/i386/x86-64-avx512_4fmaps_vl-intel.d: Adjust
854         expectations.
855
856 2018-01-10  Jan Beulich  <jbeulich@suse.com>
857
858         * testsuite/gas/i386/avx512bw.s,
859         testsuite/gas/i386/avx512bw_vl.s: Add VPCMP* tests with memory
860         operands.
861         * testsuite/gas/i386/avx512bw-intel.d,
862         testsuite/gas/i386/avx512bw.d,
863         testsuite/gas/i386/avx512bw_vl-intel.d.
864         testsuite/gas/i386/avx512bw_vl.d: Adjust expectations.
865
866 2018-01-09  Jim Wilson  <jimw@sifive.com>
867
868         * testsuite/gas/riscv/auipc-x0.d: New.
869         * testsuite/gas/riscv/auipc-x0.s: New.
870
871 2018-01-09  James Greenhalgh  <james.greenhalgh@arm.com>
872
873         * config/tc-arm.c (insns): Add csdb, enable for Armv3 and above
874         in Arm execution state, and Armv6T2 and above in Thumb execution
875         state.
876         * testsuite/gas/arm/csdb.s: New.
877         * testsuite/gas/arm/csdb.d: New.
878         * testsuite/gas/arm/thumb2_it_bad.l: Add csdb.
879         * testsuite/gas/arm/thumb2_it_bad.s: Add csdb.
880
881 2018-01-09  James Greenhalgh  <james.greenhalgh@arm.com>
882
883         * testsuite/gas/aarch64/system.d: Update expected results to expect
884         CSDB for hint 0x14.
885
886 2018-01-08  H.J. Lu  <hongjiu.lu@intel.com>
887
888         PR gas/22681
889         * testsuite/gas/i386/i386.exp: Run x86-64-movd and
890         x86-64-movd-intel.
891         * testsuite/gas/i386/x86-64-movd-intel.d: New file.
892         * testsuite/gas/i386/x86-64-movd.d: Likewise.
893         * testsuite/gas/i386/x86-64-movd.s: Likewise.
894
895 2018-01-08  Nick Clifton  <nickc@redhat.com>
896
897         PR 22553
898         * doc/c-i386.texi (i386-Directives): Document the .largecomm
899         directive.
900
901 2018-01-04  Jim Wilson  <jimw@sifive.com>
902
903         * testsuite/gas/riscv/priv-reg.s: Add missing stval and mtval.
904         * testsuite/gas/riscv/priv-reg.d: Likewise.
905
906 2018-01-03  Alan Modra  <amodra@gmail.com>
907
908         Update year range in copyright notice of all files.
909
910 2018-01-02  Nick Clifton  <nickc@redhat.com>
911
912         PR 18119
913         * config/tc-arm.c (do_mrs): Fix test of bits 16-19 in non-banked
914         version of ARM MRS instruction.
915
916 For older changes see ChangeLog-2017
917 \f
918 Copyright (C) 2018 Free Software Foundation, Inc.
919
920 Copying and distribution of this file, with or without modification,
921 are permitted in any medium without royalty provided the copyright
922 notice and this notice are preserved.
923
924 Local Variables:
925 mode: change-log
926 left-margin: 8
927 fill-column: 74
928 version-control: never
929 End: