2013-07-03 Christophe Lyon <christophe.lyon@linaro.org>
[official-gcc.git] / gcc-4_8-branch / gcc / ChangeLog.linaro
blobbc4dfd8f29b17b7f6f94624e6ddc130f97fc4e65
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>
6         PR target/19599
7         PR target/57340
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>
14         PR target/19599
15         * config/arm/arm.c (arm_function_ok_for_sibcall): Add check
16         for NULL decl.
18         2013-05-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
20         PR target/19599
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
26         registers.
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
31         without decls.
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
64         define_cond_exec.
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"
93         where appropriate.
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>):
109         New pattern.
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
147         COND_EXEC.
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>
203         PR target/42017
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):
216         New function.
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
224         element_char member.
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>):
233         Update arguments.
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
241         pointers.
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):
247         Update prototype.
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
253         longer static.
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):
259         Add prototype.
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>
275         PR debug/57351
276         * config/arm/arm.c (arm_dwarf_register_span): Do not use dbx number.
278 2013-06-03  Christophe Lyon  <christophe.lyon@linaro.org>
280         Backport from trunk
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>
364         PR target/19599
365         PR target/57340
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>
372         PR target/19599
373         * config/arm/arm.c (arm_function_ok_for_sibcall): Add check
374         for NULL decl.
376         2013-05-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
378         PR target/19599
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
384         registers.
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
389         without decls.
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.
416         (reduc_uplus_): New.
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.
438         (SUADDV): New.
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
454         (reduc_smax_): New.
455         (reduc_smin_): Likewise.
456         (reduc_umax_): Likewise.
457         (reduc_umin_): Likewise.
458         (reduc_smax_nan_): Likewise.
459         (reduc_smin_nan_): Likewise.
460         (fmax): Remove.
461         (fmin): Likewise.
462         (smax): Update for V2SF, V4SF and V2DF modes.
463         (smin): Likewise.
464         (smax_nan): New.
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
475         new builtin names.
476         (vmin<q>_f<32,64>): Likewise.
477         * config/iterators.md (unspec): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
478         (FMAXMIN): New.
479         (su): Add mappings for smax, smin, umax, umin.
480         (maxmin): New.
481         (FMAXMINV): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
482         (FMAXMIN): Rename as...
483         (FMAXMIN_UNS): ...This.
484         (maxminv): Remove.
485         (fmaxminv): Likewise.
486         (fmaxmin): Likewise.
487         (maxmin_uns): New.
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.
567         (cmgt): Likewise.
568         (cmge): Likewise.
569         (cmle): Likewise.
570         (cmlt): Likewise.
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...
578         (cmgeu): ...This.
579         (cmhi): Rename to...
580         (cmgtu): ...This.
581         * config/aarch64/aarch64-simd.md
582         (simd_mode): Add SF.
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
588         (VALLF): new.
589         (unspec): Remove UNSPEC_CM<EQ, LE, LT, GE, GT, HS, HI, TST>.
590         (COMPARISONS): New.
591         (UCOMPARISONS): Likewise.
592         (optab): Add missing comparisons.
593         (n_optab): New.
594         (cmp_1): Likewise.
595         (cmp_2): Likewise.
596         (CMP): Likewise.
597         (cmp): Remove.
598         (VCMP_S): Likewise.
599         (VCMP_U): Likewise.
600         (V_cmp_result): Add DF, SF modes.
601         (v_cmp_result): Likewise.
602         (v): Likewise.
603         (vmtype): 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
619         code in CC_NZ mode.
620         * config/aarch64/aarch64.md (*neg_<shift><mode>3_compare0): New
621         pattern.
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
637         from/to S register.
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...
717         (btrunc): ...this.
718         (frintp): Rename to...
719         (ceil): ...this.
720         (frintm): Rename to...
721         (floor): ...this.
722         (frinti): Rename to...
723         (nearbyint): ...this.
724         (frintx): Rename to...
725         (rint): ...this.
726         (frinta): Rename to...
727         (round): ...this.
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.
768         (addvv4sf): Update.
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,
792         NEON_FLOAT_NARROW.
793         Handle initialisation of V4HF. Adjust initialisation of reinterpret
794         built-ins.
795         (arm_expand_neon_builtin): Handle NEON_FLOAT_WIDEN,
796         NEON_FLOAT_NARROW.
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
805         features.
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
830         compatible with C.
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
842         gimple_fold_builtin.
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
851         (CF): Remove.
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.
869         (sf_UP): Define.
870         (BUILTIN_GPF): Define.
871         (aarch64_init_simd_builtins): Handle SF types.
872         * config/aarch64/aarch64-simd-builtins.def (frecpe): Add support.
873         (frecps): Likewise.
874         (frecpx): Likewise.
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):
904         New pattern.
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.
1004         (rrx): 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.
1103         
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
1139         scalar move.
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
1175         predicate.
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
1187         instead.
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
1220         nota8.
1221         (arch_enabled): Handle new arch types. Remove support for onlya8
1222         and nota8.
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
1228         of onlya8.
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.