1 2013-07-03 Christophe Lyon <christophe.lyon@linaro.org>
3 Revert backport from trunk r198928,198973,199203.
4 2013-05-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8 * config/arm/arm.c (any_sibcall_uses_r3): Rename to ..
9 (any_sibcall_could_use_r3): this and handle indirect calls.
10 (arm_get_frame_offsets): Rename use of any_sibcall_uses_r3.
12 2013-05-16 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15 * config/arm/arm.c (arm_function_ok_for_sibcall): Add check
18 2013-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
21 * config/arm/predicates.md (call_insn_operand): New predicate.
22 * config/arm/constraints.md ("Cs", "Ss"): New constraints.
23 * config/arm/arm.md (*call_insn, *call_value_insn): Match only
24 if insn is not a tail call.
25 (*sibcall_insn, *sibcall_value_insn): Adjust for tailcalling through
27 * config/arm/arm.h (enum reg_class): New caller save register class.
28 (REG_CLASS_NAMES): Likewise.
29 (REG_CLASS_CONTENTS): Likewise.
30 * config/arm/arm.c (arm_function_ok_for_sibcall): Allow tailcalling
33 2013-07-03 Christophe Lyon <christophe.lyon@linaro.org>
35 Revert backport from mainline (r199438, r199439)
36 2013-05-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
38 * config/arm/arm.c (arm_add_cfa_adjust_cfa_note): New added.
39 (arm_emit_multi_reg_pop): Add REG_CFA_ADJUST_CFA notes.
40 (arm_emit_vfp_multi_reg_pop): Likewise.
41 (thumb2_emit_ldrd_pop): Likewise.
42 (arm_expand_epilogue): Add misc REG_CFA notes.
43 (arm_unwind_emit): Skip REG_CFA_ADJUST_CFA and REG_CFA_RESTORE.
45 2013-05-30 Bernd Schmidt <bernds@codesourcery.com>
46 Zhenqiang Chen <zhenqiang.chen@linaro.org>
48 * config/arm/arm-protos.h: Add and update function protos.
49 * config/arm/arm.c (use_simple_return_p): New added.
50 (thumb2_expand_return): Check simple_return flag.
51 * config/arm/arm.md: Add simple_return and conditional simple_return.
52 * config/arm/iterators.md: Add iterator for return and simple_return.
53 * gcc.dg/shrink-wrap-alloca.c: New added.
54 * gcc.dg/shrink-wrap-pretend.c: New added.
55 * gcc.dg/shrink-wrap-sibcall.c: New added.
57 2013-07-03 Christophe Lyon <christophe.lyon@linaro.org>
59 Backport from trunk r199640, 199705, 199733, 199734, 199739.
60 2013-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
62 * rtl.def: Add extra fourth optional field to define_cond_exec.
63 * gensupport.c (process_one_cond_exec): Process attributes from
65 * doc/md.texi: Document fourth field in define_cond_exec.
67 2013-06-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
69 * config/arm/arm.md (enabled_for_depr_it): New attribute.
70 (predicable_short_it): Likewise.
71 (predicated): Likewise.
72 (enabled): Handle above.
73 (define_cond_exec): Set predicated attribute to yes.
75 2013-06-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
77 * config/arm/sync.md (atomic_loaddi_1):
78 Disable predication for arm_restrict_it.
79 (arm_load_exclusive<mode>): Likewise.
80 (arm_load_exclusivesi): Likewise.
81 (arm_load_exclusivedi): Likewise.
82 (arm_load_acquire_exclusive<mode>): Likewise.
83 (arm_load_acquire_exclusivesi): Likewise.
84 (arm_load_acquire_exclusivedi): Likewise.
85 (arm_store_exclusive<mode>): Likewise.
86 (arm_store_exclusive<mode>): Likewise.
87 (arm_store_release_exclusivedi): Likewise.
88 (arm_store_release_exclusive<mode>): Likewise.
90 2013-06-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
92 * config/arm/arm-ldmstm.ml: Set "predicable_short_it" to "no"
94 * config/arm/ldmstm.md: Regenerate.
96 2013-06-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
98 * config/arm/arm-fixed.md (add<mode>3,usadd<mode>3,ssadd<mode>3,
99 sub<mode>3, ussub<mode>3, sssub<mode>3, arm_ssatsihi_shift,
100 arm_usatsihi): Adjust alternatives for arm_restrict_it.
102 2013-07-02 Rob Savoye <rob.savoye@linaro.org>
104 Backport from trunk 200096
106 2013-06-14 Vidya Praveen <vidyapraveen@arm.com>
108 * config/aarch64/aarch64-simd.md (aarch64_<su>mlal_lo<mode>):
110 (aarch64_<su>mlal_hi<mode>, aarch64_<su>mlsl_lo<mode>): Likewise.
111 (aarch64_<su>mlsl_hi<mode>, aarch64_<su>mlal<mode>): Likewise.
112 (aarch64_<su>mlsl<mode>): Likewise.
114 2013-07-02 Rob Savoye <rob.savoye@linaro.org>
116 Backport from trunk 200062
118 2013-06-13 Bin Cheng <bin.cheng@arm.com>
119 * fold-const.c (operand_equal_p): Consider NOP_EXPR and
120 CONVERT_EXPR as equal nodes.
122 2013-07-02 Rob Savoye <rob.savoye@linaro.org>
123 Backport from trunk 199810
125 2013-06-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
127 * config/arm/arm.md (anddi3_insn): Remove duplicate alternatives.
128 Clean up alternatives.
130 2013-06-20 Rob Savoye <rob.savoye@linaro.org>
132 Backport from trunk 200152
133 2013-06-17 Sofiane Naci <sofiane.naci@arm.com>
135 * config/aarch64/aarch64-simd.md (aarch64_dup_lane<mode>): Add r<-w
136 alternative and update.
137 (aarch64_dup_lanedi): Delete.
138 * config/aarch64/arm_neon.h (vdup<bhsd>_lane_*): Update.
139 * config/aarch64/aarch64-simd-builtins.def: Update.
141 2013-06-20 Rob Savoye <rob.savoye@linaro.org>
143 Backport from trunk 200061
144 2013-06-13 Bin Cheng <bin.cheng@arm.com>
146 * rtlanal.c (noop_move_p): Check the code to be executed for
149 2013-06-20 Rob Savoye <rob.savoye@linaro.org>
151 Backport from trunk 199694
152 2013-06-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
154 * config/arm/arm.c (MAX_INSN_PER_IT_BLOCK): New macro.
155 (arm_option_override): Override arm_restrict_it where appropriate.
156 (thumb2_final_prescan_insn): Use MAX_INSN_PER_IT_BLOCK.
157 * config/arm/arm.opt (mrestrict-it): New command-line option.
158 * doc/invoke.texi: Document -mrestrict-it.
160 2013-06-20 Christophe Lyon <christophe.lyon@linaro.org>
162 Backport from trunk r198683.
163 2013-05-07 Christophe Lyon <christophe.lyon@linaro.org>
165 * config/arm/arm.c (arm_asan_shadow_offset): New function.
166 (TARGET_ASAN_SHADOW_OFFSET): Define.
167 * config/arm/linux-eabi.h (ASAN_CC1_SPEC): Define.
168 (LINUX_OR_ANDROID_CC): Add ASAN_CC1_SPEC.
170 2013-06-11 Rob Savoye <rob.savoye@linaro.org>
172 GCC Linaro gcc-linaro-4.8-2013.06 released.
174 2013-06-06 Zhenqiang Chen <zhenqiang.chen@linaro.org>
176 Backport from mainline (r199438, r199439)
177 2013-05-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
179 * config/arm/arm.c (arm_add_cfa_adjust_cfa_note): New added.
180 (arm_emit_multi_reg_pop): Add REG_CFA_ADJUST_CFA notes.
181 (arm_emit_vfp_multi_reg_pop): Likewise.
182 (thumb2_emit_ldrd_pop): Likewise.
183 (arm_expand_epilogue): Add misc REG_CFA notes.
184 (arm_unwind_emit): Skip REG_CFA_ADJUST_CFA and REG_CFA_RESTORE.
186 2013-05-30 Bernd Schmidt <bernds@codesourcery.com>
187 Zhenqiang Chen <zhenqiang.chen@linaro.org>
189 * config/arm/arm-protos.h: Add and update function protos.
190 * config/arm/arm.c (use_simple_return_p): New added.
191 (thumb2_expand_return): Check simple_return flag.
192 * config/arm/arm.md: Add simple_return and conditional simple_return.
193 * config/arm/iterators.md: Add iterator for return and simple_return.
194 * gcc.dg/shrink-wrap-alloca.c: New added.
195 * gcc.dg/shrink-wrap-pretend.c: New added.
196 * gcc.dg/shrink-wrap-sibcall.c: New added.
198 2013-06-06 Kugan Vivekanandarajah <kuganv@linaro.org>
200 Backport from mainline r198879:
202 2013-05-14 Chung-Lin Tang <cltang@codesourcery.com>
204 * config/arm/arm.h (EPILOGUE_USES): Only return true
205 for LR_REGNUM after epilogue_completed.
207 2013-06-05 Christophe Lyon <christophe.lyon@linaro.org>
209 Backport from trunk r199652,199653,199656,199657,199658.
211 2013-06-04 Ian Bolton <ian.bolton@arm.com>
213 * config/aarch64/aarch64.md (*mov<mode>_aarch64): Call
214 into function to generate MOVI instruction.
215 * config/aarch64/aarch64.c (aarch64_simd_container_mode):
217 (aarch64_preferred_simd_mode): Turn into wrapper.
218 (aarch64_output_scalar_simd_mov_immediate): New function.
219 * config/aarch64/aarch64-protos.h: Add prototype for above.
221 2013-06-04 Ian Bolton <ian.bolton@arm.com>
223 * config/aarch64/aarch64.c (simd_immediate_info): Remove
225 (sizetochar): Return signed char.
226 (aarch64_simd_valid_immediate): Remove elchar and other
227 unnecessary variables.
228 (aarch64_output_simd_mov_immediate): Take rtx instead of &rtx.
229 Calculate element_char as required.
230 * config/aarch64/aarch64-protos.h: Update and move prototype
231 for aarch64_output_simd_mov_immediate.
232 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>):
235 2013-06-04 Ian Bolton <ian.bolton@arm.com>
237 * config/aarch64/aarch64.c (simd_immediate_info): Struct to hold
238 information completed by aarch64_simd_valid_immediate.
239 (aarch64_legitimate_constant_p): Update arguments.
240 (aarch64_simd_valid_immediate): Work with struct rather than many
242 (aarch64_simd_scalar_immediate_valid_for_move): Update arguments.
243 (aarch64_simd_make_constant): Update arguments.
244 (aarch64_output_simd_mov_immediate): Work with struct rather than
245 many pointers. Output immediate directly rather than as operand.
246 * config/aarch64/aarch64-protos.h (aarch64_simd_valid_immediate):
248 * config/aarch64/constraints.md (Dn): Update arguments.
250 2013-06-04 Ian Bolton <ian.bolton@arm.com>
252 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): No
254 (aarch64_simd_immediate_valid_for_move): Remove.
255 (aarch64_simd_scalar_immediate_valid_for_move): Update call.
256 (aarch64_simd_make_constant): Update call.
257 (aarch64_output_simd_mov_immediate): Update call.
258 * config/aarch64/aarch64-protos.h (aarch64_simd_valid_immediate):
260 * config/aarch64/constraints.md (Dn): Update call.
262 2013-06-04 Ian Bolton <ian.bolton@arm.com>
264 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Change
265 return type to bool for prototype.
266 (aarch64_legitimate_constant_p): Check for true instead of not -1.
267 (aarch64_simd_valid_immediate): Fix up each return to return a bool.
268 (aarch64_simd_immediate_valid_for_move): Update retval for bool.
270 2013-06-04 Christophe Lyon <christophe.lyon@linaro.org>
272 Backport from trunk r199261.
273 2013-05-23 Christian Bruel <christian.bruel@st.com>
276 * config/arm/arm.c (arm_dwarf_register_span): Do not use dbx number.
278 2013-06-03 Christophe Lyon <christophe.lyon@linaro.org>
281 r198890,199254,199259,199260,199293,199407,199408,199454,199544,199545.
283 2013-05-31 Marcus Shawcroft <marcus.shawcroft@arm.com>
285 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
286 Remove un-necessary braces.
288 2013-05-31 Marcus Shawcroft <marcus.shawcroft@arm.com>
290 * config/aarch64/aarch64.c (aarch64_classify_symbol):
291 Use SYMBOL_TINY_ABSOLUTE for AARCH64_CMODEL_TINY_PIC.
293 2013-05-30 Ian Bolton <ian.bolton@arm.com>
295 * config/aarch64/aarch64.md (insv<mode>): New define_expand.
296 (*insv_reg<mode>): New define_insn.
298 2012-05-29 Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
299 Marcus Shawcroft <marcus.shawcroft@arm.com>
301 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define
302 SYMBOL_TINY_ABSOLUTE.
303 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Handle
304 SYMBOL_TINY_ABSOLUTE.
305 (aarch64_expand_mov_immediate): Likewise.
306 (aarch64_classify_symbol): Likewise.
307 (aarch64_mov_operand_p): Remove ATTRIBUTE_UNUSED.
308 Permit SYMBOL_TINY_ABSOLUTE.
309 * config/aarch64/predicates.md (aarch64_mov_operand): Permit CONST.
311 2013-05-29 Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
312 Marcus Shawcroft <marcus.shawcroft@arm.com>
314 * config/aarch64/aarch64.c (aarch64_classify_symbol): Remove comment.
315 Refactor if/switch. Replace gcc_assert with if.
317 2013-05-24 Ian Bolton <ian.bolton@arm.com>
319 * config/aarch64/aarch64.c (aarch64_print_operand): Change the
320 X format specifier to only display bottom 16 bits.
321 * config/aarch64/aarch64.md (insv_imm<mode>): Allow any size of
322 immediate to match for operand 2, since it will be masked.
324 2013-05-23 Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
325 Marcus Shawcroft <marcus.shawcroft@arm.com>
327 * config/aarch64/aarch64.md (*movdi_aarch64): Replace Usa with S.
328 * config/aarch64/constraints.md (Usa): Remove.
329 * doc/md.texi (AArch64 Usa): Remove.
331 2013-05-23 Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
332 Marcus Shawcroft <marcus.shawcroft@arm.com>
334 * config/aarch64/aarch64-protos.h (aarch64_mov_operand_p): Define.
335 * config/aarch64/aarch64.c (aarch64_mov_operand_p): Define.
336 * config/aarch64/predicates.md (aarch64_const_address): Remove.
337 (aarch64_mov_operand): Use aarch64_mov_operand_p.
339 2013-05-23 Vidya Praveen <vidyapraveen@arm.com>
341 * config/aarch64/aarch64-simd.md (clzv4si2): Support for CLZ
342 instruction (AdvSIMD).
343 * config/aarch64/aarch64-builtins.c
344 (aarch64_builtin_vectorized_function): Handler for BUILT_IN_CLZ.
345 * config/aarch64/aarch-simd-builtins.def: Entry for CLZ.
347 2013-05-14 James Greenhalgh <james.greenhalgh@arm.com>
349 * config/aarch64/aarch64-simd.md
350 (aarch64_vcond_internal<mode>): Rename to...
351 (aarch64_vcond_internal<mode><mode>): ...This, for integer modes.
352 (aarch64_vcond_internal<VDQF_COND:mode><VDQF:mode>): ...This for
353 float modes. Clarify all iterator modes.
354 (vcond<mode><mode>): Use new name for vcond expanders.
355 (vcond<v_cmp_result><mode>): Likewise.
356 (vcondu<mode><mode>: Likewise.
357 * config/aarch64/iterators.md (VDQF_COND): New.
359 2013-05-29 Christophe Lyon <christophe.lyon@linaro.org>
361 Backport from trunk r198928,198973,199203.
362 2013-05-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
366 * config/arm/arm.c (any_sibcall_uses_r3): Rename to ..
367 (any_sibcall_could_use_r3): this and handle indirect calls.
368 (arm_get_frame_offsets): Rename use of any_sibcall_uses_r3.
370 2013-05-16 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
373 * config/arm/arm.c (arm_function_ok_for_sibcall): Add check
376 2013-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
379 * config/arm/predicates.md (call_insn_operand): New predicate.
380 * config/arm/constraints.md ("Cs", "Ss"): New constraints.
381 * config/arm/arm.md (*call_insn, *call_value_insn): Match only
382 if insn is not a tail call.
383 (*sibcall_insn, *sibcall_value_insn): Adjust for tailcalling through
385 * config/arm/arm.h (enum reg_class): New caller save register class.
386 (REG_CLASS_NAMES): Likewise.
387 (REG_CLASS_CONTENTS): Likewise.
388 * config/arm/arm.c (arm_function_ok_for_sibcall): Allow tailcalling
391 2013-05-28 Christophe Lyon <christophe.lyon@linaro.org>
393 Backport from trunk r198680.
394 2013-05-07 Sofiane Naci <sofiane.naci@arm.com>
396 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): call splitter.
397 (aarch64_simd_mov<mode>): New expander.
398 (aarch64_simd_mov_to_<mode>low): New instruction pattern.
399 (aarch64_simd_mov_to_<mode>high): Likewise.
400 (aarch64_simd_mov_from_<mode>low): Likewise.
401 (aarch64_simd_mov_from_<mode>high): Likewise.
402 (aarch64_dup_lane<mode>): Update.
403 (aarch64_dup_lanedi): New instruction pattern.
404 * config/aarch64/aarch64-protos.h (aarch64_split_simd_move): New prototype.
405 * config/aarch64/aarch64.c (aarch64_split_simd_move): New function.
407 2013-05-28 Christophe Lyon <christophe.lyon@linaro.org>
409 Backport from trunk r198497-198500.
410 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
412 * config/aarch64/aarch64-builtins.c
413 (aarch64_gimple_fold_builtin.c): Fold more modes for reduc_splus_.
414 * config/aarch64/aarch64-simd-builtins.def
415 (reduc_splus_): Add new modes.
417 * config/aarch64/aarch64-simd.md (aarch64_addvv4sf): Remove.
418 (reduc_uplus_v4sf): Likewise.
419 (reduc_splus_v4sf): Likewise.
420 (aarch64_addv<mode>): Likewise.
421 (reduc_uplus_<mode>): Likewise.
422 (reduc_splus_<mode>): Likewise.
423 (aarch64_addvv2di): Likewise.
424 (reduc_uplus_v2di): Likewise.
425 (reduc_splus_v2di): Likewise.
426 (aarch64_addvv2si): Likewise.
427 (reduc_uplus_v2si): Likewise.
428 (reduc_splus_v2si): Likewise.
429 (reduc_<sur>plus_<mode>): New.
430 (reduc_<sur>plus_v2di): Likewise.
431 (reduc_<sur>plus_v2si): Likewise.
432 (reduc_<sur>plus_v4sf): Likewise.
433 (aarch64_addpv4sf): Likewise.
434 * config/aarch64/arm_neon.h
435 (vaddv<q>_<s,u,f><8, 16, 32, 64): Rewrite using builtins.
436 * config/aarch64/iterators.md (unspec): Remove UNSPEC_ADDV,
437 add UNSPEC_SADDV, UNSPEC_UADDV.
439 (sur): Add UNSPEC_SADDV, UNSPEC_UADDV.
441 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
443 * config/aarch64/arm_neon.h
444 (v<max,min><nm><q><v>_<sfu><8, 16, 32, 64>): Rewrite using builtins.
446 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
448 * config/aarch64/aarch64-builtins
449 (aarch64_gimple_fold_builtin): Fold reduc_<su><maxmin>_ builtins.
451 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
453 * config/aarch64/aarch64-simd-builtins.def
455 (reduc_smin_): Likewise.
456 (reduc_umax_): Likewise.
457 (reduc_umin_): Likewise.
458 (reduc_smax_nan_): Likewise.
459 (reduc_smin_nan_): Likewise.
462 (smax): Update for V2SF, V4SF and V2DF modes.
465 (smin_nan): Likewise.
466 * config/aarch64/aarch64-simd.md (<maxmin><mode>3): Rename to...
467 (<su><maxmin><mode>3): ...This, refactor.
468 (s<maxmin><mode>3): New.
469 (<maxmin_uns><mode>3): Likewise.
470 (reduc_<maxmin_uns>_<mode>): Refactor.
471 (reduc_<maxmin_uns>_v4sf): Likewise.
472 (reduc_<maxmin_uns>_v2si): Likewise.
473 (aarch64_<fmaxmin><mode>: Remove.
474 * config/aarch64/arm_neon.h (vmax<q>_f<32,64>): Rewrite to use
476 (vmin<q>_f<32,64>): Likewise.
477 * config/iterators.md (unspec): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
479 (su): Add mappings for smax, smin, umax, umin.
481 (FMAXMINV): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
482 (FMAXMIN): Rename as...
483 (FMAXMIN_UNS): ...This.
485 (fmaxminv): Likewise.
488 (maxmin_uns_op): Likewise.
490 2013-05-28 Christophe Lyon <christophe.lyon@linaro.org>
492 Backport from trunk r199241.
493 2013-05-23 James Greenhalgh <james.greenhalgh@arm.com>
495 * config/aarch64/aarch64-simd.md
496 (aarch64_cm<optab>di): Add clobber of CC_REGNUM to unsplit pattern.
498 2013-05-23 Christophe Lyon <christophe.lyon@linaro.org>
500 Backport from trunk r198970.
501 2013-05-16 Greta Yorsh <Greta.Yorsh@arm.com>
503 * config/arm/arm-protos.h (gen_movmem_ldrd_strd): New declaration.
504 * config/arm/arm.c (next_consecutive_mem): New function.
505 (gen_movmem_ldrd_strd): Likewise.
506 * config/arm/arm.md (movmemqi): Update condition and code.
507 (unaligned_loaddi, unaligned_storedi): New patterns.
509 2013-05-19 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
511 * LINARO-VERSION: Bump version number.
513 2013-05-14 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
515 GCC Linaro 4.8-2013.05 released.
517 2013-05-14 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
519 Backport from trunk r198677.
520 2013-05-07 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
522 * config/aarch64/aarch64.md
523 (cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): Restrict the
524 shift value between 0-4.
526 2013-05-14 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
528 Backport from trunk r198574-198575.
529 2013-05-03 Vidya Praveen <vidyapraveen@arm.com>
531 * config/aarch64/aarch64-simd.md (simd_fabd): Correct the description.
533 2013-05-03 Vidya Praveen <vidyapraveen@arm.com>
535 * config/aarch64/aarch64-simd.md (*fabd_scalar<mode>3): Support
536 scalar form of FABD instruction.
538 2013-05-14 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
540 Backport from trunk r198490-198496
541 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
543 * config/aarch64/arm_neon.h
544 (vac<ge, gt><sd>_f<32, 64>): Rename to...
545 (vca<ge, gt><sd>_f<32, 64>): ...this, reimpliment in C.
546 (vca<ge, gt, lt, le><q>_f<32, 64>): Reimpliment in C.
548 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
550 * config/aarch64/aarch64-simd.md (*aarch64_fac<optab><mode>): New.
551 * config/aarch64/iterators.md (FAC_COMPARISONS): New.
553 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
555 * config/aarch64/aarch64-simd.md
556 (vcond<mode>_internal): Handle special cases for constant masks.
557 (vcond<mode><mode>): Allow nonmemory_operands for outcome vectors.
558 (vcondu<mode><mode>): Likewise.
559 (vcond<v_cmp_result><mode>): New.
561 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
563 * config/aarch64/aarch64-builtins.c (BUILTIN_VALLDI): Define.
564 (aarch64_fold_builtin): Add folding for cm<eq,ge,gt,tst>.
565 * config/aarch64/aarch64-simd-builtins.def
566 (cmeq): Update to BUILTIN_VALLDI.
571 * config/aarch64/arm_neon.h
572 (vc<eq, lt, le, gt, ge, tst><z><qsd>_<fpsu><8,16,32,64>): Remap
573 to builtins or C as appropriate.
575 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
577 * config/aarch64/aarch64-simd-builtins.def (cmhs): Rename to...
581 * config/aarch64/aarch64-simd.md
583 (aarch64_vcond_internal): Use new names for unsigned comparison insns.
584 (aarch64_cm<optab><mode>): Rewrite to not use UNSPECs.
585 * config/aarch64/aarch64.md (*cstore<mode>_neg): Rename to...
586 (cstore<mode>_neg): ...This.
587 * config/aarch64/iterators.md
589 (unspec): Remove UNSPEC_CM<EQ, LE, LT, GE, GT, HS, HI, TST>.
591 (UCOMPARISONS): Likewise.
592 (optab): Add missing comparisons.
600 (V_cmp_result): Add DF, SF modes.
601 (v_cmp_result): Likewise.
604 * config/aarch64/predicates.md (aarch64_reg_or_fp_zero): New.
606 2013-05-14 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
608 Backport from trunk r198191.
609 2013-04-23 Sofiane Naci <sofiane.naci@arm.com>
611 * config/aarch64/aarch64.md (*mov<mode>_aarch64): Add simd attribute.
613 2013-05-14 Matthew Gretton-Dann <matthew.gretton-dann@lianro.org>
615 Backport from trunk r197838.
616 2013-04-11 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
618 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Allow NEG
620 * config/aarch64/aarch64.md (*neg_<shift><mode>3_compare0): New
623 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
625 Backport from trunk r198019.
626 2013-04-16 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
628 * config/aarch64/aarch64.md (*adds_mul_imm_<mode>): New pattern.
629 (*subs_mul_imm_<mode>): New pattern.
631 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
633 Backport from trunk r198424-198425.
634 2013-04-29 Ian Bolton <ian.bolton@arm.com>
636 * config/aarch64/aarch64.md (movsi_aarch64): Support LDR/STR
638 (movdi_aarch64): Support LDR/STR from/to D register.
640 2013-04-29 Ian Bolton <ian.bolton@arm.com>
642 * common/config/aarch64/aarch64-common.c: Enable REE pass at O2
643 or higher by default.
645 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
647 Backport from trunk r198412.
648 2013-04-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
650 * config/arm/arm.md (store_minmaxsi): Use only when
651 optimize_insn_for_size_p.
653 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
655 Backport from trunk 198394,198396-198400,198402-198404.
656 2013-04-29 James Greenhalgh <james.greenhalgh@arm.com>
658 * config/aarch64/arm_neon.h
659 (vcvt<sd>_f<32,64>_s<32,64>): Rewrite in C.
660 (vcvt<q>_f<32,64>_s<32,64>): Rewrite using builtins.
661 (vcvt_<high_>_f<32,64>_f<32,64>): Likewise.
662 (vcvt<qsd>_<su><32,64>_f<32,64>): Likewise.
663 (vcvta<qsd>_<su><32,64>_f<32,64>): Likewise.
664 (vcvtm<qsd>_<su><32,64>_f<32,64>): Likewise.
665 (vcvtn<qsd>_<su><32,64>_f<32,64>): Likewise.
666 (vcvtp<qsd>_<su><32,64>_f<32,64>): Likewise.
668 2013-04-29 James Greenhalgh <james.greenhalgh@arm.com>
670 * config/aarch64/aarch64-simd.md
671 (<optab><VDQF:mode><fcvt_target>2): New, maps to fix, fixuns.
672 (<fix_trunc_optab><VDQF:mode><fcvt_target>2): New, maps to
673 fix_trunc, fixuns_trunc.
674 (ftrunc<VDQF:mode>2): New.
675 * config/aarch64/iterators.md (optab): Add fix, fixuns.
676 (fix_trunc_optab): New.
678 2013-04-29 James Greenhalgh <james.greenhalgh@arm.com>
680 * config/aarch64/aarch64-builtins.c
681 (aarch64_builtin_vectorized_function): Vectorize over ifloorf,
682 iceilf, lround, iroundf.
684 2013-04-29 James Greenhalgh <james.greenhalgh@arm.com>
686 * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi_): New.
687 (float_truncate_hi_): Likewise.
688 (float_extend_lo_): Likewise.
689 (float_truncate_lo_): Likewise.
690 * config/aarch64/aarch64-simd.md (vec_unpacks_lo_v4sf): New.
691 (aarch64_float_extend_lo_v2df): Likewise.
692 (vec_unpacks_hi_v4sf): Likewise.
693 (aarch64_float_truncate_lo_v2sf): Likewise.
694 (aarch64_float_truncate_hi_v4sf): Likewise.
695 (vec_pack_trunc_v2df): Likewise.
696 (vec_pack_trunc_df): Likewise.
698 2013-04-29 James Greenhalgh <james.greenhalgh@arm.com>
700 * config/aarch64/aarch64-builtins.c
701 (aarch64_fold_builtin): Fold float conversions.
702 * config/aarch64/aarch64-simd-builtins.def
703 (floatv2si, floatv4si, floatv2di): New.
704 (floatunsv2si, floatunsv4si, floatunsv2di): Likewise.
705 * config/aarch64/aarch64-simd.md
706 (<optab><fcvt_target><VDQF:mode>2): New, expands to float and floatuns.
707 * config/aarch64/iterators.md (FLOATUORS): New.
708 (optab): Add float, floatuns.
709 (su_optab): Likewise.
711 2013-04-29 James Greenhalgh <james.greenhalgh@arm.com>
713 * config/aarch64/aarch64-builtins.c
714 (aarch64_builtin_vectorized_function): Fold to standard pattern names.
715 * config/aarch64/aarch64-simd-builtins.def (frintn): New.
716 (frintz): Rename to...
718 (frintp): Rename to...
720 (frintm): Rename to...
722 (frinti): Rename to...
723 (nearbyint): ...this.
724 (frintx): Rename to...
726 (frinta): Rename to...
728 * config/aarch64/aarch64-simd.md
729 (aarch64_frint<frint_suffix><mode>): Delete.
730 (<frint_pattern><mode>2): Convert to insn.
731 * config/aarch64/aarch64.md (unspec): Add UNSPEC_FRINTN.
732 * config/aarch64/iterators.md (FRINT): Add UNSPEC_FRINTN.
733 (frint_pattern): Likewise.
734 (frint_suffix): Likewise.
736 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
738 Backport from trunk r198302-198306,198316.
739 2013-04-25 James Greenhalgh <james.greenhalgh@arm.com>
741 * config/aarch64/aarch64-simd.md
742 (aarch64_simd_bsl<mode>_internal): Rewrite RTL to not use UNSPEC_BSL.
743 (aarch64_simd_bsl<mode>): Likewise.
744 * config/aarch64/iterators.md (unspec): Remove UNSPEC_BSL.
746 2013-04-25 James Greenhalgh <jame.greenhalgh@arm.com>
748 * config/aarch64/aarch64-simd.md (neg<mode>2): Use VDQ iterator.
750 2013-04-25 James Greenhalgh <james.greenhalgh@arm.com>
752 * config/aarch64/aarch64-builtins.c
753 (aarch64_fold_builtin): New.
754 * config/aarch64/aarch64-protos.h (aarch64_fold_builtin): New.
755 * config/aarch64/aarch64.c (TARGET_FOLD_BUILTIN): Define.
756 * config/aarch64/aarch64-simd-builtins.def (abs): New.
757 * config/aarch64/arm_neon.h
758 (vabs<q>_<f32, 64>): Implement using __builtin_aarch64_fabs.
760 2013-04-25 James Greenhalgh <james.greenhalgh@arm.com>
761 Tejas Belagod <tejas.belagod@arm.com>
763 * config/aarch64/aarch64-builtins.c
764 (aarch64_gimple_fold_builtin): New.
765 * config/aarch64/aarch64-protos.h (aarch64_gimple_fold_builtin): New.
766 * config/aarch64/aarch64-simd-builtins.def (addv): New.
767 * config/aarch64/aarch64-simd.md (addpv4sf): New.
769 * config/aarch64/aarch64.c (TARGET_GIMPLE_FOLD_BUILTIN): Define.
771 2013-04-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
773 * config/aarch64/aarch64.md
774 (*cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): New pattern.
776 2013-04-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
778 * config/aarch64/aarch64.md (*ngc<mode>): New pattern.
779 (*ngcsi_uxtw): New pattern.
781 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
783 Backport from trunk 198298.
784 2013-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
785 Julian Brown <julian@codesourcery.com>
787 * config/arm/arm.c (neon_builtin_type_mode): Add T_V4HF.
788 (TB_DREG): Add T_V4HF.
789 (v4hf_UP): New macro.
790 (neon_itype): Add NEON_FLOAT_WIDEN, NEON_FLOAT_NARROW.
791 (arm_init_neon_builtins): Handle NEON_FLOAT_WIDEN,
793 Handle initialisation of V4HF. Adjust initialisation of reinterpret
795 (arm_expand_neon_builtin): Handle NEON_FLOAT_WIDEN,
797 (arm_vector_mode_supported_p): Handle V4HF.
798 (arm_mangle_map): Handle V4HFmode.
799 * config/arm/arm.h (VALID_NEON_DREG_MODE): Add V4HF.
800 * config/arm/arm_neon_builtins.def: Add entries for
801 vcvtv4hfv4sf, vcvtv4sfv4hf.
802 * config/arm/neon.md (neon_vcvtv4sfv4hf): New pattern.
803 (neon_vcvtv4hfv4sf): Likewise.
804 * config/arm/neon-gen.ml: Handle half-precision floating point
806 * config/arm/neon-testgen.ml: Handle Requires_FP_bit feature.
807 * config/arm/arm_neon.h: Regenerate.
808 * config/arm/neon.ml (type elts): Add F16.
809 (type vectype): Add T_float16x4, T_floatHF.
810 (type vecmode): Add V4HF.
811 (type features): Add Requires_FP_bit feature.
812 (elt_width): Handle F16.
813 (elt_class): Likewise.
814 (elt_of_class_width): Likewise.
815 (mode_of_elt): Refactor.
816 (type_for_elt): Handle F16, fix error messages.
817 (vectype_size): Handle T_float16x4.
818 (vcvt_sh): New function.
819 (ops): Add entries for vcvt_f16_f32, vcvt_f32_f16.
820 (string_of_vectype): Handle T_floatHF, T_float16, T_float16x4.
821 (string_of_mode): Handle V4HF.
822 * doc/arm-neon-intrinsics.texi: Regenerate.
824 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
826 Backport from trunk r198136-198137,198142,198176.
827 2013-04-23 Andreas Schwab <schwab@linux-m68k.org>
829 * coretypes.h (gimple_stmt_iterator): Add struct to make
832 2013-04-22 James Greenhalgh <james.greenhalgh@arm.com>
834 * coretypes.h (gimple_stmt_iterator_d): Forward declare.
835 (gimple_stmt_iterator): New typedef.
836 * gimple.h (gimple_stmt_iterator): Rename to...
837 (gimple_stmt_iterator_d): ... This.
838 * doc/tm.texi.in (TARGET_FOLD_BUILTIN): Detail restriction that
839 trees be valid for GIMPLE and GENERIC.
840 (TARGET_GIMPLE_FOLD_BUILTIN): New.
841 * gimple-fold.c (gimple_fold_call): Call target hook
843 * hooks.c (hook_bool_gsiptr_false): New.
844 * hooks.h (hook_bool_gsiptr_false): New.
845 * target.def (fold_stmt): New.
846 * doc/tm.texi: Regenerate.
848 2013-04-22 James Greenhalgh <james.greenhalgh@arm.com>
850 * config/aarch64/aarch64-builtins.c
852 (CF0, CF1, CF2, CF3, CF4, CF10): New.
853 (VAR<1-12>): Add MAP parameter.
854 (BUILTIN_*): Likewise.
855 * config/aarch64/aarch64-simd-builtins.def: Set MAP parameter.
856 * config/aarch64/aarch64-simd.md (aarch64_sshl_n<mode>): Remove.
857 (aarch64_ushl_n<mode>): Likewise.
858 (aarch64_sshr_n<mode>): Likewise.
859 (aarch64_ushr_n<mode>): Likewise.
860 (aarch64_<maxmin><mode>): Likewise.
861 (aarch64_sqrt<mode>): Likewise.
862 * config/aarch64/arm_neon.h (vshl<q>_n_*): Use new builtin names.
863 (vshr<q>_n_*): Likewise.
865 2013-04-22 James Greenhalgh <james.greenhalgh@arm.com>
867 * config/aarch64/aarch64-builtins.c
868 (aarch64_simd_builtin_type_mode): Handle SF types.
870 (BUILTIN_GPF): Define.
871 (aarch64_init_simd_builtins): Handle SF types.
872 * config/aarch64/aarch64-simd-builtins.def (frecpe): Add support.
875 * config/aarch64/aarch64-simd.md
876 (simd_types): Update simd_frcp<esx> to simd_frecp<esx>.
877 (aarch64_frecpe<mode>): New.
878 (aarch64_frecps<mode>): Likewise.
879 * config/aarch64/aarch64.md (unspec): Add UNSPEC_FRECP<ESX>.
880 (v8type): Add frecp<esx>.
881 (aarch64_frecp<FRECP:frecp_suffix><mode>): New.
882 (aarch64_frecps<mode>): Likewise.
883 * config/aarch64/iterators.md (FRECP): New.
884 (frecp_suffix): Likewise.
885 * config/aarch64/arm_neon.h
886 (vrecp<esx><qsd>_<fd><32, 64>): Convert to using builtins.
888 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
890 Backport from trunk r198030.
891 2013-04-17 Greta Yorsh <Greta.Yorsh at arm.com>
893 * config/arm/arm.md (movsicc_insn): Convert define_insn into
894 define_insn_and_split.
895 (and_scc,ior_scc,negscc): Likewise.
896 (cmpsi2_addneg, subsi3_compare): Convert to named patterns.
898 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
900 Backport from trunk r198020.
901 2013-04-16 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
903 * config/aarch64/aarch64.md (*adds_<optab><mode>_multp2):
905 (*subs_<optab><mode>_multp2): New pattern.
906 (*adds_<optab><ALLX:mode>_<GPI:mode>): New pattern.
907 (*subs_<optab><ALLX:mode>_<GPI:mode>): New pattern.
909 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
911 Backport from trunk r198004,198029.
912 2013-04-17 Greta Yorsh <Greta.Yorsh at arm.com>
914 * config/arm/arm.c (use_return_insn): Return 0 for targets that
915 can benefit from using a sequence of LDRD instructions in epilogue
916 instead of a single LDM instruction.
918 2013-04-16 Greta Yorsh <Greta.Yorsh at arm.com>
920 * config/arm/arm.c (emit_multi_reg_push): New declaration
921 for an existing function.
922 (arm_emit_strd_push): New function.
923 (arm_expand_prologue): Used here.
924 (arm_emit_ldrd_pop): New function.
925 (arm_expand_epilogue): Used here.
926 (arm_get_frame_offsets): Update condition.
927 (arm_emit_multi_reg_pop): Add a special case for load of a single
928 register with writeback.
930 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
932 Backport from trunk r197965.
933 2013-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
935 * config/arm/arm.c (const_ok_for_dimode_op): Handle AND case.
936 * config/arm/arm.md (*anddi3_insn): Change to insn_and_split.
937 * config/arm/constraints.md (De): New constraint.
938 * config/arm/neon.md (anddi3_neon): Delete.
939 (neon_vand<mode>): Expand to standard anddi3 pattern.
940 * config/arm/predicates.md (imm_for_neon_inv_logic_operand):
941 Move earlier in the file.
942 (neon_inv_logic_op2): Likewise.
943 (arm_anddi_operand_neon): New predicate.
945 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
947 Backport from trunk r197925.
948 2013-04-12 Greta Yorsh <Greta.Yorsh@arm.com>
950 * config/arm/arm.md (mov_scc,mov_negscc,mov_notscc): Convert
951 define_insn into define_insn_and_split and emit movsicc patterns.
953 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
955 Backport from trunk r197807.
956 2013-04-11 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
958 * config/aarch64/aarch64.h (REVERSIBLE_CC_MODE): Define.
960 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
962 Backport from trunk r197642.
963 2013-04-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
965 * config/arm/arm.md (minmax_arithsi_non_canon): New pattern.
967 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
969 Backport from trunk r197530,197921.
970 2013-04-12 Greta Yorsh <Greta.Yorsh@arm.com>
972 * config/arm/arm.c (gen_operands_ldrd_strd): Initialize "base".
974 2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com>
976 * config/arm/constraints.md (q): New constraint.
977 * config/arm/ldrdstrd.md: New file.
978 * config/arm/arm.md (ldrdstrd.md) New include.
979 (arm_movdi): Use "q" instead of "r" constraint
980 for double-word memory access.
981 (movdf_soft_insn): Likewise.
982 * config/arm/vfp.md (movdi_vfp): Likewise.
983 * config/arm/t-arm (MD_INCLUDES): Add ldrdstrd.md.
984 * config/arm/arm-protos.h (gen_operands_ldrd_strd): New declaration.
985 * config/arm/arm.c (gen_operands_ldrd_strd): New function.
986 (mem_ok_for_ldrd_strd): Likewise.
987 (output_move_double): Update assertion.
989 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
991 Backport of trunk r197518-197522,197526-197528.
992 2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com>
994 * config/arm/arm.md (arm_smax_insn): Convert define_insn into
995 define_insn_and_split.
996 (arm_smin_insn,arm_umaxsi3,arm_uminsi3): Likewise.
998 2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com>
1000 * config/arm/arm.md (arm_ashldi3_1bit): Convert define_insn into
1001 define_insn_and_split.
1002 (arm_ashrdi3_1bit,arm_lshrdi3_1bit): Likewise.
1003 (shiftsi3_compare): New pattern.
1005 * config/arm/unspecs.md (UNSPEC_RRX): New.
1007 2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com>
1009 * config/arm/arm.md (negdi_extendsidi): New pattern.
1010 (negdi_zero_extendsidi): Likewise.
1012 2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com>
1014 * config/arm/arm.md (andsi_iorsi3_notsi): Convert define_insn into
1015 define_insn_and_split.
1016 (arm_negdi2,arm_abssi2,arm_neg_abssi2): Likewise.
1017 (arm_cmpdi_insn,arm_cmpdi_unsigned): Likewise.
1019 2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com>
1021 * config/arm/arm.md (arm_subdi3): Convert define_insn into
1022 define_insn_and_split.
1023 (subdi_di_zesidi,subdi_di_sesidi): Likewise.
1024 (subdi_zesidi_di,subdi_sesidi_di,subdi_zesidi_zesidi): Likewise.
1026 2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com>
1028 * config/arm/arm.md (subsi3_carryin): New pattern.
1029 (subsi3_carryin_const): Likewise.
1030 (subsi3_carryin_compare,subsi3_carryin_compare_const): Likewise.
1031 (subsi3_carryin_shift,rsbsi3_carryin_shift): Likewise.
1033 2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com>
1035 * config/arm/arm.md (incscc,arm_incscc,decscc,arm_decscc): Delete.
1037 2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com>
1039 * config/arm/arm.md (addsi3_carryin_<optab>): Set attribute predicable.
1040 (addsi3_carryin_alt2_<optab>,addsi3_carryin_shift_<optab>): Likewise.
1042 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1044 Backport of trunk r197517.
1045 2013-04-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1047 * config/arm/arm.c (arm_expand_builtin): Change fcode
1048 type to unsigned int.
1050 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1052 Backport of trunk r197513.
1053 2013-04-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1055 * doc/invoke.texi (ARM Options): Document cortex-a53 support.
1057 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1059 Backport of trunk r197489-197491.
1060 2013-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1062 * config/arm/arm-protos.h (arm_builtin_vectorized_function):
1063 New function prototype.
1064 * config/arm/arm.c (TARGET_VECTORIZE_BUILTINS): Define.
1065 (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Likewise.
1066 (arm_builtin_vectorized_function): New function.
1068 2013-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1070 * config/arm/arm_neon_builtins.def: New file.
1071 * config/arm/arm.c (neon_builtin_data): Move contents to
1072 arm_neon_builtins.def.
1073 (enum arm_builtins): Include neon builtin definitions.
1074 (ARM_BUILTIN_NEON_BASE): Move from enum to macro.
1075 * config/arm/t-arm (arm.o): Add dependency on
1076 arm_neon_builtins.def.
1078 2013-05-02 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1080 Backport of trunk 196795-196797,196957
1081 2013-03-19 Ian Bolton <ian.bolton@arm.com>
1083 * config/aarch64/aarch64.md (*sub<mode>3_carryin): New pattern.
1084 (*subsi3_carryin_uxtw): Likewise.
1086 2013-03-19 Ian Bolton <ian.bolton@arm.com>
1088 * config/aarch64/aarch64.md (*ror<mode>3_insn): New pattern.
1089 (*rorsi3_insn_uxtw): Likewise.
1091 2013-03-19 Ian Bolton <ian.bolton@arm.com>
1093 * config/aarch64/aarch64.md (*extr<mode>5_insn): New pattern.
1094 (*extrsi5_insn_uxtw): Likewise.
1096 2013-04-10 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1098 * LINARO-VERSION: Bump version number.
1100 2013-04-09 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1102 * GCC Linaro 4.8-2013.04 released.
1104 * LINARO-VERSION: New file.
1105 * configure.ac: Add Linaro version string.
1106 * configure: Regenerate.
1108 2013-04-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1110 Backport of trunk r197346.
1111 2013-04-02 Ian Caulfield <ian.caulfield@arm.com>
1112 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1114 * config/arm/arm-arches.def (armv8-a): Default to cortex-a53.
1115 * config/arm/t-arm (MD_INCLUDES): Depend on cortex-a53.md.
1116 * config/arm/cortex-a53.md: New file.
1117 * config/arm/bpabi.h (BE8_LINK_SPEC): Handle cortex-a53.
1118 * config/arm/arm.md (generic_sched, generic_vfp): Handle cortex-a53.
1119 * config/arm/arm.c (arm_issue_rate): Likewise.
1120 * config/arm/arm-tune.md: Regenerate
1121 * config/arm/arm-tables.opt: Regenerate.
1122 * config/arm/arm-cores.def: Add cortex-a53.
1124 2013-04-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1126 Backport of trunk r197342.
1127 2013-04-02 Sofiane Naci <sofiane.naci@arm.com>
1129 * config/aarch64/aarch64.md (*mov<mode>_aarch64): Add variants for
1130 scalar load/store operations using B/H registers.
1131 (*zero_extend<SHORT:mode><GPI:mode>2_aarch64): Likewise.
1133 2013-04-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1135 Backport of trunk r197341.
1136 2013-04-02 Sofiane Naci <sofiane.naci@arm.com>
1138 * config/aarch64/aarch64.md (*mov<mode>_aarch64): Add alternatives for
1140 * config/aarch64/aarch64.c
1141 (aarch64_simd_scalar_immediate_valid_for_move): New.
1142 * config/aarch64/aarch64-protos.h
1143 (aarch64_simd_scalar_immediate_valid_for_move): New.
1144 * config/aarch64/constraints.md (Dh, Dq): New.
1145 * config/aarch64/iterators.md (hq): New.
1147 2013-04-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1149 Backport from trunk r197207.
1150 2013-03-28 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
1152 * config/aarch64/aarch64.md (*and<mode>3_compare0): New pattern.
1153 (*andsi3_compare0_uxtw): New pattern.
1154 (*and_<SHIFT:optab><mode>3_compare0): New pattern.
1155 (*and_<SHIFT:optab>si3_compare0_uxtw): New pattern.
1157 2013-04-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1159 Backport from trunk r197153.
1160 2013-03-27 Terry Guo <terry.guo@arm.com>
1162 * config/arm/arm-cores.def: Added core cortex-r7.
1163 * config/arm/arm-tune.md: Regenerated.
1164 * config/arm/arm-tables.opt: Regenerated.
1165 * doc/invoke.texi: Added entry for core cortex-r7.
1167 2013-04-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1169 Backport from trunk r197052.
1170 2013-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1172 * config/arm/arm.md (f_sels, f_seld): New types.
1173 (*cmov<mode>): New pattern.
1174 * config/arm/predicates.md (arm_vsel_comparison_operator): New
1177 2013-04-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1179 Backport from trunk r197046.
1180 2013-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1182 * config/arm/arm.c (arm_emit_load_exclusive): Add acq parameter.
1183 Emit load-acquire versions when acq is true.
1184 (arm_emit_store_exclusive): Add rel parameter.
1185 Emit store-release versions when rel is true.
1186 (arm_split_compare_and_swap): Use acquire-release instructions
1188 of barriers when appropriate.
1189 (arm_split_atomic_op): Likewise.
1190 * config/arm/arm.h (TARGET_HAVE_LDACQ): New macro.
1191 * config/arm/unspecs.md (VUNSPEC_LAX): New unspec.
1192 (VUNSPEC_SLX): Likewise.
1193 (VUNSPEC_LDA): Likewise.
1194 (VUNSPEC_STL): Likewise.
1195 * config/arm/sync.md (atomic_load<mode>): New pattern.
1196 (atomic_store<mode>): Likewise.
1197 (arm_load_acquire_exclusive<mode>): Likewise.
1198 (arm_load_acquire_exclusivesi): Likewise.
1199 (arm_load_acquire_exclusivedi): Likewise.
1200 (arm_store_release_exclusive<mode>): Likewise.
1202 2013-04-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1204 Backport from trunk r196876.
1205 2013-03-21 Christophe Lyon <christophe.lyon@linaro.org>
1207 * config/arm/arm-protos.h (tune_params): Add
1208 prefer_neon_for_64bits field.
1209 * config/arm/arm.c (prefer_neon_for_64bits): New variable.
1210 (arm_slowmul_tune): Default prefer_neon_for_64bits to false.
1211 (arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
1212 (arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
1213 (arm_cortex_a15_tune, arm_cortex_a5_tune): Ditto.
1214 (arm_cortex_a9_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
1215 (arm_option_override): Handle -mneon-for-64bits new option.
1216 * config/arm/arm.h (TARGET_PREFER_NEON_64BITS): New macro.
1217 (prefer_neon_for_64bits): Declare new variable.
1218 * config/arm/arm.md (arch): Rename neon_onlya8 and neon_nota8 to
1219 avoid_neon_for_64bits and neon_for_64bits. Remove onlya8 and
1221 (arch_enabled): Handle new arch types. Remove support for onlya8
1223 (one_cmpldi2): Use new arch names.
1224 * config/arm/arm.opt (mneon-for-64bits): Add option.
1225 * config/arm/neon.md (adddi3_neon, subdi3_neon, iordi3_neon)
1226 (anddi3_neon, xordi3_neon, ashldi3_neon, <shift>di3_neon): Use
1227 neon_for_64bits instead of nota8 and avoid_neon_for_64bits instead
1229 * doc/invoke.texi (-mneon-for-64bits): Document.
1231 2013-04-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1233 Backport from trunk r196858.
1234 2013-03-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
1236 * config/aarch64/aarch64-simd.md (simd_fabd): New Attribute.
1237 (abd<mode>_3): New pattern.
1238 (aba<mode>_3): New pattern.
1239 (fabd<mode>_3): New pattern.
1241 2013-04-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1243 Backport from trunk r196856.
1244 2013-03-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
1246 * config/aarch64/aarch64-elf.h (REGISTER_PREFIX): Remove.
1247 * config/aarch64/aarch64.c (aarch64_print_operand): Remove all
1248 occurrence of REGISTER_PREFIX as its empty string.