+2011-10-14 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * invoke.texi (AVR Options): Avoid \leq{}.
+
+2011-10-14 Kai Tietz <ktietz@redhat.com>
+
+ * gimplify.c (gimplify_expr): Take care that for bitwise-binary
+ transformation the operands have compatible types.
+
+2011-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (vec_widen_smult_hi_v8hi,
+ vec_widen_smult_lo_v8hi, vec_widen_umult_hi_v8hi,
+ vec_widen_umult_lo_v8hi): Macroize using VI2_AVX2
+ mode iterator and any_extend code iterator.
+ (vec_widen_<s>mult_hi_v8si, vec_widen_<s>mult_lo_v8si): New
+ expanders.
+ (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si): Enable
+ also for TARGET_SSE4_1 using pmuldq insn.
+ (sdot_prodv8hi): Macroize using VI2_AVX2 iterator.
+ (sse2_sse4_1): New code attr.
+ (udot_prodv4si): Macroize using any_extend code iterator.
+ (<s>dot_prodv8si): New expander.
+
+2011-10-14 Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
+
+ * config/i386/i386.c (atom_cost): Changed cost for loading
+ QImode using movzbl.
+
+2011-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo in my
+ change on October 11th, 2011.
+
+2011-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (vec_interleave_high<mode>,
+ vec_interleave_low<mode>): Add AVX2 expanders for VI_256
+ modes.
+ * config/i386/i386.c (expand_vec_perm_interleave3): New function.
+ (ix86_expand_vec_perm_builtin_1): Call it.
+
+2011-10-14 Georg-Johann Lay <avr@gjlay.de>
+
+ Fix thinko from r179765
+ * config/avr/avr.c (avr_option_override): Don't override
+ flag_omit_frame_pointer if not actually needed.
+
+2011-10-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/46278
+ * doc/invoke.texi (AVR Options): Document -mstrict-X.
+
+ * config/avr/avr.opt (-mstrict-X): New option.
+ (avr_strict_X): New variable reflecting -mstrict-X.
+ * config/avr/avr.c (avr_reg_ok_for_addr_p): Add parameter
+ outer_code and pass it down to avr_regno_mode_code_ok_for_base_p.
+ (avr_legitimate_address_p): Pass outer_code to
+ avr_reg_ok_for_addr_p and use that function in case PLUS.
+ (avr_mode_code_base_reg_class): Depend on avr_strict_X.
+ (avr_regno_mode_code_ok_for_base_p): Ditto, and depend on outer_code.
+ (avr_option_override): Disable -fcaller-saves if -mstrict-X is on.
+
+2011-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (neg<mode>2): Use VI_AVX2 iterator instead
+ of VI_128.
+
+ * config/i386/sse.md (mulv2di3): Macroize using VI8_AVX2
+ iterator.
+ (ashl<mode>3): Use VI248_AVX2 iterator instead of VI248_128.
+ Use <sseinsnmode> instead of TI in mode attr.
+
+2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
+
+ * config/arm/linux-atomic-64bit.c: New (based on linux-atomic.c).
+ * config/arm/linux-atomic.c: Change comment to point to 64bit version.
+ (SYNC_LOCK_RELEASE): Instantiate 64bit version.
+ * config/arm/t-linux-eabi: Pull in linux-atomic-64bit.c.
+
+2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
+
+ * config/arm/arm.c (arm_output_ldrex): Support ldrexd.
+ (arm_output_strex): Support strexd.
+ (arm_output_it): New helper to output it in Thumb2 mode only.
+ (arm_output_sync_loop): Support DI mode. Change comment to
+ not support const_int.
+ (arm_expand_sync): Support DI mode.
+ * config/arm/arm.h (TARGET_HAVE_LDREXBHD): Split into LDREXBH
+ and LDREXD.
+ * config/arm/iterators.md (NARROW): move from sync.md.
+ (QHSD): New iterator for all current ARM integer modes.
+ (SIDI): New iterator for SI and DI modes only.
+ * config/arm/sync.md (sync_predtab): New mode_attr.
+ (sync_compare_and_swapsi): Fold into sync_compare_and_swap<mode>.
+ (sync_lock_test_and_setsi): Fold into sync_lock_test_and_setsi<mode>.
+ (sync_<sync_optab>si): Fold into sync_<sync_optab><mode>.
+ (sync_nandsi): Fold into sync_nand<mode>.
+ (sync_new_<sync_optab>si): Fold into sync_new_<sync_optab><mode>.
+ (sync_new_nandsi): Fold into sync_new_nand<mode>.
+ (sync_old_<sync_optab>si): Fold into sync_old_<sync_optab><mode>.
+ (sync_old_nandsi): Fold into sync_old_nand<mode>.
+ (sync_compare_and_swap<mode>): Support SI & DI.
+ (sync_lock_test_and_set<mode>): Likewise.
+ (sync_<sync_optab><mode>): Likewise.
+ (sync_nand<mode>): Likewise.
+ (sync_new_<sync_optab><mode>): Likewise.
+ (sync_new_nand<mode>): Likewise.
+ (sync_old_<sync_optab><mode>): Likewise.
+ (sync_old_nand<mode>): Likewise.
+ (arm_sync_compare_and_swapsi): Turn into iterator on SI & DI.
+ (arm_sync_lock_test_and_setsi): Likewise.
+ (arm_sync_new_<sync_optab>si): Likewise.
+ (arm_sync_new_nandsi): Likewise.
+ (arm_sync_old_<sync_optab>si): Likewise.
+ (arm_sync_old_nandsi): Likewise.
+ (arm_sync_compare_and_swap<mode> NARROW): use sync_predtab, fix indent.
+ (arm_sync_lock_test_and_setsi<mode> NARROW): Likewise.
+ (arm_sync_new_<sync_optab><mode> NARROW): Likewise.
+ (arm_sync_new_nand<mode> NARROW): Likewise.
+ (arm_sync_old_<sync_optab><mode> NARROW): Likewise.
+ (arm_sync_old_nand<mode> NARROW): Likewise.
+
+2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
+
+ PR target/48126
+ * config/arm/arm.c (arm_output_sync_loop): Move label before barrier.
+
+2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
+
+ * config/arm/arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.
+
+2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * doc/invoke.texi ([Wformat-zero-length]): Tidy.
+
+2011-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr
+ also on COND_EXPR/VEC_COND_EXPR comparison operands if they are
+ ADDR_EXPRs.
+
+2011-10-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50723
+ * ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.
+
+2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * gengtype.c (files_rules): Added rules for objc/objc-map.h and
+ objc/objc-map.c.
+
+2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/17212
+ * c-family/c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
+ * doc/invoke.texi: Update.
+
+2011-10-14 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR bootstrap/50699
+ * config/darwin.c (darwin_patch_builtin): Adjust argument type. Only
+ build for powerpc targets. (darwin_patch_builtins): Only build for
+ powerpc targets.
+
+2011-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (*avx_cvtdq2pd256_2): Rename to...
+ (avx_cvtdq2pd256_2): ... this.
+ (sseunpackfltmode): New mode attr.
+ (vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi,
+ vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): Macroize
+ using VI2_AVX2 iterator.
+ (vec_unpacku_float_hi_v8si, vec_unpacku_float_lo_v8si): New
+ expanders.
+
+2011-10-13 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (plusminus): New code iterator.
+ (plusminus_insn): New code attr.
+ (addv2si3, subv2si3, addv4hi3, subv4hi3, addv2hi3, subv2hi3): Merge
+ using plusminus and plusminus_insn.
+ (fpadd64_vis, fpsub64_vis): Likewise.
+
+2011-10-13 Richard Henderson <rth@redhat.com>
+
+ * doc/md.texi (vec_perm): Document fallback to byte permutation.
+ * genopinit.c (optabs): Add vec_perm_const.
+ * optabs.c (can_vec_perm_expr_p): Rename from expand_vec_perm_expr_p.
+ Reject non-vector modes. Allow fallback to byte permutation.
+ (expand_vec_perm_expr_1): Split out from ...
+ (expand_vec_perm_expr): ... here. Allow fallback to byte permutation.
+ * optabs.h (DOI_vec_perm_const, vec_perm_const_optab): New.
+ * tree-vect-generic.c (lower_vec_perm): Update for name change.
+
2011-10-13 Richard Henderson <rth@redhat.com>
* config/rs6000/altivec.md (vec_permv16qi): New pattern.
+ * config/rs6000/spu.md (vec_permv16qi): New pattern.
+
+ * config/i386/i386.c (ix86_expand_vec_perm_const): New.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/sse.md (VEC_PERM_CONST): New mode iterator.
+ (vec_perm_const<VEC_PERM_CONST>): New expander.
+
+ * optabs.c (expand_vector_broadcast): New.
+ (expand_binop): Expand scalar shifts of vectors to vector shifts
+ of vectors, if the former isn't supported.
+ * tree-vect-generic.c (expand_vector_operations_1): Don't do that
+ here; always simplify to scalar shift of vector if possible.
+
+ * config/rs6000/rs6000.c (rs6000_expand_vector_init): Fix mode
+ test for vector splat.
+
2011-10-13 Jakub Jelinek <jakub@redhat.com>
* config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode