c8af99f3623bb6abe59632b51d16191a65892008
[external/binutils.git] / opcodes / ChangeLog
1 2019-07-16  Jan Beulich  <jbeulich@suse.com>
2
3         * i386-gen.c (operand_types): Move RegMem ...
4         (opcode_modifiers): ... here.
5         * i386-opc.h (RegMem): Move to opcode modifer enum.
6         (union i386_operand_type): Move regmem field ...
7         (struct i386_opcode_modifier): ... here.
8         * i386-opc.tbl (RegMem): Define.
9         (mov, movq): Move RegMem on segment, control, debug, and test
10         register flavors.
11         (pextrb): Move RegMem on register only flavors. Add IgnoreSize
12         to non-SSE2AVX flavor.
13         (extractps, pextrw, vcvtps2ph, vextractps, vpextrb, vpextrw):
14         Move RegMem on register only flavors. Drop IgnoreSize from
15         legacy encoding flavors.
16         (movss, movsd, vmovss, vmovsd): Drop RegMem from register only
17         flavors.
18         (vpinsrb, vpinsrw): Drop IgnoreSize where still present on
19         register only flavors.
20         (vmovd): Move RegMem and drop IgnoreSize on register only
21         flavor. Change opcode and operand order to store form.
22         * opcodes/i386-init.h, i386-tbl.h: Re-generate.
23
24 2019-07-16  Jan Beulich  <jbeulich@suse.com>
25
26         * i386-gen.c (operand_type_init, operand_types): Replace SReg
27         entries.
28         * i386-opc.h (SReg2, SReg3): Replace by ...
29         (SReg): ... this.
30         (union i386_operand_type): Replace sreg fields.
31         * i386-opc.tbl (mov, ): Use SReg.
32         (push, pop): Likewies. Drop i386 and x86-64 specific segment
33         register flavors.
34         * i386-reg.tbl (cs, ds, es, fs, gs, ss, flat): Use SReg.
35         * opcodes/i386-init.h, i386-tbl.h: Re-generate.
36
37 2019-07-15  Jose E. Marchesi  <jose.marchesi@oracle.com>
38
39         * bpf-desc.c: Regenerate.
40         * bpf-opc.c: Likewise.
41         * bpf-opc.h: Likewise.
42
43 2019-07-14  Jose E. Marchesi  <jose.marchesi@oracle.com>
44
45         * bpf-desc.c: Regenerate.
46         * bpf-opc.c: Likewise.
47
48 2019-07-10  Hans-Peter Nilsson  <hp@bitrange.com>
49
50         * arm-dis.c (print_insn_coprocessor): Rename index to
51         index_operand.
52
53 2019-07-05  Kito Cheng <kito.cheng@sifive.com>
54
55         * riscv-opc.c (riscv_insn_types): Add r4 type.
56
57         * riscv-opc.c (riscv_insn_types): Add b and j type.
58
59         * opcodes/riscv-opc.c (riscv_insn_types): Remove incorrect
60         format for sb type and correct s type.
61
62 2019-07-02  Richard Sandiford  <richard.sandiford@arm.com>
63
64         * aarch64-tbl.h (aarch64_opcode): Set C_SCAN_MOVPRFX for the
65         SVE FMOV alias of FCPY.
66
67 2019-07-02  Richard Sandiford  <richard.sandiford@arm.com>
68
69         * aarch64-tbl.h (aarch64_opcode_table): Add C_MAX_ELEM flags
70         to SVE fcvtzs, fcvtzu, scvtf and ucvtf entries.
71
72 2019-07-02  Richard Sandiford  <richard.sandiford@arm.com>
73
74         * aarch64-opc.c (verify_constraints): Skip GPRs when scanning the
75         registers in an instruction prefixed by MOVPRFX.
76
77 2019-07-01  Matthew Malcomson  <matthew.malcomson@arm.com>
78
79         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Use new
80         sve_size_13 icode to account for variant behaviour of
81         pmull{t,b}.
82         * aarch64-dis-2.c: Regenerate.
83         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Use new
84         sve_size_13 icode to account for variant behaviour of
85         pmull{t,b}.
86         * aarch64-tbl.h (OP_SVE_VVV_HD_BS): Add new qualifier.
87         (OP_SVE_VVV_Q_D): Add new qualifier.
88         (OP_SVE_VVV_QHD_DBS): Remove now unused qualifier.
89         (struct aarch64_opcode): Split pmull{t,b} into those requiring
90         AES and those not.
91
92 2019-07-01  Jan Beulich  <jbeulich@suse.com>
93
94         * opcodes/i386-gen.c (operand_type_init): Remove
95         OPERAND_TYPE_VEC_IMM4 entry.
96         (operand_types): Remove Vec_Imm4.
97         * opcodes/i386-opc.h (Vec_Imm4): Delete.
98         (union i386_operand_type): Remove vec_imm4.
99         * i386-opc.tbl (vpermil2pd, vpermil2ps): Remove Vec_Imm4.
100         * opcodes/i386-init.h, i386-tbl.h: Re-generate.
101
102 2019-07-01  Jan Beulich  <jbeulich@suse.com>
103
104         * i386-opc.tbl (lfence, mfence, sfence, monitor, mwait, vmcall,
105         vmlaunch, vmresume, vmxoff, vmfunc, xgetbv, xsetbv, swapgs,
106         rdtscp, clgi, invlpga, skinit, stgi, vmload, vmmcall, vmrun,
107         vmsave, montmul, xsha1, xsha256, xstorerng, xcryptecb,
108         xcryptcbc, xcryptctr, xcryptcfb, xcryptofb, xstore, clac, stac,
109         monitorx, mwaitx): Drop ImmExt from operand-less forms.
110         * i386-tbl.h: Re-generate.
111
112 2019-07-01  Jan Beulich  <jbeulich@suse.com>
113
114         * i386-opc.tbl (and, or): Add Optimize to forms allowing two
115         register operands.
116         * i386-tbl.h: Re-generate.
117
118 2019-07-01  Jan Beulich  <jbeulich@suse.com>
119
120         * i386-opc.tbl (C): New.
121         (paddb, paddw, paddd, paddq, paddsb, paddsw, paddusb, paddusw,
122         pand, pcmpeqb, pcmpeqw, pcmpeqd, pmaddwd, pmulhw, pmullw,
123         por, pxor, andps, cmpeqps, cmpeqss, cmpneqps, cmpneqss,
124         cmpordps, cmpordss, cmpunordps, cmpunordss, orps, pavgb, pavgw,
125         pmaxsw, pmaxub, pminsw, pminub, pmulhuw, xorps, andpd, cmpeqpd,
126         cmpeqsd, cmpneqpd, cmpneqsd, cmpordpd, cmpordsd, cmpunordpd,
127         cmpunordsd, orpd, xorpd, pmuludq, vandpd, vandps, vcmpeq_ospd,
128         vcmpeq_osps, vcmpeq_ossd, vcmpeq_osss, vcmpeqpd, vcmpeqps,
129         vcmpeqsd, vcmpeqss, vcmpeq_uqpd, vcmpeq_uqps, vcmpeq_uqsd,
130         vcmpeq_uqss, vcmpeq_uspd, vcmpeq_usps, vcmpeq_ussd,
131         vcmpeq_usss, vcmpfalse_ospd, vcmpfalse_osps, vcmpfalse_ossd,
132         vcmpfalse_osss, vcmpfalsepd, vcmpfalseps, vcmpfalsesd,
133         vcmpfalsess, vcmpneq_oqpd, vcmpneq_oqps, vcmpneq_oqsd,
134         vcmpneq_oqss, vcmpneq_ospd, vcmpneq_osps, vcmpneq_ossd,
135         vcmpneq_osss, vcmpneqpd, vcmpneqps, vcmpneqsd, vcmpneqss,
136         vcmpneq_uspd, vcmpneq_usps, vcmpneq_ussd, vcmpneq_usss,
137         vcmpordpd, vcmpordps, vcmpordsd, vcmpord_spd, vcmpord_sps,
138         vcmpordss, vcmpord_ssd, vcmpord_sss, vcmptruepd, vcmptrueps,
139         vcmptruesd, vcmptruess, vcmptrue_uspd, vcmptrue_usps,
140         vcmptrue_ussd, vcmptrue_usss, vcmpunordpd, vcmpunordps,
141         vcmpunordsd, vcmpunord_spd, vcmpunord_sps, vcmpunordss,
142         vcmpunord_ssd, vcmpunord_sss, vorpd, vorps, vpaddsb, vpaddsw,
143         vpaddb, vpaddd, vpaddq, vpaddw, vpaddusb, vpaddusw, vpand,
144         vpavgb, vpavgw, vpcmpeqb, vpcmpeqd, vpcmpeqw, vpmaddwd,
145         vpmaxsw, vpmaxub, vpminsw, vpminub, vpmulhuw, vpmulhw, vpmullw,
146         vpmuludq, vpor, vpxor, vxorpd, vxorps): Add C to VEX-encoded
147         flavors.
148         * i386-tbl.h: Re-generate.
149
150 2019-07-01  Jan Beulich  <jbeulich@suse.com>
151
152         * i386-opc.tbl (and, or): Add Optimize to forms allowing two
153         register operands.
154         * i386-tbl.h: Re-generate.
155
156 2019-07-01  Jan Beulich  <jbeulich@suse.com>
157
158         * i386-dis-evex-prefix.h: Use PCLMUL for vpclmulqdq.
159         * i386-opc.tbl (vpclmullqlqdq, vpclmulhqlqdq, vpclmullqhqdq,
160         vpclmulhqhqdq): Add CpuVPCLMULQDQ flavors.
161         * i386-tbl.h: Re-generate.
162
163 2019-07-01  Jan Beulich  <jbeulich@suse.com>
164
165         * i386-opc.tbl (vextractps, vpextrw, vpinsrw): Remove
166         Disp8MemShift from register only templates.
167         * i386-tbl.h: Re-generate.
168
169 2019-07-01  Jan Beulich  <jbeulich@suse.com>
170
171         * i386-dis.c (EXdScalarS, MOD_EVEX_0F10_PREFIX_1,
172         MOD_EVEX_0F10_PREFIX_3, MOD_EVEX_0F11_PREFIX_1,
173         MOD_EVEX_0F11_PREFIX_3, EVEX_W_0F10_P_1_M_0,
174         EVEX_W_0F10_P_1_M_1, EVEX_W_0F10_P_3_M_0, EVEX_W_0F10_P_3_M_1,
175         EVEX_W_0F11_P_1_M_0, EVEX_W_0F11_P_1_M_1, EVEX_W_0F11_P_3_M_0,
176         EVEX_W_0F11_P_3_M_1): Delete.
177         (EVEX_W_0F10_P_1, EVEX_W_0F10_P_3, EVEX_W_0F11_P_1,
178         EVEX_W_0F11_P_3): New.
179         * i386-dis-evex-mod.h: Remove MOD_EVEX_0F10_PREFIX_1,
180         MOD_EVEX_0F10_PREFIX_3, MOD_EVEX_0F11_PREFIX_1, and
181         MOD_EVEX_0F11_PREFIX_3 table entries.
182         * i386-dis-evex-prefix.h: Adjust PREFIX_EVEX_0F10 and
183         PREFIX_EVEX_0F11 table entries.
184         * i386-dis-evex-w.h: Replace EVEX_W_0F10_P_1_M_{0,1},
185         EVEX_W_0F10_P_3_M_{0,1}, EVEX_W_0F11_P_1_M_{0,1}, and
186         EVEX_W_0F11_P_3_M_{0,1} table entries.
187
188 2019-07-01  Jan Beulich  <jbeulich@suse.com>
189
190         * i386-dis.c (EXdVex, EXdVexS, EXqVex, EXqVexS, XMVex):
191         Delete.
192
193 2019-06-27  H.J. Lu  <hongjiu.lu@intel.com>
194
195         PR binutils/24719
196         * i386-dis-evex-len.h: Add EVEX_LEN_0F38C6_REG_1_PREFIX_2,
197         EVEX_LEN_0F38C6_REG_2_PREFIX_2, EVEX_LEN_0F38C6_REG_5_PREFIX_2,
198         EVEX_LEN_0F38C6_REG_6_PREFIX_2, EVEX_LEN_0F38C7_R_1_P_2_W_0,
199         EVEX_LEN_0F38C7_R_1_P_2_W_1, EVEX_LEN_0F38C7_R_2_P_2_W_0,
200         EVEX_LEN_0F38C7_R_2_P_2_W_1, EVEX_LEN_0F38C7_R_5_P_2_W_0,
201         EVEX_LEN_0F38C7_R_5_P_2_W_1, EVEX_LEN_0F38C7_R_6_P_2_W_0 and
202         EVEX_LEN_0F38C7_R_6_P_2_W_1.
203         * i386-dis-evex-prefix.h: Update PREFIX_EVEX_0F38C6_REG_1,
204         PREFIX_EVEX_0F38C6_REG_2, PREFIX_EVEX_0F38C6_REG_5 and
205         PREFIX_EVEX_0F38C6_REG_6 entries.
206         * i386-dis-evex-w.h: Update EVEX_W_0F38C7_R_1_P_2,
207         EVEX_W_0F38C7_R_2_P_2, EVEX_W_0F38C7_R_5_P_2 and
208         EVEX_W_0F38C7_R_6_P_2 entries.
209         * i386-dis.c: Add EVEX_LEN_0F38C6_REG_1_PREFIX_2,
210         EVEX_LEN_0F38C6_REG_2_PREFIX_2, EVEX_LEN_0F38C6_REG_5_PREFIX_2,
211         EVEX_LEN_0F38C6_REG_6_PREFIX_2, EVEX_LEN_0F38C7_R_1_P_2_W_0,
212         EVEX_LEN_0F38C7_R_1_P_2_W_1, EVEX_LEN_0F38C7_R_2_P_2_W_0,
213         EVEX_LEN_0F38C7_R_2_P_2_W_1, EVEX_LEN_0F38C7_R_5_P_2_W_0,
214         EVEX_LEN_0F38C7_R_5_P_2_W_1, EVEX_LEN_0F38C7_R_6_P_2_W_0 and
215         EVEX_LEN_0F38C7_R_6_P_2_W_1 enums.
216
217 2019-06-27  Jan Beulich  <jbeulich@suse.com>
218
219         * i386-dis.c (VEX_LEN_0F2A_P_1, VEX_LEN_0F2A_P_3,
220         VEX_LEN_0F2C_P_1, VEX_LEN_0F2C_P_3, VEX_LEN_0F2D_P_1,
221         VEX_LEN_0F2D_P_3): Delete.
222         (vex_len_table): Move vcvtsi2ss, vcvtsi2sd, vcvttss2si,
223         vcvttsd2si, vcvtss2si, and vcvtsd2si leaf entries ...
224         (prefix_table): ... here.
225
226 2019-06-27  Jan Beulich  <jbeulich@suse.com>
227
228         * i386-dis.c (Iq): Delete.
229         (Id): New.
230         (reg_table): Use it for lwpins, lwpval, and bextr. Use Edq for
231         TBM insns.
232         (vex_len_table): Use Edq for vcvtsi2ss, vcvtsi2sd. Use Gdq for
233         vcvttss2si, vcvttsd2si, vcvtss2si, and vcvtsd2si.
234         (OP_E_memory): Also honor needindex when deciding whether an
235         address size prefix needs printing.
236         (OP_I): Remove handling of q_mode. Add handling of d_mode.
237
238 2019-06-26  Jim Wilson  <jimw@sifive.com>
239
240         PR binutils/24739
241         * riscv-dis.c (riscv_disasemble_insn): Set info->endian_code.
242         Set info->display_endian to info->endian_code.
243
244 2019-06-25  Jan Beulich  <jbeulich@suse.com>
245
246         * i386-gen.c (operand_type_init): Correct OPERAND_TYPE_DEBUG
247         entry. Drop OPERAND_TYPE_ACC entry. Add OPERAND_TYPE_ACC8 and
248         OPERAND_TYPE_ACC16 entries. Adjust OPERAND_TYPE_ACC32 and
249         OPERAND_TYPE_ACC64 entries.
250         * i386-init.h: Re-generate.
251
252 2019-06-25  Jan Beulich  <jbeulich@suse.com>
253
254         * i386-dis.c (Edqa, dqa_mode, EVEX_W_0F2A_P_1, EVEX_W_0F7B_P_1):
255         Delete.
256         (intel_operand_size, OP_E_register, OP_E_memory): Drop handling
257         of dqa_mode.
258         * i386-dis-evex-prefix.h: Move vcvtsi2ss and vcvtusi2ss leaf
259         entries here.
260         * i386-dis-evex-w.h: Drop EVEX_W_0F2A_P_1 and EVEX_W_0F7B_P_1
261         entries. Use Edq for vcvtsi2sd and vcvtusi2sd.
262
263 2019-06-25  Jan Beulich  <jbeulich@suse.com>
264
265         * i386-dis.c (OP_I64): Forword more cases to OP_I(). Drop local
266         variables.
267
268 2019-06-25  Jan Beulich  <jbeulich@suse.com>
269
270         * i386-dis.c (prefix_table): Use Edq for cvtsi2ss and cvtsi2sd.
271         Use Gdq for cvttss2si, cvttsd2si, cvtss2si, and cvtsd2si, and
272         movnti.
273         * i386-opc.tbl (movnti): Add IgnoreSize.
274         * i386-tbl.h: Re-generate.
275
276 2019-06-25  Jan Beulich  <jbeulich@suse.com>
277
278         * i386-opc.tbl (and): Mark Imm8S form for optimization.
279         * i386-tbl.h: Re-generate.
280
281 2019-06-21  H.J. Lu  <hongjiu.lu@intel.com>
282
283         * i386-dis-evex.h: Break into ...
284         * i386-dis-evex-len.h: New file.
285         * i386-dis-evex-mod.h: Likewise.
286         * i386-dis-evex-prefix.h: Likewise.
287         * i386-dis-evex-reg.h: Likewise.
288         * i386-dis-evex-w.h: Likewise.
289         * i386-dis.c: Include i386-dis-evex-reg.h, i386-dis-evex-prefix.h,
290         i386-dis-evex.h, i386-dis-evex-len.h, i386-dis-evex-w.h and
291         i386-dis-evex-mod.h.
292
293 2019-06-19  H.J. Lu  <hongjiu.lu@intel.com>
294
295         PR binutils/24700
296         * i386-dis-evex.h (evex_table): Update EVEX_W_0F3819_P_2,
297         EVEX_W_0F381A_P_2, EVEX_W_0F381B_P_2, EVEX_W_0F385A_P_2 and
298         EVEX_W_0F385B_P_2.
299         (evex_len_table): Add EVEX_LEN_0F3819_P_2_W_0,
300         EVEX_LEN_0F3819_P_2_W_1, EVEX_LEN_0F381A_P_2_W_0,
301         EVEX_LEN_0F381A_P_2_W_1, EVEX_LEN_0F381B_P_2_W_0,
302         EVEX_LEN_0F381B_P_2_W_1, EVEX_LEN_0F385A_P_2_W_0,
303         EVEX_LEN_0F385A_P_2_W_1, EVEX_LEN_0F385B_P_2_W_0 and
304         EVEX_LEN_0F385B_P_2_W_1.
305         * i386-dis.c (EVEX_LEN_0F3819_P_2_W_0): New enum.
306         (EVEX_LEN_0F3819_P_2_W_1): Likewise.
307         (EVEX_LEN_0F381A_P_2_W_0): Likewise.
308         (EVEX_LEN_0F381A_P_2_W_1): Likewise.
309         (EVEX_LEN_0F381B_P_2_W_0): Likewise.
310         (EVEX_LEN_0F381B_P_2_W_1): Likewise.
311         (EVEX_LEN_0F385A_P_2_W_0): Likewise.
312         (EVEX_LEN_0F385A_P_2_W_1): Likewise.
313         (EVEX_LEN_0F385B_P_2_W_0): Likewise.
314         (EVEX_LEN_0F385B_P_2_W_1): Likewise.
315
316 2019-06-17  H.J. Lu  <hongjiu.lu@intel.com>
317
318         PR binutils/24691
319         * i386-dis-evex.h (evex_table): Update EVEX_W_0F3A23_P_2,
320         EVEX_W_0F3A38_P_2, EVEX_W_0F3A39_P_2, EVEX_W_0F3A3A_P_2,
321         EVEX_W_0F3A3B_P_2 and EVEX_W_0F3A43_P_2.
322         (evex_len_table): Add EVEX_LEN_0F3A23_P_2_W_0,
323         EVEX_LEN_0F3A23_P_2_W_1, EVEX_LEN_0F3A38_P_2_W_0,
324         EVEX_LEN_0F3A38_P_2_W_1, EVEX_LEN_0F3A39_P_2_W_0,
325         EVEX_LEN_0F3A39_P_2_W_1, EVEX_LEN_0F3A3A_P_2_W_0,
326         EVEX_LEN_0F3A3A_P_2_W_1, EVEX_LEN_0F3A3B_P_2_W_0,
327         EVEX_LEN_0F3A3B_P_2_W_1, EVEX_LEN_0F3A43_P_2_W_0 and
328         EVEX_LEN_0F3A43_P_2_W_1.
329         * i386-dis.c (EVEX_LEN_0F3A23_P_2_W_0): New enum.
330         (EVEX_LEN_0F3A23_P_2_W_1): Likewise.
331         (EVEX_LEN_0F3A38_P_2_W_0): Likewise.
332         (EVEX_LEN_0F3A38_P_2_W_1): Likewise.
333         (EVEX_LEN_0F3A39_P_2_W_0): Likewise.
334         (EVEX_LEN_0F3A39_P_2_W_1): Likewise.
335         (EVEX_LEN_0F3A3A_P_2_W_0): Likewise.
336         (EVEX_LEN_0F3A3A_P_2_W_1): Likewise.
337         (EVEX_LEN_0F3A3B_P_2_W_0): Likewise.
338         (EVEX_LEN_0F3A3B_P_2_W_1): Likewise.
339         (EVEX_LEN_0F3A43_P_2_W_0): Likewise.
340         (EVEX_LEN_0F3A43_P_2_W_1): Likewise.
341
342 2019-06-14  Nick Clifton  <nickc@redhat.com>
343
344         * po/fr.po; Updated French translation.
345
346 2019-06-13  Stafford Horne  <shorne@gmail.com>
347
348         * or1k-asm.c: Regenerated.
349         * or1k-desc.c: Regenerated.
350         * or1k-desc.h: Regenerated.
351         * or1k-dis.c: Regenerated.
352         * or1k-ibld.c: Regenerated.
353         * or1k-opc.c: Regenerated.
354         * or1k-opc.h: Regenerated.
355         * or1k-opinst.c: Regenerated.
356
357 2019-06-12  Peter Bergner  <bergner@linux.ibm.com>
358
359         * ppc-opc.c (powerpc_opcodes) <ldmx>: Delete mnemonic.
360
361 2019-06-05  H.J. Lu  <hongjiu.lu@intel.com>
362
363         PR binutils/24633
364         * i386-dis-evex.h (evex_table): Update EVEX_W_0F3A18_P_2,
365         EVEX_W_0F3A19_P_2, EVEX_W_0F3A1A_P_2 and EVEX_W_0F3A1B_P_2.
366         (evex_len_table): EVEX_LEN_0F3A18_P_2_W_0,
367         EVEX_LEN_0F3A18_P_2_W_1, EVEX_LEN_0F3A19_P_2_W_0,
368         EVEX_LEN_0F3A19_P_2_W_1, EVEX_LEN_0F3A1A_P_2_W_0,
369         EVEX_LEN_0F3A1A_P_2_W_1, EVEX_LEN_0F3A1B_P_2_W_0,
370         EVEX_LEN_0F3A1B_P_2_W_1.
371         * i386-dis.c (EVEX_LEN_0F3A18_P_2_W_0): New enum.
372         (EVEX_LEN_0F3A18_P_2_W_1): Likewise.
373         (EVEX_LEN_0F3A19_P_2_W_0): Likewise.
374         (EVEX_LEN_0F3A19_P_2_W_1): Likewise.
375         (EVEX_LEN_0F3A1A_P_2_W_0): Likewise.
376         (EVEX_LEN_0F3A1A_P_2_W_1): Likewise.
377         (EVEX_LEN_0F3A1B_P_2_W_0): Likewise.
378         (EVEX_LEN_0F3A1B_P_2_W_1): Likewise.
379
380 2019-06-04  H.J. Lu  <hongjiu.lu@intel.com>
381
382         PR binutils/24626
383         * i386-dis.c (print_insn): Check for unused VEX.vvvv and
384         EVEX.vvvv when disassembling VEX and EVEX instructions.
385         (OP_VEX): Set vex.register_specifier to 0 after readding
386         vex.register_specifier.
387         (OP_Vex_2src_1): Likewise.
388         (OP_Vex_2src_2): Likewise.
389         (OP_LWP_E): Likewise.
390         (OP_EX_Vex): Don't check vex.register_specifier.
391         (OP_XMM_Vex): Likewise.
392
393 2019-06-04  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
394             Lili Cui  <lili.cui@intel.com>
395
396         * i386-dis.c (enum): Add PREFIX_EVEX_0F3868, EVEX_W_0F3868_P_3.
397         * i386-dis-evex.h (evex_table): Add AVX512_VP2INTERSECT
398         instructions.
399         * i386-gen.c (cpu_flag_init): Add CPU_AVX512_VP2INTERSECT_FLAGS,
400         CPU_ANY_AVX512_VP2INTERSECT_FLAGS.
401         (cpu_flags): Add CpuAVX512_VP2INTERSECT.
402         * i386-opc.h (enum): Add CpuAVX512_VP2INTERSECT.
403         (i386_cpu_flags): Add cpuavx512_vp2intersect.
404         * i386-opc.tbl: Add AVX512_VP2INTERSECT insns.
405         * i386-init.h: Regenerated.
406         * i386-tbl.h: Likewise.
407
408 2019-06-04  Xuepeng Guo  <xuepeng.guo@intel.com>
409             Lili Cui  <lili.cui@intel.com>
410
411         * doc/c-i386.texi: Document enqcmd.
412         * testsuite/gas/i386/enqcmd-intel.d: New file.
413         * testsuite/gas/i386/enqcmd-inval.l: Likewise.
414         * testsuite/gas/i386/enqcmd-inval.s: Likewise.
415         * testsuite/gas/i386/enqcmd.d: Likewise.
416         * testsuite/gas/i386/enqcmd.s: Likewise.
417         * testsuite/gas/i386/x86-64-enqcmd-intel.d: Likewise.
418         * testsuite/gas/i386/x86-64-enqcmd-inval.l: Likewise.
419         * testsuite/gas/i386/x86-64-enqcmd-inval.s: Likewise.
420         * testsuite/gas/i386/x86-64-enqcmd.d: Likewise.
421         * testsuite/gas/i386/x86-64-enqcmd.s: Likewise.
422         * testsuite/gas/i386/i386.exp: Run enqcmd-intel, enqcmd-inval,
423         enqcmd, x86-64-enqcmd-intel, x86-64-enqcmd-inval,
424         and x86-64-enqcmd.
425
426 2019-06-04  Alan Hayward  <alan.hayward@arm.com>
427
428         * arm-dis.c (is_mve_unpredictable): Remove spurious paranthesis.
429
430 2019-06-03  Alan Modra  <amodra@gmail.com>
431
432         * ppc-dis.c (prefix_opcd_indices): Correct size.
433
434 2019-05-28  H.J. Lu  <hongjiu.lu@intel.com>
435
436         PR gas/24625
437         * i386-opc.tbl: Add CheckRegSize to AVX512_BF16 instructions with
438         Disp8ShiftVL.
439         * i386-tbl.h: Regenerated.
440
441 2019-05-24  Alan Modra  <amodra@gmail.com>
442
443         * po/POTFILES.in: Regenerate.
444
445 2019-05-24  Peter Bergner  <bergner@linux.ibm.com>
446             Alan Modra  <amodra@gmail.com>
447
448         * ppc-opc.c (insert_d34, extract_d34, insert_nsi34, extract_nsi34),
449         (insert_pcrel, extract_pcrel, extract_pcrel0): New functions.
450         (extract_esync, extract_raq, extract_tbr, extract_sxl): Comment.
451         (powerpc_operands <D34, SI34, NSI34, PRA0, PRAQ, PCREL, PCREL0,
452         XTOP>): Define and add entries.
453         (P8LS, PMLS, P_D_MASK, P_DRAPCREL_MASK): Define.
454         (prefix_opcodes): Add pli, paddi, pla, psubi, plwz, plbz, pstw,
455         pstb, plhz, plha, psth, plfs, plfd, pstfs, pstfd, plq, plxsd,
456         plxssp, pld, plwa, pstxsd, pstxssp, pstxv, pstd, and pstq.
457
458 2019-05-24  Peter Bergner  <bergner@linux.ibm.com>
459             Alan Modra  <amodra@gmail.com>
460
461         * ppc-dis.c (ppc_opts): Add "future" entry.
462         (PREFIX_OPCD_SEGS): Define.
463         (prefix_opcd_indices): New array.
464         (disassemble_init_powerpc): Initialize prefix_opcd_indices.
465         (lookup_prefix): New function.
466         (print_insn_powerpc): Handle 64-bit prefix instructions.
467         * ppc-opc.c (PREFIX_OP, PREFIX_FORM, SUFFIX_MASK, PREFIX_MASK),
468         (PMRR, POWERXX): Define.
469         (prefix_opcodes): New instruction table.
470         (prefix_num_opcodes): New constant.
471
472 2019-05-23  Jose E. Marchesi  <jose.marchesi@oracle.com>
473
474         * configure.ac (SHARED_DEPENDENCIES): Add case for bfd_bpf_arch.
475         * configure: Regenerated.
476         * Makefile.am: Add rules for the files generated from cpu/bpf.cpu
477         and cpu/bpf.opc.
478         (HFILES): Add bpf-desc.h and bpf-opc.h.
479         (TARGET_LIBOPCODES_CFILES): Add bpf-asm.c, bpf-desc.c, bpf-dis.c,
480         bpf-ibld.c and bpf-opc.c.
481         (BPF_DEPS): Define.
482         * Makefile.in: Regenerated.
483         * disassemble.c (ARCH_bpf): Define.
484         (disassembler): Add case for bfd_arch_bpf.
485         (disassemble_init_for_target): Likewise.
486         (enum epbf_isa_attr): Define.
487         * disassemble.h: extern print_insn_bpf.
488         * bpf-asm.c: Generated.
489         * bpf-opc.h: Likewise.
490         * bpf-opc.c: Likewise.
491         * bpf-ibld.c: Likewise.
492         * bpf-dis.c: Likewise.
493         * bpf-desc.h: Likewise.
494         * bpf-desc.c: Likewise.
495
496 2019-05-21  Sudakshina Das  <sudi.das@arm.com>
497
498         * arm-dis.c (coprocessor_opcodes): New instructions for VMRS
499         and VMSR with the new operands.
500
501 2019-05-21  Sudakshina Das  <sudi.das@arm.com>
502
503         * arm-dis.c (enum mve_instructions): New enum
504         for csinc, csinv, csneg, csel, cset, csetm, cinv, cinv
505         and cneg.
506         (mve_opcodes): New instructions as above.
507         (is_mve_encoding_conflict): Add cases for csinc, csinv,
508         csneg and csel.
509         (print_insn_mve): Accept new %<bitfield>c and %<bitfield>C.
510
511 2019-05-21  Sudakshina Das  <sudi.das@arm.com>
512
513         * arm-dis.c (emun mve_instructions): Updated for new instructions.
514         (mve_opcodes): New instructions for asrl, lsll, lsrl, sqrshrl,
515         sqrshr, sqshl, sqshll, srshr, srshrl, uqrshll, uqrshl, uqshll,
516         uqshl, urshrl and urshr.
517         (is_mve_okay_in_it): Add new instructions to TRUE list.
518         (is_mve_unpredictable): Add cases for UNPRED_R13 and UNPRED_R15.
519         (print_insn_mve): Updated to accept new %j,
520         %<bitfield>m and %<bitfield>n patterns.
521
522 2019-05-21  Faraz Shahbazker  <fshahbazker@wavecomp.com>
523
524         * mips-opc.c (mips_builtin_opcodes): Change source register
525         constraint for DAUI.
526
527 2019-05-20  Nick Clifton  <nickc@redhat.com>
528
529         * po/fr.po: Updated French translation.
530
531 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
532             Michael Collison <michael.collison@arm.com>
533
534         * arm-dis.c (thumb32_opcodes): Add new instructions.
535         (enum mve_instructions): Likewise.
536         (enum mve_undefined): Add new reasons.
537         (is_mve_encoding_conflict): Handle new instructions.
538         (is_mve_undefined): Likewise.
539         (is_mve_unpredictable): Likewise.
540         (print_mve_undefined): Likewise.
541         (print_mve_size): Likewise.
542
543 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
544             Michael Collison <michael.collison@arm.com>
545
546         * arm-dis.c (thumb32_opcodes): Add new instructions.
547         (enum mve_instructions): Likewise.
548         (is_mve_encoding_conflict): Handle new instructions.
549         (is_mve_undefined): Likewise.
550         (is_mve_unpredictable): Likewise.
551         (print_mve_size): Likewise.
552
553 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
554             Michael Collison <michael.collison@arm.com>
555
556         * arm-dis.c (thumb32_opcodes): Add new instructions.
557         (enum mve_instructions): Likewise.
558         (is_mve_encoding_conflict): Likewise.
559         (is_mve_unpredictable): Likewise.
560         (print_mve_size): Likewise.
561
562 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
563             Michael Collison <michael.collison@arm.com>
564
565         * arm-dis.c (thumb32_opcodes): Add new instructions.
566         (enum mve_instructions): Likewise.
567         (is_mve_encoding_conflict): Handle new instructions.
568         (is_mve_undefined): Likewise.
569         (is_mve_unpredictable): Likewise.
570         (print_mve_size): Likewise.
571
572 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
573             Michael Collison <michael.collison@arm.com>
574
575         * arm-dis.c (thumb32_opcodes): Add new instructions.
576         (enum mve_instructions): Likewise.
577         (is_mve_encoding_conflict): Handle new instructions.
578         (is_mve_undefined): Likewise.
579         (is_mve_unpredictable): Likewise.
580         (print_mve_size): Likewise.
581         (print_insn_mve): Likewise.
582
583 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
584             Michael Collison <michael.collison@arm.com>
585
586         * arm-dis.c (thumb32_opcodes): Add new instructions.
587         (print_insn_thumb32): Handle new instructions.
588
589 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
590             Michael Collison <michael.collison@arm.com>
591
592         * arm-dis.c (enum mve_instructions): Add new instructions.
593         (enum mve_undefined): Add new reasons.
594         (is_mve_encoding_conflict): Handle new instructions.
595         (is_mve_undefined): Likewise.
596         (is_mve_unpredictable): Likewise.
597         (print_mve_undefined): Likewise.
598         (print_mve_size): Likewise.
599         (print_mve_shift_n): Likewise.
600         (print_insn_mve): Likewise.
601
602 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
603             Michael Collison <michael.collison@arm.com>
604
605         * arm-dis.c (enum mve_instructions): Add new instructions.
606         (is_mve_encoding_conflict): Handle new instructions.
607         (is_mve_unpredictable): Likewise.
608         (print_mve_rotate): Likewise.
609         (print_mve_size): Likewise.
610         (print_insn_mve): Likewise.
611
612 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
613             Michael Collison <michael.collison@arm.com>
614
615         * arm-dis.c (enum mve_instructions): Add new instructions.
616         (is_mve_encoding_conflict): Handle new instructions.
617         (is_mve_unpredictable): Likewise.
618         (print_mve_size): Likewise.
619         (print_insn_mve): Likewise.
620
621 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
622             Michael Collison <michael.collison@arm.com>
623
624         * arm-dis.c (enum mve_instructions): Add new instructions.
625         (enum mve_undefined): Add new reasons.
626         (is_mve_encoding_conflict): Handle new instructions.
627         (is_mve_undefined): Likewise.
628         (is_mve_unpredictable): Likewise.
629         (print_mve_undefined): Likewise.
630         (print_mve_size): Likewise.
631         (print_insn_mve): Likewise.
632
633 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
634             Michael Collison <michael.collison@arm.com>
635
636         * arm-dis.c (enum mve_instructions): Add new instructions.
637         (is_mve_encoding_conflict): Handle new instructions.
638         (is_mve_undefined): Likewise.
639         (is_mve_unpredictable): Likewise.
640         (print_mve_size): Likewise.
641         (print_insn_mve): Likewise.
642
643 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
644             Michael Collison <michael.collison@arm.com>
645
646         * arm-dis.c (enum mve_instructions): Add new instructions.
647         (enum mve_unpredictable): Add new reasons.
648         (enum mve_undefined): Likewise.
649         (is_mve_okay_in_it): Handle new isntructions.
650         (is_mve_encoding_conflict): Likewise.
651         (is_mve_undefined): Likewise.
652         (is_mve_unpredictable): Likewise.
653         (print_mve_vmov_index): Likewise.
654         (print_simd_imm8): Likewise.
655         (print_mve_undefined): Likewise.
656         (print_mve_unpredictable): Likewise.
657         (print_mve_size): Likewise.
658         (print_insn_mve): Likewise.
659
660 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
661             Michael Collison <michael.collison@arm.com>
662
663         * arm-dis.c (enum mve_instructions): Add new instructions.
664         (enum mve_unpredictable): Add new reasons.
665         (enum mve_undefined): Likewise.
666         (is_mve_encoding_conflict): Handle new instructions.
667         (is_mve_undefined): Likewise.
668         (is_mve_unpredictable): Likewise.
669         (print_mve_undefined): Likewise.
670         (print_mve_unpredictable): Likewise.
671         (print_mve_rounding_mode): Likewise.
672         (print_mve_vcvt_size): Likewise.
673         (print_mve_size): Likewise.
674         (print_insn_mve): Likewise.
675
676 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
677             Michael Collison <michael.collison@arm.com>
678
679         * arm-dis.c (enum mve_instructions): Add new instructions.
680         (enum mve_unpredictable): Add new reasons.
681         (enum mve_undefined): Likewise.
682         (is_mve_undefined): Handle new instructions.
683         (is_mve_unpredictable): Likewise.
684         (print_mve_undefined): Likewise.
685         (print_mve_unpredictable): Likewise.
686         (print_mve_size): Likewise.
687         (print_insn_mve): Likewise.
688
689 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
690             Michael Collison <michael.collison@arm.com>
691
692         * arm-dis.c (enum mve_instructions): Add new instructions.
693         (enum mve_undefined): Add new reasons.
694         (insns): Add new instructions.
695         (is_mve_encoding_conflict):
696         (print_mve_vld_str_addr): New print function.
697         (is_mve_undefined): Handle new instructions.
698         (is_mve_unpredictable): Likewise.
699         (print_mve_undefined): Likewise.
700         (print_mve_size): Likewise.
701         (print_insn_coprocessor_1): Handle MVE VLDR, VSTR instructions.
702         (print_insn_mve):  Handle new operands.
703
704 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
705             Michael Collison <michael.collison@arm.com>
706
707         * arm-dis.c (enum mve_instructions): Add new instructions.
708         (enum mve_unpredictable): Add new reasons.
709         (is_mve_encoding_conflict): Handle new instructions.
710         (is_mve_unpredictable): Likewise.
711         (mve_opcodes): Add new instructions.
712         (print_mve_unpredictable): Handle new reasons.
713         (print_mve_register_blocks): New print function.
714         (print_mve_size): Handle new instructions.
715         (print_insn_mve): Likewise.
716
717 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
718             Michael Collison <michael.collison@arm.com>
719
720         * arm-dis.c (enum mve_instructions): Add new instructions.
721         (enum mve_unpredictable): Add new reasons.
722         (enum mve_undefined): Likewise.
723         (is_mve_encoding_conflict): Handle new instructions.
724         (is_mve_undefined): Likewise.
725         (is_mve_unpredictable): Likewise.
726         (coprocessor_opcodes): Move NEON VDUP from here...
727         (neon_opcodes): ... to here.
728         (mve_opcodes): Add new instructions.
729         (print_mve_undefined):  Handle new reasons.
730         (print_mve_unpredictable): Likewise.
731         (print_mve_size): Handle new instructions.
732         (print_insn_neon): Handle vdup.
733         (print_insn_mve): Handle new operands.
734
735 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
736             Michael Collison <michael.collison@arm.com>
737
738         * arm-dis.c (enum mve_instructions): Add new instructions.
739         (enum mve_unpredictable): Add new values.
740         (mve_opcodes): Add new instructions.
741         (vec_condnames): New array with vector conditions.
742         (mve_predicatenames): New array with predicate suffixes.
743         (mve_vec_sizename): New array with vector sizes.
744         (enum vpt_pred_state): New enum with vector predication states.
745         (struct vpt_block): New struct type for vpt blocks.
746         (vpt_block_state): Global struct to keep track of state.
747         (mve_extract_pred_mask): New helper function.
748         (num_instructions_vpt_block): Likewise.
749         (mark_outside_vpt_block): Likewise.
750         (mark_inside_vpt_block): Likewise.
751         (invert_next_predicate_state): Likewise.
752         (update_next_predicate_state): Likewise.
753         (update_vpt_block_state): Likewise.
754         (is_vpt_instruction): Likewise.
755         (is_mve_encoding_conflict): Add entries for new instructions.
756         (is_mve_unpredictable): Likewise.
757         (print_mve_unpredictable): Handle new cases.
758         (print_instruction_predicate): Likewise.
759         (print_mve_size): New function.
760         (print_vec_condition): New function.
761         (print_insn_mve): Handle vpt blocks and new print operands.
762
763 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
764
765         * arm-dis.c (print_insn_coprocessor_1): Disable the use of coprocessors
766         8, 14 and 15 for Armv8.1-M Mainline.
767
768 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
769             Michael Collison <michael.collison@arm.com>
770
771         * arm-dis.c (enum mve_instructions): New enum.
772         (enum mve_unpredictable): Likewise.
773         (enum mve_undefined): Likewise.
774         (struct mopcode32): New struct.
775         (is_mve_okay_in_it): New function.
776         (is_mve_architecture): Likewise.
777         (arm_decode_field): Likewise.
778         (arm_decode_field_multiple): Likewise.
779         (is_mve_encoding_conflict): Likewise.
780         (is_mve_undefined): Likewise.
781         (is_mve_unpredictable): Likewise.
782         (print_mve_undefined): Likewise.
783         (print_mve_unpredictable): Likewise.
784         (print_insn_coprocessor_1): Use arm_decode_field_multiple.
785         (print_insn_mve): New function.
786         (print_insn_thumb32): Handle MVE architecture.
787         (select_arm_features): Force thumb for Armv8.1-m Mainline.
788
789 2019-05-10  Nick Clifton  <nickc@redhat.com>
790
791         PR 24538
792         * ia64-opc.c (ia64_find_matching_opcode): Check for reaching the
793         end of the table prematurely.
794
795 2019-05-10  Faraz Shahbazker  <fshahbazker@wavecomp.com>
796
797         * mips-opc.c (mips_opcodes): Enable ADD, SUB, DADD and DSUB
798         macros for R6.
799
800 2019-05-11  Alan Modra  <amodra@gmail.com>
801
802         * ppc-dis.c (print_insn_powerpc) Don't skip optional operands
803         when -Mraw is in effect.
804
805 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
806
807         * aarch64-dis-2.c: Regenerate.
808         * aarch64-tbl.h (OP_SVE_BBU): New variant set.
809         (OP_SVE_BBB): New variant set.
810         (OP_SVE_DDDD): New variant set.
811         (OP_SVE_HHH): New variant set.
812         (OP_SVE_HHHU): New variant set.
813         (OP_SVE_SSS): New variant set.
814         (OP_SVE_SSSU): New variant set.
815         (OP_SVE_SHH): New variant set.
816         (OP_SVE_SBBU): New variant set.
817         (OP_SVE_DSS): New variant set.
818         (OP_SVE_DHHU): New variant set.
819         (OP_SVE_VMV_HSD_BHS): New variant set.
820         (OP_SVE_VVU_HSD_BHS): New variant set.
821         (OP_SVE_VVVU_SD_BH): New variant set.
822         (OP_SVE_VVVU_BHSD): New variant set.
823         (OP_SVE_VVV_QHD_DBS): New variant set.
824         (OP_SVE_VVV_HSD_BHS): New variant set.
825         (OP_SVE_VVV_HSD_BHS2): New variant set.
826         (OP_SVE_VVV_BHS_HSD): New variant set.
827         (OP_SVE_VV_BHS_HSD): New variant set.
828         (OP_SVE_VVV_SD): New variant set.
829         (OP_SVE_VVU_BHS_HSD): New variant set.
830         (OP_SVE_VZVV_SD): New variant set.
831         (OP_SVE_VZVV_BH): New variant set.
832         (OP_SVE_VZV_SD): New variant set.
833         (aarch64_opcode_table): Add sve2 instructions.
834
835 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
836
837         * aarch64-asm-2.c: Regenerated.
838         * aarch64-dis-2.c: Regenerated.
839         * aarch64-opc-2.c: Regenerated.
840         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
841         for SVE_SHLIMM_UNPRED_22.
842         (aarch64_print_operand): Add printing for SVE_SHLIMM_UNPRED_22.
843         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_SHLIMM_UNPRED_22
844         operand.
845
846 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
847
848         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
849         sve_size_tsz_bhs iclass encode.
850         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
851         sve_size_tsz_bhs iclass decode.
852
853 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
854
855         * aarch64-asm-2.c: Regenerated.
856         * aarch64-dis-2.c: Regenerated.
857         * aarch64-opc-2.c: Regenerated.
858         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
859         for SVE_Zm4_11_INDEX.
860         (aarch64_print_operand): Add printing for SVE_Zm4_11_INDEX.
861         (fields): Handle SVE_i2h field.
862         * aarch64-opc.h (enum aarch64_field_kind): New SVE_i2h field.
863         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_Zm4_11_INDEX operand.
864
865 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
866
867         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
868         sve_shift_tsz_bhsd iclass encode.
869         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
870         sve_shift_tsz_bhsd iclass decode.
871
872 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
873
874         * aarch64-asm-2.c: Regenerated.
875         * aarch64-dis-2.c: Regenerated.
876         * aarch64-opc-2.c: Regenerated.
877         * aarch64-asm.c (aarch64_ins_sve_shrimm):
878         (aarch64_encode_variant_using_iclass): Handle
879         sve_shift_tsz_hsd iclass encode.
880         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
881         sve_shift_tsz_hsd iclass decode.
882         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
883         for SVE_SHRIMM_UNPRED_22.
884         (aarch64_print_operand): Add printing for SVE_SHRIMM_UNPRED_22.
885         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_SHRIMM_UNPRED_22
886         operand.
887
888 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
889
890         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
891         sve_size_013 iclass encode.
892         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
893         sve_size_013 iclass decode.
894
895 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
896
897         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
898         sve_size_bh iclass encode.
899         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
900         sve_size_bh iclass decode.
901
902 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
903
904         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
905         sve_size_sd2 iclass encode.
906         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
907         sve_size_sd2 iclass decode.
908         * aarch64-opc.c (fields): Handle SVE_sz2 field.
909         * aarch64-opc.h (enum aarch64_field_kind): New SVE_sz2 field.
910
911 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
912
913         * aarch64-asm-2.c: Regenerated.
914         * aarch64-dis-2.c: Regenerated.
915         * aarch64-opc-2.c: Regenerated.
916         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
917         for SVE_ADDR_ZX.
918         (aarch64_print_operand): Add printing for SVE_ADDR_ZX.
919         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_ADDR_ZX operand.
920
921 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
922
923         * aarch64-asm-2.c: Regenerated.
924         * aarch64-dis-2.c: Regenerated.
925         * aarch64-opc-2.c: Regenerated.
926         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
927         for SVE_Zm3_11_INDEX.
928         (aarch64_print_operand): Add printing for SVE_Zm3_11_INDEX.
929         (fields): Handle SVE_i3l and SVE_i3h2 fields.
930         * aarch64-opc.h (enum aarch64_field_kind): New SVE_i3l and SVE_i3h2
931         fields.
932         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_Zm3_11_INDEX operand.
933
934 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
935
936         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
937         sve_size_hsd2 iclass encode.
938         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
939         sve_size_hsd2 iclass decode.
940         * aarch64-opc.c (fields): Handle SVE_size field.
941         * aarch64-opc.h (enum aarch64_field_kind): New SVE_size field.
942
943 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
944
945         * aarch64-asm-2.c: Regenerated.
946         * aarch64-dis-2.c: Regenerated.
947         * aarch64-opc-2.c: Regenerated.
948         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
949         for SVE_IMM_ROT3.
950         (aarch64_print_operand): Add printing for SVE_IMM_ROT3.
951         (fields): Handle SVE_rot3 field.
952         * aarch64-opc.h (enum aarch64_field_kind): New SVE_rot3 field.
953         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_IMM_ROT3 operand.
954
955 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
956
957         * aarch64-opc.c (verify_constraints): Check for movprfx for sve2
958         instructions.
959
960 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
961
962         * aarch64-tbl.h
963         (aarch64_feature_sve2, aarch64_feature_sve2aes,
964         aarch64_feature_sve2sha3, aarch64_feature_sve2sm4,
965         aarch64_feature_sve2bitperm): New feature sets.
966         (SVE2, SVE2_AES, SVE2_SHA3, SVE2_SM4, SVE2_BITPERM): New macros
967         for feature set addresses.
968         (SVE2_INSN, SVE2_INSNC, SVE2AES_INSN, SVE2SHA3_INSN,
969         SVE2SM4_INSN, SVE2SM4_INSNC, SVE2BITPERM_INSN): New macros.
970
971 2019-05-06  Andrew Bennett  <andrew.bennett@imgtec.com>
972             Faraz Shahbazker  <fshahbazker@wavecomp.com>
973
974         * mips-dis.c (mips_calculate_combination_ases): Add ISA
975         argument and set ASE_EVA_R6 appropriately.
976         (set_default_mips_dis_options): Pass ISA to above.
977         (parse_mips_dis_option): Likewise.
978         * mips-opc.c (EVAR6): New macro.
979         (mips_builtin_opcodes): Add llwpe, scwpe.
980
981 2019-05-01  Sudakshina Das  <sudi.das@arm.com>
982
983         * aarch64-asm-2.c: Regenerated.
984         * aarch64-dis-2.c: Regenerated.
985         * aarch64-opc-2.c: Regenerated.
986         * aarch64-opc.c (operand_general_constraint_met_p): Add case for
987         AARCH64_OPND_TME_UIMM16.
988         (aarch64_print_operand): Likewise.
989         * aarch64-tbl.h (QL_IMM_NIL): New.
990         (TME): New.
991         (_TME_INSN): New.
992         (struct aarch64_opcode): Add tstart, tcommit, ttest and tcancel.
993
994 2019-04-29  John Darrington  <john@darrington.wattle.id.au>
995
996         * s12z-opc.c (shift_discrim): Return OP_INVALID when reading fails.
997
998 2019-04-26  Andrew Bennett  <andrew.bennett@imgtec.com>
999             Faraz Shahbazker  <fshahbazker@wavecomp.com>
1000
1001         * mips-opc.c (mips_builtin_opcodes): Add llwp, lldp, scwp, scdp.
1002
1003 2019-04-24  John Darrington  <john@darrington.wattle.id.au>
1004
1005         * s12z-opc.h: Add extern "C" bracketing to help
1006         users who wish to use this interface in c++ code.
1007
1008 2019-04-24  John Darrington  <john@darrington.wattle.id.au>
1009
1010         * s12z-opc.c (bm_decode): Handle bit map operations with the
1011         "reserved0" mode.
1012
1013 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1014
1015         * arm-dis.c (coprocessor_opcodes): Document new %J and %K format
1016         specifier.  Add entries for VLDR and VSTR of system registers.
1017         (print_insn_coprocessor): Forbid coprocessor numbers 8, 14 and 15 in
1018         coprocessor instructions on Armv8.1-M Mainline targets.  Add handling
1019         of %J and %K format specifier.
1020
1021 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1022
1023         * arm-dis.c (coprocessor_opcodes): Document new %C format control code.
1024         Add new entries for VSCCLRM instruction.
1025         (print_insn_coprocessor): Handle new %C format control code.
1026
1027 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1028
1029         * arm-dis.c (enum isa): New enum.
1030         (struct sopcode32): New structure.
1031         (coprocessor_opcodes): change type of entries to struct sopcode32 and
1032         set isa field of all current entries to ANY.
1033         (print_insn_coprocessor): Change type of insn to struct sopcode32.
1034         Only match an entry if its isa field allows the current mode.
1035
1036 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1037
1038         * arm-dis.c (thumb_opcodes): Document %n control code.  Add entry for
1039         CLRM.
1040         (print_insn_thumb32): Add logic to print %n CLRM register list.
1041
1042 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1043
1044         * arm-dis.c (print_insn_thumb32): Updated to accept new %P
1045         and %Q patterns.
1046
1047 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1048
1049         * arm-dis.c (thumb32_opcodes): New instruction bfcsel.
1050         (print_insn_thumb32): Edit the switch case for %Z.
1051
1052 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1053
1054         * arm-dis.c (print_insn_thumb32): Updated to accept new %Z pattern.
1055
1056 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1057
1058         * arm-dis.c (thumb32_opcodes): New instruction bfl.
1059
1060 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1061
1062         * arm-dis.c (print_insn_thumb32): Updated to accept new %Y pattern.
1063
1064 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1065
1066         * arm-dis.c (print_insn_thumb32): Add '%<bitfield>S' to print an
1067         Arm register with r13 and r15 unpredictable.
1068         (thumb32_opcodes): New instructions for bfx and bflx.
1069
1070 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1071
1072         * arm-dis.c (thumb32_opcodes): New instructions for bf.
1073
1074 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1075
1076         * arm-dis.c (print_insn_thumb32): Updated to accept new %W pattern.
1077
1078 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1079
1080         * arm-dis.c (print_insn_thumb32): Updated to accept new %G pattern.
1081
1082 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1083
1084         * arm-dis.c (select_arm_features): Add logic for Armv8.1-M Mainline.
1085
1086 2019-04-12  John Darrington <john@darrington.wattle.id.au>
1087
1088         s12z-dis.c, s12z-opc.c, s12z-opc.h: Replace "operator" with
1089         "optr". ("operator" is a reserved word in c++).
1090
1091 2019-04-11  Sudakshina Das  <sudi.das@arm.com>
1092
1093         * aarch64-opc.c (aarch64_print_operand): Add case for
1094         AARCH64_OPND_Rt_SP.
1095         (verify_constraints): Likewise.
1096         * aarch64-tbl.h (QL_LDST_AT): Update to add SP qualifier.
1097         (struct aarch64_opcode): Update stg, stzg, st2g, stz2g instructions
1098         to accept Rt|SP as first operand.
1099         (AARCH64_OPERANDS): Add new Rt_SP.
1100         * aarch64-asm-2.c: Regenerated.
1101         * aarch64-dis-2.c: Regenerated.
1102         * aarch64-opc-2.c: Regenerated.
1103
1104 2019-04-11  Sudakshina Das  <sudi.das@arm.com>
1105
1106         * aarch64-asm-2.c: Regenerated.
1107         * aarch64-dis-2.c: Likewise.
1108         * aarch64-opc-2.c: Likewise.
1109         * aarch64-tbl.h (aarch64_opcode): Add new ldgm and stgm.
1110
1111 2019-04-09  Robert Suchanek  <robert.suchanek@mips.com>
1112
1113         * mips-opc.c (mips_builtin_opcodes): Add RDHWR rt rd sel.
1114
1115 2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
1116
1117         * i386-opc.tbl: Consolidate AVX512 BF16 entries.
1118         * i386-init.h: Regenerated.
1119
1120 2019-04-07  Alan Modra  <amodra@gmail.com>
1121
1122         * ppc-dis.c (print_insn_powerpc): Use a tiny state machine
1123         op_separator to control printing of spaces, comma and parens
1124         rather than need_comma, need_paren and spaces vars.
1125
1126 2019-04-07  Alan Modra  <amodra@gmail.com>
1127
1128         PR 24421
1129         * arm-dis.c (print_insn_coprocessor): Correct bracket placement.
1130         (print_insn_neon, print_insn_arm): Likewise.
1131
1132 2019-04-05  Xuepeng Guo  <xuepeng.guo@intel.com>
1133
1134         * i386-dis-evex.h (evex_table): Updated to support BF16
1135         instructions.
1136         * i386-dis.c (enum): Add EVEX_W_0F3852_P_1, EVEX_W_0F3872_P_1
1137         and EVEX_W_0F3872_P_3.
1138         * i386-gen.c (cpu_flag_init): Add CPU_AVX512_BF16_FLAGS.
1139         (cpu_flags): Add bitfield for CpuAVX512_BF16.
1140         * i386-opc.h (enum): Add CpuAVX512_BF16.
1141         (i386_cpu_flags): Add bitfield for cpuavx512_bf16.
1142         * i386-opc.tbl: Add AVX512 BF16 instructions.
1143         * i386-init.h: Regenerated.
1144         * i386-tbl.h: Likewise.
1145
1146 2019-04-05  Alan Modra  <amodra@gmail.com>
1147
1148         * ppc-opc.c (XLBH_MASK): Subtract off BH field from BB_MASK.
1149         (powerpc_opcodes): Reorder bcctr and bclr extended mnemonics
1150         to favour printing of "-" branch hint when using the "y" bit.
1151         Allow BH field on bc{ctr,lr,tar}{,l}{-,+}.
1152
1153 2019-04-05  Alan Modra  <amodra@gmail.com>
1154
1155         * ppc-dis.c (print_insn_powerpc): Delay printing spaces after
1156         opcode until first operand is output.
1157
1158 2019-04-04  Peter Bergner  <bergner@linux.ibm.com>
1159
1160         PR gas/24349
1161         * ppc-opc.c (valid_bo_pre_v2): Add comments.
1162         (valid_bo_post_v2): Add support for 'at' branch hints.
1163         (insert_bo): Only error on branch on ctr.
1164         (get_bo_hint_mask): New function.
1165         (insert_boe): Add new 'branch_taken' formal argument.  Add support
1166         for inserting 'at' branch hints.
1167         (extract_boe): Add new 'branch_taken' formal argument.  Add support
1168         for extracting 'at' branch hints.
1169         (insert_bom, extract_bom, insert_bop, extract_bop): New functions.
1170         (BOE): Delete operand.
1171         (BOM, BOP): New operands.
1172         (RM): Update value.
1173         (XLYLK, XLYLK_MASK, XLYBB_MASK): Delete.
1174         (powerpc_opcodes) <bc-, bcl-, bca-, bcla-, bclr-, bclrl-, bcctr-,
1175         bcctrl-, bctar-, bctarl->: Replace BOE with BOM.
1176         (powerpc_opcodes) <bc+, bcl+, bca+, bcla+, bclr+, bclrl+, bcctr+,
1177         bcctrl+, bctar+, bctarl+>: Replace BOE with BOP.
1178         <bdnztar, bdnztarl, bdztar, bdztarl, btar, btarl, bdnztar-, bdnztarl-,
1179         bdnztar+, bdnztarl+, bdztar-, bdztarl-, bdztar+, bdztarl+, bgetar,
1180         bnltar, bgetarl, bnltarl, bletar, bngtar, bletarl, bngtarl, bnetar,
1181         bnetarl, bnstar, bnutar, bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-,
1182         bnltarl-, bletar-, bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-,
1183         bnstar-, bnutar-, bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+,
1184         bnltarl+, bletar+, bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+,
1185         bnstar+, bnutar+, bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl,
1186         beqtar, beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-,
1187         bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-,
1188         buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+,
1189         bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar,
1190         bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar,
1191         bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+,
1192         bttarl+>: New extended mnemonics.
1193
1194 2019-03-28  Alan Modra  <amodra@gmail.com>
1195
1196         PR 24390
1197         * ppc-opc.c (BTF): Define.
1198         (powerpc_opcodes): Use for mtfsb*.
1199         * ppc-dis.c (print_insn_powerpc): Print fields with both
1200         PPC_OPERAND_CR_REG and PPC_OPERAND_CR_BIT as a plain number.
1201
1202 2019-03-25  Tamar Christina  <tamar.christina@arm.com>
1203
1204         * arm-dis.c (struct arm_private_data): Remove has_mapping_symbols.
1205         (mapping_symbol_for_insn): Implement new algorithm.
1206         (print_insn): Remove duplicate code.
1207
1208 2019-03-25  Tamar Christina  <tamar.christina@arm.com>
1209
1210         * aarch64-dis.c (print_insn_aarch64):
1211         Implement override.
1212
1213 2019-03-25  Tamar Christina  <tamar.christina@arm.com>
1214
1215         * aarch64-dis.c (print_insn_aarch64): Update the mapping symbol search
1216         order.
1217
1218 2019-03-25  Tamar Christina  <tamar.christina@arm.com>
1219
1220         * aarch64-dis.c (last_stop_offset): New.
1221         (print_insn_aarch64): Use stop_offset.
1222
1223 2019-03-19  H.J. Lu  <hongjiu.lu@intel.com>
1224
1225         PR gas/24359
1226         * i386-gen.c (cpu_flag_init): Add CPU_ANY_AVX512F_FLAGS to
1227         CPU_ANY_AVX2_FLAGS.
1228         * i386-init.h: Regenerated.
1229
1230 2019-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1231
1232         PR gas/24348
1233         * i386-opc.tbl: Add Optimize to vmovdqa32, vmovdqa64, vmovdqu8,
1234         vmovdqu16, vmovdqu32 and vmovdqu64.
1235         * i386-tbl.h: Regenerated.
1236
1237 2019-03-12  Andreas Krebbel  <krebbel@linux.ibm.com>
1238
1239         * s390-opc.txt: Rename selhhhr to selfhr.  Remove optional operand
1240         from vstrszb, vstrszh, and vstrszf.
1241
1242 2019-03-12  Andreas Krebbel  <krebbel@linux.ibm.com>
1243
1244         * s390-opc.txt: Add instruction descriptions.
1245
1246 2019-02-08  Jim Wilson  <jimw@sifive.com>
1247
1248         * riscv-opc.c (riscv_opcodes) <beq>: Use Cz to compress 3 operand form.
1249         <bne>: Likewise.
1250
1251 2019-02-07  Tamar Christina  <tamar.christina@arm.com>
1252
1253         * arm-dis.c (arm_opcodes): Redefine hlt to armv1.
1254
1255 2019-02-07  Tamar Christina  <tamar.christina@arm.com>
1256
1257         PR binutils/23212
1258         * aarch64-opc.h (enum aarch64_field_kind): Add FLD_sz.
1259         * aarch64-opc.c (verify_elem_sd): New.
1260         (fields): Add FLD_sz entr.
1261         * aarch64-tbl.h (_SIMD_INSN): New.
1262         (aarch64_opcode_table): Add elem_sd verifier to fmla, fmls, fmul and
1263         fmulx scalar and vector by element isns.
1264
1265 2019-02-07  Nick Clifton  <nickc@redhat.com>
1266
1267         * po/sv.po: Updated Swedish translation.
1268
1269 2019-01-31  Andreas Krebbel  <krebbel@linux.ibm.com>
1270
1271         * s390-mkopc.c (main): Accept arch13 as cpu string.
1272         * s390-opc.c: Add new instruction formats and instruction opcode
1273         masks.
1274         * s390-opc.txt: Add new arch13 instructions.
1275
1276 2019-01-25  Sudakshina Das  <sudi.das@arm.com>
1277
1278         * aarch64-tbl.h (QL_LDST_AT): Update macro.
1279         (aarch64_opcode): Change encoding for stg, stzg
1280         st2g and st2zg.
1281         * aarch64-asm-2.c: Regenerated.
1282         * aarch64-dis-2.c: Regenerated.
1283         * aarch64-opc-2.c: Regenerated.
1284
1285 2019-01-25  Sudakshina Das  <sudi.das@arm.com>
1286
1287         * aarch64-asm-2.c: Regenerated.
1288         * aarch64-dis-2.c: Likewise.
1289         * aarch64-opc-2.c: Likewise.
1290         * aarch64-tbl.h (aarch64_opcode): Add new stzgm.
1291
1292 2019-01-25  Sudakshina Das  <sudi.das@arm.com>
1293             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1294
1295         * aarch64-asm.c (aarch64_ins_addr_simple_2): Remove.
1296         * aarch64-asm.h (ins_addr_simple_2): Likeiwse.
1297         * aarch64-dis.c (aarch64_ext_addr_simple_2): Likewise.
1298         * aarch64-dis.h (ext_addr_simple_2): Likewise.
1299         * aarch64-opc.c (operand_general_constraint_met_p): Remove
1300         case for ldstgv_indexed.
1301         (aarch64_print_operand): Remove case for AARCH64_OPND_ADDR_SIMPLE_2.
1302         * aarch64-tbl.h (struct aarch64_opcode): Remove ldgv and stgv.
1303         (AARCH64_OPERANDS): Remove ADDR_SIMPLE_2.
1304         * aarch64-asm-2.c: Regenerated.
1305         * aarch64-dis-2.c: Regenerated.
1306         * aarch64-opc-2.c: Regenerated.
1307
1308 2019-01-23  Nick Clifton  <nickc@redhat.com>
1309
1310         * po/pt_BR.po: Updated Brazilian Portuguese translation.
1311
1312 2019-01-21  Nick Clifton  <nickc@redhat.com>
1313
1314         * po/de.po: Updated German translation.
1315         * po/uk.po: Updated Ukranian translation.
1316
1317 2019-01-20  Chenghua Xu  <paul.hua.gm@gmail.com>
1318         * mips-dis.c (mips_arch_choices): Fix typo in
1319         gs464, gs464e and gs264e descriptors.
1320
1321 2019-01-19  Nick Clifton  <nickc@redhat.com>
1322
1323         * configure: Regenerate.
1324         * po/opcodes.pot: Regenerate.
1325
1326 2018-06-24  Nick Clifton  <nickc@redhat.com>
1327
1328         2.32 branch created.
1329
1330 2019-01-09  John Darrington <john@darrington.wattle.id.au>
1331
1332         * s12z-dis.c (print_insn_s12z):  Do not dereference an operand
1333         if it is null.
1334         -dis.c (opr_emit_disassembly): Do not omit an index if it is
1335         zero.
1336
1337 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
1338
1339         * configure: Regenerate.
1340
1341 2019-01-07  Alan Modra  <amodra@gmail.com>
1342
1343         * configure: Regenerate.
1344         * po/POTFILES.in: Regenerate.
1345
1346 2019-01-03  John Darrington <john@darrington.wattle.id.au>
1347
1348         * s12z-opc.c: New file.
1349         * s12z-opc.h: New file.
1350         * s12z-dis.c: Removed all code not directly related to display
1351         of instructions.  Used the interface provided by the new files
1352         instead.
1353         * Makefile.am (TARGET_LIBOPCODES_CFILES) Add s12z-opc.c.
1354         * Makefile.in: Regenerate.
1355         * configure.ac (bfd_s12z_arch): Correct the dependencies.
1356         * configure: Regenerate.
1357
1358 2019-01-01  Alan Modra  <amodra@gmail.com>
1359
1360         Update year range in copyright notice of all files.
1361
1362 For older changes see ChangeLog-2018
1363 \f
1364 Copyright (C) 2019 Free Software Foundation, Inc.
1365
1366 Copying and distribution of this file, with or without modification,
1367 are permitted in any medium without royalty provided the copyright
1368 notice and this notice are preserved.
1369
1370 Local Variables:
1371 mode: change-log
1372 left-margin: 8
1373 fill-column: 74
1374 version-control: never
1375 End: