Add ARCompact port to gcc 4.8, merged to that point that cc1 can be linked.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2577 8ad889b4-764b-0410-b193-d8a7b30fb157
        * config/arc/arc.h (REG_OK_FOR_{BASE,INDEX}_P_{,NON}STRICT):
        Fix mixup.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2578 8ad889b4-764b-0410-b193-d8a7b30fb157
        * config/arc/arc.c (arc_compare_op0, arc_compare_op1): Delete.
        (gen_compare_reg): Change type of first argument; get operands from
        there, and force into registers if needed.  Changed all callers.
        Use CC_REG.
        * config/arc/arc.md (R12_REG): Define.
        (cmpsi, seq, sne, sgt, sle, sge, slt, sgtu, sleu, sgeu, sltu): Delete.
        (SDF, OPTFPE_CMP): New mode iterators.
        (cmp): New mode attribute.
        (cbranchsi4, cstoresi4, cstore<SDF:mode>4): New patterns.
        (scc_insn, branch_insn): No longer suppress generator functions.
        (beq, bne, bgt, ble, bge, blt, bgtu, bleu, bgeu, bltu, bunge): Delete.
        (bungt, bunle, bunlt, buneq, bltgt, bordered, bunordered): Likewise.
        (cbranch<SDF:mode>4): New patterns.
        (cmpsf, cmpdf): Delete.
        (cmp_float): Use RETURN_ADDR_REGNUM and R12_REG.
        (cmpsf_eq, cmpsf_gt, cmpsf_ge, cmpsf_uneq, cmpsf_ord): Describe with
        OPTFPE_CMP mode iteration.
        (cmpdf_eq, cmpdf_gt, cmpdf_ge, cmpdf_uneq, cmpdf_ord): Likewise.
        * config/arc/arc-protos.h (gen_compare_reg): Update prototype.

        * config/arc/arc.c (arc_print_operand): Check that we have an actual
        JUMP_INSN before using INSN_ANNULLED_BRANCH_P.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2579 8ad889b4-764b-0410-b193-d8a7b30fb157
Move arc libgcc configuration to proper place in new toplevel libgcc directory:
libgcc:
        * config.host (arc-*-elf*, arc600-*-linux-uclibc*): New configurations.
        (arc601-*-linux-uclibc*, arc*-*-linux-uclibc*): Likewise.
        * config/arc: New Directory.
gcc:
        * config.gcc: Move ARC libgcc configuration bits into libgcc's
        config.host.
        * config/arc/t-arc: Move ARC libgcc configuration bits to its
        proper place in the new libgcc toplevel directory.
        * config/arc/asm.h, config/arc/libgcc-excl.ver: Likewise (entire file).
        * config/arc/crtg.asm, config/arc/crti.asm: Likewise.
        * config/arc/crtn.asm, config/arc/initfini.c: Likewise.
        * config/arc/t-arc700-uClibc, config/arc/dp-hack.h: Likewise.
        * config/arc/fp-hack.h, config/arc/lib1funcs.asm: Likewise.
        * config/arc/crtgend.asm, config/arc/t-arc-newlib: Likewise.
        * config/arc/divtab-arc700.c, config/arc/t-arc600-uClibc: Likewise.
        * config/arc/ieee-754, config/arc/gmon: Likewise (entire directory).

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2580 8ad889b4-764b-0410-b193-d8a7b30fb157
        *config/arc/arc.c (arc_legitimize_address): Rename to ..
        (arc_legitimize_address_0): .. this.  Changed all callers.
        (arc_legitimize_address): New function, to provide the expected
        return on failure for the TARGET_LEGITIMIZE_ADDRESS hook.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2581 8ad889b4-764b-0410-b193-d8a7b30fb157
	* config/arc/arc.c (arc_can_eliminate): Fix logic.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2582 8ad889b4-764b-0410-b193-d8a7b30fb157
        * config/arc/crtg.asm, config/arc/crti.asm config/arc/crtn.asm:
        Move, respectively, to:
        * config/arc/crtg.S, config/arc/crti.S config/arc/crtn.S.
        * config/arc/crtgend.asm, config/arc/lib1funcs.asm:
        Move, respectively, to:
        * config/arc/crtgend.S, config/arc/lib1funcs.S.
        * config/arc/t-arc: Reflect above name changes.  Remove $(T).
        (crti.o, crtn.o): Remove rules.
        * config/arc/t-arc600-uClibc: Remove $(T).
        * config/arc/t-arc700-uClibc, config/arc/t-arc-newlib: Likewise.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2583 8ad889b4-764b-0410-b193-d8a7b30fb157
        * config/arc/arc.c (arc_init): Always default to ARC700.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2585 8ad889b4-764b-0410-b193-d8a7b30fb157
        * config/arc/arc.md (attribute delay_slot_filled): : Check that we
        have an actual JUMP_INSN before using INSN_ANNULLED_BRANCH_P.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2586 8ad889b4-764b-0410-b193-d8a7b30fb157
        * config/arc/arc.h (TARGET_CPU_CPP_BUILTIN): Define __Xnorm /
        __Xbarrel_shifter here depending on hardware selection ...
        (CPP_SPEC) .. instead of here depending on a single switch.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2587 8ad889b4-764b-0410-b193-d8a7b30fb157
        * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): In auto-test,
        also scan for _Unwind_SjLj_Register.
        * configure: Regenerate.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2588 8ad889b4-764b-0410-b193-d8a7b30fb157

