2014-01-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/vect/vect-nop-move.c (main): Check for vect runtime.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207075 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* rtlanal.c (canonicalize_condition): Split out duplicated mode check.
	Handle XOR.

gcc/testsuite/
	* gcc.dg/unroll_1.c: Add -fenable-rtl-loop2.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207076 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
            (TARGET_EXPAND_TO_RTL_HOOK): Define.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207077 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/tilepro.md (ctzdi2): Use register_operand
            predicate.
            (clzdi2): Ditto.
            (ffsdi2): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207078 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/mips/constraints.md (kl): Delete.
	* config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
	define expands, using...
	(divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
	instructions for MIPS16.
	(*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
	non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207079 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
            PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
            * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207080 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
            insns after bundles have been formed.
            * config/tilegx/tilegx.md (tile_network_barrier): Update
            comment.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207081 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
            arguments on even registers.
            (tilegx_function_arg_advance): Ditto.
            (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
            STACK_BOUNDARY.
            * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
            (BIGGEST_ALIGNMENT): Ditto.
            (BIGGEST_FIELD_ALIGNMENT): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207082 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins): 
            Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
            * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins): 
            Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207083 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
            avoid clobbering a live register.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207084 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (__atomic_do_and_fetch): Add a
            prefix op argument.
            (__atomic_nand_fetch_4): Add prefix op.
            (__atomic_nand_fetch_8): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207085 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (BIT_OFFSET): Define.
            (__atomic_subword_cmpxchg): Use BIT_OFFSET.
            (__atomic_subword): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207086 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (pre_atomic_barrier): Mark inline.
            (post_atomic_barrier): Ditto.
            (__fetch_and_do): New macro.
            (__atomic_fetch_and_do): Use __fetch_and_do.
            (__sync_fetch_and_do): New macro.
            (__sync_fetch_and_add_4): New function.
            (__sync_fetch_and_sub_4): New function.
            (__sync_fetch_and_or_4): New function.
            (__sync_fetch_and_and_4): New function.
            (__sync_fetch_and_xor_4): New function.
            (__sync_fetch_and_nand_4): New function.
            (__sync_fetch_and_add_8): New function.
            (__sync_fetch_and_sub_8): New function.
            (__sync_fetch_and_or_8): New function.
            (__sync_fetch_and_and_8): New function.
            (__sync_fetch_and_xor_8): New function.
            (__sync_fetch_and_nand_8): New function.
            (__do_and_fetch): New macro.
            (__atomic_do_and_fetch): Use __do_and_fetch.
            (__sync_do_and_fetch): New macro.
            (__sync_add_and_fetch_4): New function.
            (__sync_sub_and_fetch_4): New function.
            (__sync_or_and_fetch_4): New function.
            (__sync_and_and_fetch_4): New function.
            (__sync_xor_and_fetch_4): New function.
            (__sync_nand_and_fetch_4): New function.
            (__sync_add_and_fetch_8): New function.
            (__sync_sub_and_fetch_8): New function.
            (__sync_or_and_fetch_8): New function.
            (__sync_and_and_fetch_8): New function.
            (__sync_xor_and_fetch_8): New function.
            (__sync_nand_and_fetch_8): New function.
            (__sync_exchange_methods): New macro.
            (__sync_val_compare_and_swap_4): New function.
            (__sync_bool_compare_and_swap_4): New function.
            (__sync_lock_test_and_test_4): New function.
            (__sync_val_compare_and_swap_8): New function.
            (__sync_bool_compare_and_swap_8): New function.
            (__sync_lock_test_and_test_8): New function.
            (__subword_cmpxchg_body): New macro.
            (__atomic_compare_exchange_1): Use __subword_cmpxchg_body.
            (__atomic_compare_exchange_2): Ditto.
            (__sync_subword_cmpxchg): New macro.
            (__sync_val_compare_and_swap_1): New function.
            (__sync_bool_compare_and_swap_1): New function.
            (__sync_val_compare_and_swap_2): New function.
            (__sync_bool_compare_and_swap_2): New function.
            (__atomic_subword): Rename to ...
            (__subword): ... New name.
            (__atomic_subword_fetch): Use __subword.
            (__sync_subword_fetch): New macro.
            (__sync_fetch_and_add_1): New function.
            (__sync_fetch_and_sub_1): New function.
            (__sync_fetch_and_or_1): New function.
            (__sync_fetch_and_and_1): New function.
            (__sync_fetch_and_xor_1): New function.
            (__sync_fetch_and_nand_1): New function.
            (__sync_fetch_and_add_2): New function.
            (__sync_fetch_and_sub_2): New function.
            (__sync_fetch_and_or_2): New function.
            (__sync_fetch_and_and_2): New function.
            (__sync_fetch_and_xor_2): New function.
            (__sync_fetch_and_nand_2): New function.
            (__sync_add_and_fetch_1): New function.
            (__sync_sub_and_fetch_1): New function.
            (__sync_or_and_fetch_1): New function.
            (__sync_and_and_fetch_1): New function.
            (__sync_xor_and_fetch_1): New function.
            (__sync_nand_and_fetch_1): New function.
            (__sync_add_and_fetch_2): New function.
            (__sync_sub_and_fetch_2): New function.
            (__sync_or_and_fetch_2): New function.
            (__sync_and_and_fetch_2): New function.
            (__sync_xor_and_fetch_2): New function.
            (__sync_nand_and_fetch_2): New function.
            (__atomic_subword_lock): Use __subword.
            (__sync_subword_lock): New macro.
            (__sync_lock_test_and_set_1): New function.
            (__sync_lock_test_and_set_2): New function.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207087 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c: Include tconfig.h.  Don't include
            config.h or system.h.
            (bool) Define.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207088 138bc75d-0d04-0410-961f-82ee72b054a4
Fix pilot error in previous checkin

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

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