2013-10-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (vec_unpacku_hi_v16qi): Adjust for
	little endian.
	(vec_unpacku_hi_v8hi): Likewise.
	(vec_unpacku_lo_v16qi): Likewise.
	(vec_unpacku_lo_v8hi): Likewise.



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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203884 138bc75d-0d04-0410-961f-82ee72b054a4
        * 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