2013-05-10  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
	disable peeling when we version for aliasing.
	(vector_alignment_reachable_p): Honor explicit user alignment.
	(vect_supportable_dr_alignment): Likewise.
	* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Use
	STMT_VINFO_LOOP_PHI_EVOLUTION_PART instead of recomputing it.
	* tree-vect-loop.c (vect_transform_loop): First apply versioning,
	then peeling to arrange for the cost-model check to come first.

	* gcc.target/i386/avx256-unaligned-load-2.c: Make well-defined.
	* gcc.target/i386/l_fma_double_1.c: Adjust.
	* gcc.target/i386/l_fma_double_2.c: Likewise.
	* gcc.target/i386/l_fma_double_3.c: Likewise.
	* gcc.target/i386/l_fma_double_4.c: Likewise.
	* gcc.target/i386/l_fma_double_5.c: Likewise.
	* gcc.target/i386/l_fma_double_6.c: Likewise.
	* gcc.target/i386/l_fma_float_1.c: Likewise.
	* gcc.target/i386/l_fma_float_2.c: Likewise.
	* gcc.target/i386/l_fma_float_3.c: Likewise.
	* gcc.target/i386/l_fma_float_4.c: Likewise.
	* gcc.target/i386/l_fma_float_5.c: Likewise.
	* gcc.target/i386/l_fma_float_6.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198767 138bc75d-0d04-0410-961f-82ee72b054a4
	* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198768 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/45216
	PR tree-optimization/57157
	* tree-ssa-forwprop.c (simplify_rotate): New function.
	(ssa_forward_propagate_and_combine): Call it.

	* c-c++-common/rotate-1.c: New test.
	* c-c++-common/rotate-1a.c: New test.
	* c-c++-common/rotate-2.c: New test.
	* c-c++-common/rotate-2a.c: New test.
	* c-c++-common/rotate-3.c: New test.
	* c-c++-common/rotate-3a.c: New test.
	* c-c++-common/rotate-4.c: New test.
	* c-c++-common/rotate-4a.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198769 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/i386.md (rotateinv): New code attr.
	(*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext,
	*<rotate_insn>qi3_1_slp): Emit rorl %eax instead of
	roll $31, %eax, etc.

	* gcc.target/i386/rotate-1.c: Accept rolb or rorb instruction.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198770 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/mips/mips-protos.h (m16_uimm3_b, m16_simm4_1, m16_nsimm4_1)
	(m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4, m16_simm8_1)
	(m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1, m16_uimm8_4)
	(m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete.
	* config/mips/mips.c (m16_check_op, m16_uimm3_b, m16_simm4_1)
	(m16_nsimm4_1, m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4)
	(m16_simm8_1, m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1)
	(m16_uimm8_4, m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete.
	* config/mips/constraints.md (Udb8, Usb5, Usb8, Usd8, Uub8, Uuw5)
	(Uuw8): New constraints.
	(Usb4): Move into alphabetical order.
	* config/mips/predicates.md (db8_operand, sb5_operand, sb8_operand)
	(sd8_operand, ub8_operand, uw8_operand): New predicates.
	* config/mips/mips.md (*xor<mode>3, *xor<mode>3_mips16): Name
	previously unnamed patterns.
	(*add<mode>3_mips16, *xor<mode>3_mips16, *<optab>si3_mips16)
	(*ashldi3_mips16, *ashrdi3_mips16, *lshrdi3_mips16)
	(*slt<u>_<GPR:mode><GPR2:mode>_mips16)
	(*sle<u>_<GPR:mode><GPR2:mode>_mips16): Use constraints instead
	of set_attr_alternative/if_then_else.  Use extended_mips16 instead
	of specific lengths.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198771 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-10  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* stor-layout.c (element_precision): New function.
	* machmode.h (element_precision): Declare it.
	* tree.c (build_minus_one_cst): New function.
	(element_precision): Likewise.
	* tree.h (build_minus_one_cst): Declare new function.
	(element_precision): Likewise.
	* fold-const.c (operand_equal_p): Use element_precision.
	(fold_binary_loc): Handle vector types.
	* convert.c (convert_to_integer): Use element_precision.
	* gimple.c (iterative_hash_canonical_type): Handle complex and vectors
	separately.

gcc/c-family/
	* c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
	vectors.

gcc/testsuite/
	* gcc.dg/vector-shift.c: New testcase.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198772 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57214
	* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Do
	not propagate from SSA names that occur in abnormal PHI nodes.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198773 138bc75d-0d04-0410-961f-82ee72b054a4
Fix changelog entry


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198775 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/55149
	* semantics.c (add_capture): Error rather than abort on copy
	capture of VLA.
	* typeck.c (maybe_warn_about_returning_address_of_local): Don't
	warn about capture proxy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198776 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57047
	* semantics.c (cxx_fold_indirect_ref): Fix thinko.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198777 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57196
	* pt.c (convert_template_argument): Use dependent_template_arg_p,
	not uses_template_parms.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198778 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>

	* config/v850/t-rtems: Add more multilibs.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198781 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-10  Sebastian Huber <sebastian.huber@embedded-brains.de>

	* config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
	Add mthumb/march=armv7-a multilib.
	Add mthumb/march=armv7-r multilib.
	Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198784 138bc75d-0d04-0410-961f-82ee72b054a4
Fix spacing

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198789 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/54577
	* include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
	(_Deque_iterator<>::_M_const_cast): Add.
	(deque<>::_M_erase): Declare.
	* include/bits/deque.tcc: ... and define.
	* include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
	(_List_const_iterator<>::_M_const_cast): Add.
	* include/bits/list.tcc (erase (iterator)): Fix.
	* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
	Add; include <ext/cast.h>.
	* include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
	(vector<>::_M_erase): Declare.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/vector.tcc (vector<>::_M_erase): Define.
	* include/ext/vstring.h (erase): Fix signatures in C++11 mode.
	* include/debug/deque: Adjust.
	* include/debug/list: Likewise.
	* include/debug/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/list: Likewise.
	* include/profile/vector: Likewise.
	* testsuite/util/exception/safety.h (erase_base<deque>,
	erase_base<deque>, erase_base<vector>): Remove.
	(erase_base<__versa_string>): Update.
	* testsuite/ext/vstring/modifiers/char/54577.cc: New.
	* testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
	* testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
	* testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
	* testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
	Likewise.
	* testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198790 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-10  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-assigns.c (find_hard_regno_for): Add 1 to the cost of call
	saved registers.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198792 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/i386.md (memory): Handle sseishft1.
	* config/i386/sse.md (*vec_extractv4si): Remove memory attribute.
	(*vec_extractv2di_1): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198795 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198799 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198802 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/57108
	* gcc.target/sh/pr57108.c: Move this test case to ...
	* gcc.c-torture/compile/pr57108.c: ... here.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198803 138bc75d-0d04-0410-961f-82ee72b054a4