Conflicts:
	libstdc++-v3/configure : Regenerated.
        * config/arc/arc.md (cbranchsi4): Emit last insn.
        (cstoresi4, cstore<SDF:mode>4, cbranch<SDF:mode>4): Likewise.
        (scc_insn, branch_insn): Separate out expander, preserving mode
        of CC_REG.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2589 8ad889b4-764b-0410-b193-d8a7b30fb157
        * config/arc/arc.c (CCFSM_DBR_ISCOMPACT): Check that we
        have an actual JUMP_INSN before using INSN_ANNULLED_BRANCH_P.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2591 8ad889b4-764b-0410-b193-d8a7b30fb157

Conflicts:
	gcc/ChangeLog.ARC
        * config/arc/arc.c (emit_store_direct, arc_initialize_trampoline):
        Expect a block of memory instead of its address.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2592 8ad889b4-764b-0410-b193-d8a7b30fb157
        * config/arc/arc.c (arc_rtx_costs) <ASHIFT,ASHIFTRT,LSHIFTRT>:
        Avoid negative cost.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2593 8ad889b4-764b-0410-b193-d8a7b30fb157
        * common/config/arc/arc.c (arc_handle_option) <PROCESSOR_ARC601>:
        Reset MASK_BARREL_SHIFTER bit in target flags.
        (TARGET_DEFAULT_TARGET_FLAGS): Define to MASK_BARREL_SHIFTER.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2594 8ad889b4-764b-0410-b193-d8a7b30fb157
        * config.gcc (arc-*-elf*): Add newlib-stdint.h to tm_file.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2595 8ad889b4-764b-0410-b193-d8a7b30fb157
        * config/arc/arc.c (doloop_begin_i): Fix assignment for following
        a simplejump.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2596 8ad889b4-764b-0410-b193-d8a7b30fb157
        * testsuite/gcc.c-torture/execute/20101011-1.c [__arc__] (DO_TEST):
        Set to 0.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2597 8ad889b4-764b-0410-b193-d8a7b30fb157
        * config/arc/predicates.md (proper_comparison_operator): Remove
        cases added for non-existant comparisons.
        pretending we can do stuff we can't.
        * config/arc/arc.c (get_arc_condition_code): Restore sanity check
        for above.

git-svn-id: svn+ssh://thomas.embecosm.com/embecosm/Customer-Projects/synopsys/arc_gnu/branches/arc_gnu_4.8/gcc-4.8@2598 8ad889b4-764b-0410-b193-d8a7b30fb157