* config/i386/i386.c (expand_set_or_movmem_via_loop): Add issetmem
        argument.  Update function comment.
        (expand_set_or_movmem_via_rep): New function combining
        expand_movmem_via_rep_mov and expand_setmem_via_rep_stos.
        (expand_movmem_via_rep_mov): Remove.
        expand_setmem_via_rep_stos): Remove.
        (expand_movmem_epilogue): Update calls correspondingly.
        (expand_setmem_epilogue_via_loop): Likewise.
        (emit_memset): New.
        (expand_setmem_epilogue): Add VEC_VALUE argument, refactor.
        (expand_set_or_movmem_prologue): New function combining
        expand_movmem_prologue and expand_setmem_prologue.
        (expand_movmem_prologue): Remove.
        (expand_setmem_prologue): Remove.
        (expand_set_or_movmem_constant_prologue): New function combining
        expand_constant_movmem_prologue and expand_constant_setmem_prologue.
        (expand_constant_movmem_prologue): Remove.
        (expand_constant_setmem_prologue): Remove.
        (promote_duplicated_reg): Allow vector-const0 value.
        (ix86_expand_set_or_movmem): New function combining ix86_expand_movmem
        and ix86_expand_setmem.
        (ix86_expand_movmem): Call ix86_expand_set_or_movmem.
        (ix86_expand_setmem): Call ix86_expand_set_or_movmem.


testsuite/
        * gcc.target/i386/memset-vector_loop-1.c: New test.
        * gcc.target/i386/memset-vector_loop-2.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203886 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/i386-tune.def: Add comment; organize into categories


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203888 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/i386.md (kxnor<mode>): Add FLAGS_REG clobber.



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

	PR middle-end/58742
	* fold-const.c (fold_binary_loc): Fold ((T) (X /[ex] C)) * C
	to (T) X for sign-changing conversions (or no conversion).

	* c-c++-common/fold-divmul-1.c: New testcase.


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

	PR tree-optimization/58794
	* fold-const.c (operand_equal_p): Compare FIELD_DECL operand
	of COMPONENT_REFs with OEP_CONSTANT_ADDRESS_OF left in place.

	* c-c++-common/torture/pr58794-1.c: New testcase.
	* c-c++-common/torture/pr58794-2.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203891 138bc75d-0d04-0410-961f-82ee72b054a4
[gcc/]
2013-10-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (cortexa9_extra_costs): Update mult costs for
	extend and extend_add.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203892 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-20  Edward Smith-Rowland  <3dw4rd@verizon.net>

	PR libstdc++/58804
	PR libstdc++/58729
	* include/tr2/dynamic_bitset
	(__dynamic_bitset_base<_WordT, _Alloc>::_M_are_all_aux,
	__dynamic_bitset_base<_WordT, _Alloc>::_M_do_count):
	Use __builtin_popcountll() instead of __builtin_popcountl().
	* include/tr2/dynamic_bitset.tcc
	(__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_first,
	__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_next):
	Use __builtin_ctzll() instead of __builtin_ctzl().



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203893 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/invoke.texi (Optimize Options): For -fno-toplevel-reorder,
	don't imply that attributes can solve all problems.
	(Directory Options): Fix typo.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203894 138bc75d-0d04-0410-961f-82ee72b054a4
       * tree-ssa-threadedge.c (thread_through_normal_block): New argument VISITED.
        Remove VISISTED as a local variable.  When we have a threadable jump, verify
        the destination of the jump has not been visised.
        (thread_across_edge): Allocate VISITED bitmap once at function scope and
        use it throughout.  Make sure to set appropriate bits in VISITED for E (start
        of jump thread path).

        * tree-ssa-threadupdate.c (mark_threaded_blocks): Reject threading through
        a joiner if any edge on the path has a recorded jump thread.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203895 138bc75d-0d04-0410-961f-82ee72b054a4
	* ipa-inline.c (edge_badness): Cap edge->count at max_count for badness
	calculations.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203897 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix DECL_BIT_FIELD depencency on flag_strict_volatile_bitfields
        and get_inner_reference returning different pmode for non-volatile
        bit-field members dependent on flag_strict_volatile_bitfields.
        * stor-layout.c (layout_decl): Remove special handling of
        flag_strict_volatile_bitfields.
        * expr.c (get_inner_reference): Don't use DECL_BIT_FIELD
        if flag_strict_volatile_bitfields > 0 and TREE_THIS_VOLATILE.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203898 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix volatile issues in optimize_bit_field_compare.
        * fold-const.c (optimize_bit_field_compare): Bail out if
        lvolatilep or rvolatilep.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203899 138bc75d-0d04-0410-961f-82ee72b054a4
        * gcc.dg/20050922-1.c: Remove stdlib.h and declare abort().
        * gcc.dg/20050922-1.c: Remove stdlib.h and declare abort() and
        exit().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203901 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-21  Cong Hou  <congh@google.com>

        * MAINTAINERS (Write After Approval): Add myself.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203904 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* system.h: Move hwint.h include further down.
	* hwint.h (sext_hwi, zext_hwi): Define unconditionally.  Add
	gcc_checking_asserts.
	* hwint.c (sext_hwi, zext_hwi): Delete ENABLE_CHECKING versions.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203906 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/58809
	* fold-const.c (fold_range_test): Return 0 if the type is not
	an integral type.
