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