testsuite/
	* gcc.dg/gomp/pr58809.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203907 138bc75d-0d04-0410-961f-82ee72b054a4
Re-factor inclusion of tree.h.

This moves tree.h out of every header. This exposes dependencies of
tree.h in files that should probably not need it after tree and gimple
are separated.

After this change, no header should include tree.h directly. It should
only be included by a .c file. Unfortunately, I did not find an
automatic way of forcing this.

Tested on x86_64 with all languages enabled and using
contrib/config-list.mk.

2013-10-21  Diego Novillo  <dnovillo@google.com>

	* asan.c: Include tree.h
	* bb-reorder.c: Likewise.
	* cfgcleanup.c: Likewise.
	* cfgloopmanip.c: Likewise.
	* data-streamer-in.c: Likewise.
	* data-streamer-out.c: Likewise.
	* data-streamer.c: Likewise.
	* dwarf2cfi.c: Likewise.
	* graphite-blocking.c: Likewise.
	* graphite-clast-to-gimple.c: Likewise.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-optimize-isl.c: Likewise.
	* graphite-poly.c: Likewise.
	* graphite-scop-detection.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* graphite.c: Likewise.
	* ipa-devirt.c: Likewise.
	* ipa-profile.c: Likewise.
	* ipa.c: Likewise.
	* ira.c: Likewise.
	* loop-init.c: Likewise.
	* loop-unroll.c: Likewise.
	* lower-subreg.c: Likewise.
	* lto/lto-object.c: Likewise.
	* recog.c: Likewise.
	* reginfo.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-ssa-strlen.c: Likewise.
	* tree-streamer.c: Likewise.
	* value-prof.c: Likewise.
	* target-globals.c: Likewise.
	* expr.h: Include tree-core.h instead of tree.h.
	* gimple.h: Likewise.
	* ipa-prop.h: Likewise.
	* ipa-utils.h: Likewise.
	* lto-streamer.h: Likewise.
	* streamer-hooks.h: Likewise.
	* ipa-reference.h: Include cgraph.h instead of tree.h.
	* cgraph.h: Include basic-block.h instead of tree.h.
	* tree-streamer.h: Do not include tree.h.
	* genattrtab.c (write_header): Generate inclusion of
	tree.h.
	* genautomata.c (main): Likewise.
	* genemit.c: Likewise.
	* genopinit.c: Likewise.
	* genoutput.c (output_prologue): Likewise.
	* genpeep.c: Likewise.

testsuite/ChangeLog

	* g++.dg/plugin/selfassign.c: Include tree.h.
	* gcc.dg/plugin/finish_unit_plugin.c: Likewise.
	* gcc.dg/plugin/ggcplug.c: Likewise.
	* gcc.dg/plugin/one_time_plugin.c: Likewise.
	* gcc.dg/plugin/selfassign.c: Likewise.
	* gcc.dg/plugin/start_unit_plugin.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203908 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58803
        * decl.c (match_ppc_decl): Prevent later
        double free.

2013-10-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58803
        * gfortran.dg/proc_ptr_comp_38.f90: New.



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

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

	* tree-ssa-ter.h: Remove duplicate copy of file contents.



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