Lines Matching +refs:read +refs:config +refs:outer +refs:indentations

3 	* config/rs6000/rs6000.c (rs6000_deligitimze_address): Do not
8 * config/rs6000/rs6000.md (tls_get_addr_internal): Add GPR 4 to
25 * config/i386/i386.c (ix86_function_versions): Use target string
38 * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
61 * config/ia64/ia64.c (ia64_unspec_may_trap_p): Adjust to above change.
88 * config/rs6000/xcoff.h (TARGET_ENCODE_SECTION_INFO): Define.
90 * config/rs6000/rs6000.c (tls_private_data_section): New.
116 * config/arm/cortex-a7.md: New file.
117 * config/arm/t-arm (MD_INCLUDES): Add cortex-a7.md.
118 * config/arm/arm.md: Include cortex-a7.md.
121 * config/arm/arm.c: (TARGET_SCHED_REORDER): Use arm_sched_reorder.
128 * gcc/config/aarch64/aarch64.md
168 * config/s390/constraints.md (NxxDq, NxxSq): New.
169 * config/s390/predicates.md (contiguous_bitmask_operand): New.
170 * config/s390/s390.c (print_operand) ['e', 'f', 's', 't']: New
172 * config/s390/s390.md (bfstart, bfend): New mode attrs.
177 * config/s390/s390.md (*insv_l_di_reg_extimm): Un-macroize from :P.
179 * config/s390/s390.md (*anddi3_cc): Add risbg alternative.
183 * config/s390/s390.md (bitsize): New mode attr.
188 * config/s390/predicates.md (nonzero_shift_count_operand): New.
189 * config/s390/s390-protos.h (s390_extzv_shift_ok): Declare.
190 * config/s390/s390.c (s390_extzv_shift_ok): New function.
191 * config/s390/s390.md (extzv): New expander.
197 * config/s390/s390.md (IXOR): New code iterator.
203 * config/s390/s390.md (*insv_rnsbg_noshift, *insv_rnsbg_srl): New.
214 * config/arm/arm.c (arm_canonicalize_comparison): Remove
236 * config/rs6000/t-spe (MULTIARCH_DIRNAME): Remove.
237 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Define name for
242 * config/i386/t-kfreebsd (MULTIARCH_DIRNAME): Add comma to
248 * config/i386/i386.h (enum ix86_tune_indices): Add
251 * config/i386/i386.c (initial_ix86_tune_features)
253 * config/i386/i386.md (splitters to avoid cmove memory operands): New.
258 * config/arm/arm.md (f_minmaxs, f_minmaxd): New types.
259 * config/arm/vfp.md (smax<mode>3): New pattern.
290 * config/alpha/alpha.h (CANONICALIZE_COMPARISON): Remove macro
292 * config/alpha/alpha.c (alpha_canonicalize_comparison): New function.
294 * config/arm/arm-protos.h (arm_canonicalize_comparison): Remove
296 * config/arm/arm.c (arm_canonicalize_comparison): Add new parameter.
298 * config/arm/arm.h (CANONICALIZE_COMPARISON): Remove macro definition.
299 * config/s390/s390-protos.h (s390_canonicalize_comparison): Remove
301 * config/s390/s390.c (s390_canonicalize_comparison): Add new parameter.
303 * config/s390/s390.h (CANONICALIZE_COMPARISON): Remove macro definition.
304 * config/sh/sh-protos.h (sh_canonicalize_comparison): Remove prototype.
305 * config/sh/sh.c (sh_canonicalize_comparison): Add new prototype. New
308 * config/sh/sh.h (CANONICALIZE_COMPARISON): Remove macro definition.
309 * config/spu/spu.c (spu_canonicalize_comparison): New function.
311 * config/spu/spu.h (CANONICALIZE_COMPARISON): Remove macro definition.
329 * config/arm/arm.c (thumb_find_work_register): Check argument
340 * config/aarch64/aarch64.md (insv_imm<mode>): Add modes
345 * config/aarch64/aarch64.c (aarch64_simd_attr_length_move):
351 * config/arm/driver-arm.c (arm_cpu_table): Add Cortex-A7.
421 * config/arm/arm.md (zero_extend<mode>di2): Add extra alternatives
427 * config/arm/iterators.md (qhs_extenddi_cstr, qhs_zextenddi_cstr):
429 * config/arm/neon.md: Add splitters for zero- and sign-extend.
433 * config/arm/arm.md (type): Add "simple_alu_shift" to attribute "type".
440 * config/arm/thumb2.md (thumb2_extendqisi_v6): Likewise.
442 * config/arm/arm1020e.md (alu_shift_op): Use simple_alu_shift.
443 * config/arm/arm1026ejs.md (alu_shift_op): Likewise.
444 * config/arm/arm1136jfs.md (11_alu_shift_op): Likewise.
445 * config/arm/arm926ejs.md (9_alu_op): Likewise.
446 * config/arm/cortex-a15.md (cortex_a15_alu_shift): Likewise.
447 * config/arm/cortex-a5.md (cortex_a5_alu_shift): Likewise.
448 * config/arm/cortex-a8.md (cortex_a8_alu_shift,cortex_a8_mov): Likewise.
449 * config/arm/cortex-a9.md (cortex_a9_dp,cortex_a9_dp_shift): Likewise.
450 * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
451 * config/arm/cortex-r4.md (cortex_r4_alu_shift): Likewise.
452 * config/arm/fa526.md (526_alu_shift_op): Likewise.
453 * config/arm/fa606te.md (fa606te_core): Likewise.
454 * config/arm/fa626te.md (626te_alu_shift_op): Likewise.
455 * config/arm/fa726te.md (726te_alu_shift_op): Likewise.
456 * config/arm/fmp626.md (mp626_alu_shift_op): Likewise.
467 * config/aarch64/aarch64.c
487 * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
489 * config/sparc/sync.md (atomic_store): Fix pasto.
539 * config/alpha/alpha.c (alpha_pad_function_end): Consider barriers
550 * config/arm/unspecs.md: Add copyright notice.
617 * config/mips/mips.c (mips_option_override): Set
689 * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
707 * config/arm/thumb2.md (*thumb2_abssi2):
764 * config/s390/predicates.md ("execute_operation"): New predicate.
765 * config/s390/s390.md ("*execute_rl", "*execute"): Use the new
770 * config/i386/i386.c: Enable push/pop in pro/epilogue for modern CPUs.
774 * config/mips/gnu-user.h (NO_SHARED_SPECS): Add space before option.
782 * config/mips/mips.h (ALL_COP_REG_FIRST): New.
785 * config/mips/mips.c (mips_option_override): Set mips_dbx_regno
808 * config/spu/spu.md: Replace "operands" with "operands != NULL" in
838 * config/arm/neon.ml (opcode): Add Vrintn, Vrinta, Vrintp, Vrintm,
842 * config/arm/neon-docgen.ml (intrinsic_groups): Define Vrintn,
844 * config/arm/neon-testgen.ml (effective_target): Define check for
846 * config/arm/neon-gen.ml (print_feature_test_start): Handle
851 * config/arm/arm_neon.h: Regenerate.
943 * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
948 * config/rs6000/sysv4.h (TARGET_ASAN_SHADOW_OFFSET): Define.
949 * config/rs6000/rs6000.c (rs6000_asan_shadow_offset): New function.
950 * config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Disable if using ASAN.
960 * config/rs6000/rs6000.c (rs6000_option_override_internal): Set
973 * config/darwin.h (LINK_COMMAND_SPEC_A): Remove static libasan support.
998 * config/arm/arm.c (neon_itype): Define NEON_RINT enum element.
1003 * config/arm/unspecs.md: New file.
1004 * config/arm/arm.md ("unspec"): Move to unspecs.md.
1005 * config/arm/iterators.md (NEON_VRINT): New int iterator.
1007 * config/arm/neon.md
1010 * config/arm/iwmmxt2.md ("unspec"): Move to unspecs.md.
1014 * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
1033 * config/epiphany/epiphany.h, config/vax/vax.h, config/cris/cris.h,
1034 config/h8300/h8300.h, config/alpha/alpha.h, config/sparc/sparc.h,
1035 config/rs6000/rs6000.h, config/pdp11/pdp11.h, config/pa/pa.h,
1036 config/v850/v850.h, config/mn10300/mn10300.h, config/m32r/m32r.h,
1037 config/i386/i386.h, config/mcore/mcore.h, config/sh/sh.h,
1038 config/arm/arm.h (REGNO_OK_FOR_BASE_P): Likewise.
1043 * config/t-darwin (darwin-c.o): Depend on $(CPP_INTERNAL_H).
1044 * config/darwin-c.c (darwin_cpp_builtins): Only set __OBJC2__ when
1051 * config/microblaze/microblaze.md: (anddi3, iordi3, xordi3): Delete
1056 * config/aarch64/aarch64-simd-builtins.def: Add new builtins.
1057 * config/aarch64/aarch64-simd.md (simd_type): Add uzp.
1059 * config/aarch64/aarch64.c (aarch64_evpc_trn): New.
1063 * config/aarch64/iterators.md (unspec): Add neccessary unspecs.
1070 * config/aarch64/aarch64-protos.h
1074 * config/aarch64/aarch64-simd.md (vec_perm_const<mode>): New.
1079 * config/aarch64/aarch64.c
1091 * config/aarch64/iterators.md
1097 * config/aarch64/aarch64.c (aarch64_simd_mangle_map_entry): New
1105 * config/aarch64/aarch64.c (aarch64_mangle_type): New function.
1110 * config/aarch64/aarch64-builtins.c
1112 * config/aarch64/aarch64-protos.h
1114 * config/aarch64/aarch64-simd-builtins.def (frintz, frintp): Add.
1117 * config/aarch64/aarch64-simd.md
1122 * config/aarch64/aarch64.c (TARGET_VECTORIZE_BUILTINS): Define.
1124 * config/aarch64/aarch64.md
1132 * config/aarch64/iterators.md (fcvt_target): New.
1187 * config/aarch64/aarch64.c (aarch64_build_builtin_va_list): Set
1192 * config/s390/s390.c (s390_select_ccmode): Enable using CC of
1224 * config/aarch64/aarch64.c (aarch64_simd_vector_alignment,
1243 * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
1341 * config/aarch64/aarch64.c (aarch64_build_constant): Update prototype.
1391 * config/mmix/mmix.c (mmix_function_value): Set the mode of the
1402 * config/i386/i386.c: Allow sign extend instructions (cltd etc)
1408 * config/pa/pa.md: Add back the HP-PA comment here, with details.
1420 * config/rs6000/rs6000.c (tls_data_section): Define.
1437 * config/rs6000/rs6000.md (tls_tls_): Restrict to ELF.
1442 * config/rs6000/xcoff.h (ASM_OUTPUT_TLS_COMMON): Define.
1473 * config/arm/arm.md (type): Subdivide "alu" into "alu_reg"
1492 * config/arm/neon.md (neon_mov<mode>/VDX): Likewise.
1494 * config/arm/arm1020e.md (1020alu_op): Likewise.
1495 * config/arm/fmp626.md (mp626_alu_op): Likewise.
1496 * config/arm/fa726te.md (726te_alu_op): Likewise.
1497 * config/arm/fa626te.md (626te_alu_op): Likewise.
1498 * config/arm/fa606te.md (606te_alu_op): Likewise.
1499 * config/arm/fa526.md (526_alu_op): Likewise.
1500 * config/arm/cortex-r4.md (cortex_r4_alu, cortex_r4_mov): Likewise.
1501 * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
1502 * config/arm/cortex-a9.md (cprtex_a9_dp): Likewise.
1503 * config/arm/cortex-a8.md (cortex_a8_alu, cortex_a8_mov): Likewise.
1504 * config/arm/cortex-a5.md (cortex_a5_alu): Likewise.
1505 * config/arm/cortex-a15.md (cortex_a15_alu): Likewise.
1506 * config/arm/arm926ejs.md (9_alu_op): Likewise.
1507 * config/arm/arm1136jfs.md (11_alu_op): Likewise.
1508 * config/arm/arm1026ejs.md (alu_op): Likewise.
1566 * read-rtl.c (apply_iterators): Initialize condition with "" instead
1571 * config/i386/host-mingw32.c (va_granularity): Make none-const.
1576 * config/i386/mingw32.h (SHARED_LIBGCC_SPEC): Synchronize with
1602 * config/arm/neon.md (neon_vtrn<mode>_internal): Split into expand
1624 * config/arm/arm.md (thumb2_pool_range, pool_range): Add comment on
1638 * config/arm/neon.md (*neon_mov<mode>): Likewise.
1640 * config/arm/thumb2.md: (*thumb2_movsi_insn): Likewise.
1645 * config/arm/vfp.md: (*thumb2_movsi_vfp): Likewise.
1654 * config/i386/i386.c (get_scratch_register_on_entry): Handle
1666 * config/epiphany/epiphany.h (FIXED_REGISTERS, CALL_USED_REGISTERS):
1672 * config/epiphany/predicates.md (addsub_operator): New predicate.
1673 * config/epiphany/epiphany-sched.md (sched_use_fpu): New attribute.
1674 * config/epiphany/epiphany.md (isub_i+1): New peephole2.
1675 * config/epiphany/epiphany-protos.h (get_attr_sched_use_fpu): Declare.
1677 * config/epiphany/epiphany.h (EPIPHANY_LIBRARY_EXTRA_SPEC): Define.
1679 * config/epiphany/t-epiphany (SPECS): Set.
1682 * config/epiphany/epiphany.md (isub_i+1): Work around generator bug.
1684 * config/epiphany/epiphany.c (epiphany_adjust_cost): Use
1742 * config/epiphany/predicates.md (move_double_src_operand):
1745 * config/epiphany/epiphany.c (REG_OK_FOR_BASE_P): Don't force a
1748 * config/epiphany/epiphany.opt (mfp-iarith): New option.
1749 * config/epiphany/epiphgany.md (addsi3): Check for TARGET_FP_IARITH.
1754 * config/epiphany/epiphgany.md (attribute type): Add v2fp.
1757 * config/epiphany/epiphany-sched.md (fp_arith_nearest,
1762 * config/epiphany/epiphgany.md (maddsi_combine): Fix output pattern.
1766 * config/epiphany/epiphany.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
1770 * config/epiphany/epiphany.h (HARD_REGNO_RENAME_OK): Define.
1771 * config/epiphany/epiphany-protos.h (epiphany_regno_rename_ok):
1773 * config/epiphany/epiphany.c (epiphany_regno_rename_ok): New function.
1775 * config/epiphany/epiphany.md (mov<mode>, *mov<mode>_insn): Check
1777 * config/epiphany/predicates.md (misaligned_operand): New predicate.
1779 * config/epiphany/epiphany.opt (-may-round-for-trunc): New option.
1780 * config/epiphany/epiphany.md (*fix_truncsfsi2_i): Take it
1929 * config/i386/i386.md
1972 * config/arm/arm.c (thumb1_reorg): New function.
1975 * config/arm/arm.md : Remove peephole2 patterns which rewrite move
2007 * config/aarch64/aarch64-builtins.c (aarch64_builtin_decls): New.
2011 * config/aarch64/aarch64-protos.h (aarch64_builtin_decl): New.
2012 * config/aarch64/aarch64.c (TARGET_BUILTIN_DECL): Define.
2067 * config/arm/arm.h (TARGET_FPU_ARMV8): New macro.
2068 * config/arm/arm.md (UNSPEC_VRINTZ, UNSPEC_VRINTP, UNSPEC_VRINTM)
2071 * config/arm/iterators.md (VRINT): New int iterator.
2076 * config/arm/vfp.md (fma<SDF:mode>4): Use vfp_type iterator
2092 * config/arm/arm.h (TARGET_LDRD): Reject Thumb1 targets.
2096 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Fix unbalanced
2122 * config/i386/sse.md (<sse>_loadu<ssemodesuffix><avxsizesuffix>):
2142 * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fsanitize=address.
2148 * config/i386/t-kfreebsd (MULTILIB_OSDIRNAMES): Filter out x32.
2149 * gcc/config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use
2279 * config/i386/i386.md (*jcc<mode>_0_i387): Macroize insn
2302 * config/i386/i386.md (FPCMP): New mode iterator.
2329 * config/aarch64/aarch64.md (bswaphi2): New pattern.
2342 * config/gnu-user.h (STATIC_LIBASAN_LIBS): New macro.
2346 * config/arm/arm.md (*arm_abssi2): Define predicable attribute.
2348 * config/arm/thumb2.md (*thumb2_abssi2): Likewise.
2360 * config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments.
2362 * config/avr/avr.c (avr_out_fract): Rewrite.
2366 * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
2367 * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
2371 * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
2375 * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
2376 * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
2386 * config/alpha/alpha.md (extvmisaligndi): Rename from extv; update
2434 * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
2444 * config/aarch64/t-aarch64-linux: Define MULTIARCH_DIRNAME for
2449 * config/i386/i386.md
2466 * config/arm/arm-cores.def (cortex-m1, cortex-m0)
2468 * config/arm/arm-protos.h (tune_params): Add
2470 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune)
2476 * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define.
2483 * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
2484 * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
2485 * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
2488 * config/rs6000/t-spe: Define MULTIARCH_DIRNAME.
2489 * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
2499 * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
2534 * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
2545 * config/i386/i386.md (fix_trunc<MODEF:mode><SWI48:mode>_sse): Macroize
2553 * config/i386/i386.md
2555 * config/i386/i386.h (enum ix86_tune_indices)
2558 * config/i386/i386.c (initial_ix86_tune_features): Update.
2568 * config/rs6000/rs6000.md (largetoc_low): Revert.
2583 * config/c6x/c6x.c: Likewise.
2584 * config/i386/i386.c: Likewise.
2676 * config/i386/i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.
2680 * config/v850/v850.c (F): New function. Mark the given insn as
2704 * config/v850/v850.h (ASM_SPEC): Pass 8byte-align and gcc-abi
2724 * config/v850/v850.md: Replace TARGET_V850E2V3 in floating point
2740 * config/v850/v850.opt (mrelax): New option.
2747 * config/v850/t-v850 (MULTILIB_OPTIONS): Update multilib options.
2752 * config/rx/rx.c (rx_function_arg_boundary): When using the RX ABI
2760 * config/rx/rx.c (TARGET_CPU_CPP_BUILTINS): Define __RX_ABI__ or
2768 * config/rx/rx.md (subdi3): Don't allow MEMs as the third operand,
2770 * config/rx/rx.opt (mgcc-abi): New option.
2772 * config/rx/t-rx (MULTILIB_OPTIONS): Show how to add an ABI multilib.
2778 * config/aarch64/aarch64-builtins.c
2789 * config/aarch64/aarch64-protos.h (aarch64_init_builtins): New.
2791 * config/aarch64/aarch64-simd-builtins.def: New file.
2792 * config/aarch64/aarch64.c (aarch64_init_builtins):
2795 * config/aarch64/aarch64.h
2807 * config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge
2812 * config/aarch64/aarch64.md
2816 * config/aarch64/aarch64-protos.h
2826 * config/aarch64/aarch64.c
2853 * config/aarch64/iterators.md
2859 * config/aarch64/sync.md: Delete.
2860 * config/aarch64/atomics.md: New file.
2882 * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
2911 * config/aarch64/aarch64.c
2917 * config/rs6000/rs6000.c (rs6000_stack_info): Always set vrsave_mask
2978 * read-rtl.c (struct subst_attr_to_iter_mapping): New.
3020 * config/mips/mips.md (extv): Split into...
3033 * config/mips/mips.c (mips_block_move_straight): Use set_mem_size
3128 * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
3494 * read-rtl.c: Likewise.
3606 * config/bfin/bfin.c: Likewise.
3607 * config/c6x/c6x.c: Likewise.
3608 * config/darwin.c: Likewise.
3609 * config/i386/i386.c: Likewise.
3610 * config/ia64/ia64.c: Likewise.
3611 * config/mep/mep.c: Likewise.
3612 * config/mips/mips.c: Likewise.
3613 * config/pa/pa.c: Likewise.
3614 * config/rs6000/rs6000-c.c: Likewise.
3615 * config/rs6000/rs6000.c: Likewise.
3616 * config/rx/rx.c: Likewise.
3617 * config/spu/spu-c.c: Likewise.
3618 * config/vms/vms.c: Likewise.
3619 * config/vxworks.c: Likewise.
3620 * config/epiphany/resolve-sw-modes.c: Likewise.
3674 * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
3675 * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
3681 * config/i386/i386.md (mov<mode>cc): Use comparison_operator
3684 * config/i386/i386.c (ix86_expand_fp_movcc): Reject TImode
3695 * config/i386/i386-protos.h (ix86_emit_mode_set): Add third argument.
3696 * config/i386/i386.h (EMIT_MODE_SET): Update.
3697 * config/i386/i386.c (ix86_avx_emit_vzeroupper): New function.
3705 * config.gcc (i[34567]86-*-linux* | ...): Add bdver3.
3707 * config/i386/i386.h (TARGET_BDVER3): New definition.
3708 * config/i386/i386.md (define_attr "cpu"): Add bdver3.
3709 * config/i386/sse.md (sseshuf, sseshuf1): New type attributes.
3710 * config/i386/athlon.md: Handle sseshuf attribute.
3711 * config/i386/atom.md: Likewise.
3712 * config/i386/ppro.md: Likewise.
3713 * config/i386/bdver1.md: Likewise.
3714 * config/i386/i386.opt (flag_dispatch_scheduler): Add bdver3.
3715 * config/i386/i386-c.c (ix86_target_macros_internal): Add
3717 * config/i386/driver-i386.c (host_detect_local_cpu): Let
3719 * config/i386/i386.c (struct processor_costs bdver3_cost): New.
3732 * config/i386/bdver3.md: New file describing bdver3 pipelines.
3740 * config.in: Add HAVE_AS_SPARC4 section.
3741 * config/sparc/sparc.opt (mcbcond): New option.
3743 * config/sparc/constraints.md: New constraint 'A' for 5-bit signed
3746 * config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_CBCOND.
3753 * config/sparc/sparc-protos.h (output_ubranch): Update.
3756 * config/sparc/sparc.md (type attribute): New types 'cbcond'
3767 * config/sparc/niagara4.md: Match 'cbcond' in 'n4_cti'.
3768 * config/sparc/sparc.h (AS_NIAGARA4_FLAG): New macro, use it
3771 * config/sparc/sol2.h (AS_SPARC64_FLAG): Adjust.
3816 * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
3817 * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
3818 * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
3846 * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
3851 * config/i386/t-linux64: Add multiarch names in
3853 * config/i386/t-gnu: New file.
3854 * config/i386/t-kfreebsd: Likewise.
3855 * config/i386/t-linux: Likewise.
3867 * config/i386/i386.c (gate_insert_vzeroupper): New function.
3879 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Warn if
3887 * config/rs6000/rs6000.md (largetoc_high_aix<mode>): New.
3892 * config/rs6000/rs6000.c (output_toc): Use [TE] for large TOC
3894 * config/rs6000/aix64.opt (mcmodel): New.
3898 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Guard
3911 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Move
3924 * config/i386/i386.c (legitimize_pic_address): Properly handle
3940 * config/arm/arm.c (arm_emit_coreregs_64bit_shift): Fix comment.
3941 * config/arm/arm.md (opt, opt_enabled): New attributes.
3945 * config/arm/iterators.md (rshifts): New code iterator.
3947 * config/arm/neon.md (UNSPEC_LOAD_COUNT): New unspec type.
3980 * config/cris/cris.c (cris_asm_output_mi_thunk): Call
3990 * config/pa/pa.md (attr type): Add sibcall and sh_func_adrs insn types.
3998 * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
4003 * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
4013 * config/darwin.c (darwin_override_options): Likewise.
4030 * config/aarch64/aarch64.md (cmov<mode>_insn): Emit CSINC when
4032 * config/aarch64/constraints.md: New constraint.
4033 * config/aarch64/predicates.md: Rename predicate
4038 * config/aarch64/aarch64.md (*compare_neg<mode>): New pattern.
4202 * config/i386/i386.c (ix86_asan_shadow_offset): New function.
4242 * config/sh/sh.md (sincossf3): Fix swapped sin and cos operands.
4246 * config/i386/i386.md (*movti_internal_rex64): Remove "!" from
4251 * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
4252 * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
4286 * config/i386/i386.c (check_avx256_stores): Remove.
4351 * config/i386/i386.md (*movti_internal_rex64): Add "!" to riF->o
4365 * config/i386/i386.c (ix86_lra_p): Remove.
4386 * config/sh/sh.c (sh_can_use_simple_return_p): Enable with
4427 * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
4464 * config/rs6000/rs6000.c (legitimate_indirect_address_p): Remove
4489 * config/sparc/constraints.md ("U"): Document, in detail,
4516 * config.in (HAVE_AS_POWER8): New.
4517 * config.gcc: Add cpu_type power8.
4521 * config/rs6000/rs6000.h: (ASM_CPU_POWER8_SPEC): Define.
4524 * config/rs6000/rs6000-cpus.def (processor_target_table): Alias
4526 * config/rs6000/rs6000-tables.opt: Regenerate.
4527 * config/rs6000/driver-rs6000.c (ASM_CPU_SPEC): For -mcpu=power8,
4529 * config/rs6000/aix53.h: Likewise.
4530 * config/rs6000/aix61.h: Likewise.
4535 * config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
4555 * config/aarch64/aarch64.c (aarch64_expand_prologue): Add the missing
4659 * config/i386/i386.c (enum upper_128bits_state): Remove.
4662 * config/i386/predicates.md (vzeroupper_operation): Use match_test.
4666 * config/aarch64/aarch64.c (aarch64_expand_prologue): For the
4698 * config/sparc/constraints.md ("U"): Delete.
4699 * config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
4700 * config/sparc/sync.md: Likewise.
4706 * config/i386/i386.c (ix86_avx_u128_mode_after): Don't
4869 * config/i386/i386.c (make_dispatcher_decl): Guard with
4879 * config/i386/i386.c (ix86_init_machine_status): Do not
4884 * config/i386/sse.md
4886 as read and written by the instruction.
4921 (tree_unroll_loops_completely): Deal also with outer loops of hot loops.
4932 * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
4938 * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
4939 * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
4943 * config/i386/sync.md (atomic_load<mode>): Ditto.
4955 * config/sh/sh.c (and_xor_ior_costs, addsubcosts): Double the costs for
4957 * config/sh/sh.md (rotcl, *rotcl): New insns and splits.
4963 * config/i386/i386-protos.h (emit_i387_cw_initialization): Delete.
4969 * config/i386/i386.c (typedef struct block_info_def): Delete.
4998 * config/i386/i386.h (VALID_AVX256_REG_OR_OI_MODE): New.
5008 * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): Delete.
5022 * config/i386/predicates.md (vzeroupper_operation): New.
5024 * config/i386/sse.md (avx_vzeroupper): Change.
5035 * config/i386/i386.c (bdesc_args): Rename CODE_FOR_avx2_umulhrswv16hi3
5037 * config/i386/predicates.md (const1_operand): Extend for vectors.
5038 * config/i386/sse.md (ssse3_avx2): Extend.
5054 * config/epiphany/epiphany.c (epiphany_address_cost):
5091 * config/i386/i386.c (add_condition_to_bb): New function.
5120 * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
5144 * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
5257 * config/sh/sh.h (TARGET_CACHE32, TARGET_HARVARD): Delete macro.
5263 * config/sh/sh.c (sh_trampoline_init): Likewise.
5309 * config/i386/i386.c (ix86_option_override_internal): Enabe
5323 * config/sh/sh.c (output_movedouble, output_far_jump,
5333 * config/sh/sh.md (*cbranch_t): Allow splitting after reload.
5336 * config/sh/sh.c (sh_find_set_of_reg): Don't stop at labels.
5403 * config/i386/i386.md (bswapdi2): Limit to TARGET_64BIT.
5524 * config/sh/sh.md (doloop_end): Use emit_jump_insn.
5595 * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
5634 * config/rs6000/rs6000.md (insvsi, insvdi, extvsi, extvdi): Rename
5679 * config/sparc/t-rtems: New (Custom multilibs).
5680 * config/sparc/t-rtems-64: New (Custom multilibs).
5681 * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
5686 * config/rs6000/rs6000.c (legitimize_reload_address): Remove code
5688 * config/rs6000/paired.md (movv2sf_paired): Use 'Y' instead of 'o'.
5689 * config/rs6000/vsx.md (vsx_mov, vsx_movti): Likewise.
5690 * config/rs6000/altivec.md (altivec_mov, altivec_movti): Likewise.
5691 * config/rs6000/dfp.md (movtd_internal): Use 'm' instead of 'o'.
5695 * config/rs6000/linux64.h (TARGET_OS_CPP_BUILTINS): Define _CALL_LINUX.
5727 * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Change order
5730 * config/mips/t-mti-linux (MULTILIB_OPTIONS): Change order.
5784 * config/aarch64/aarch64-simd.md
5790 * config/aarch64/iterators.md (UNSPEC_BSL): Add to define_constants.
5800 * config/sh/iterators.md (SIDI): New mode iterator.
5801 * config/sh/sh.md (negdi2): Use parallel around operation and T_REG
5817 * config/sh/sh.md (tstqi_t_zero): Rename to *tstqi_t_zero.
5819 * config/sh/iterators.md (lowpart_be, lowpart_le): New mode attributes.
5927 * config/i386/i386.c (add_parameter_dependencies): Stop
5934 * config/aarch64/aarch64-protos.h (aarch64_load_tp): New proto.
5935 * config/aarch64/aarch64.c (aarch64_load_tp): Export.
5937 * config/aarch64/aarch64.h (aarch64_builtins): Delete
5939 * config/aarch64/aarch64.md (get_thread_pointerdi): New pattern.
5953 * config/i386/i386.c (ix86_decompose_address): Use simplify_gen_subreg
5978 * config/i386/i386.c (ix86_decompose_address): Use simplify_gen_subreg
5980 * config/i386/i386.md (ashift to lea splitter): Split to SImode mult.
6059 * config/avr/avr.c (avr_out_lpm): Remove unused regno_dest.
6064 * config/sh/sh.c (sh1_builtin_p): Comment out unused function.
6068 * config/i386/i386.md (*lea<mode>): Remove unneeded temporary.
6072 * config/sparc/constraints.md: Update unused letter list, move
6079 * config/rl78/rl78.c (rl78_as_legitimate_address): Do not allow
6084 * config/rs6000/sync.md (ATOMIC): Correct DI condition.
6103 * common/config/m68k/m68k-common.c (m68k_handle_option): Set
6133 * config/i386/i386.c (insn_is_function_arg) : Add check on CALL
6148 * common/config/i386/i386-common.c
6153 * config.gcc (i[34567]86-*-*): Add fxsrintrin.h,
6156 * config/i386/fxsrintrin.h: New header.
6157 * config/i386/xsaveintrin.h: Likewise.
6158 * config/i386/xsaveoptintrin.h: Likewise.
6159 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
6161 * config/i386/i386-builtin-types.def
6163 * config/i386/i386-c.c: Define __FXSR__, __XSAVE__
6165 * config/i386/i386.c (ix86_target_string): Define -mfxsr,
6179 * config/i386/i386.h (TARGET_FXSR): New.
6182 * config/i386/i386.md (ANY_XSAVE): New int iterator.
6194 * config/i386/i386.opt (mfxsr): New.
6197 * config/i386/x86intrin.h: Include
6202 * config/avr/t-rtems: Revert previous commit.
6258 * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
6260 * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
6264 * config/sparc/constraints.md ("U"): Delete.
6265 * config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
6266 * config/sparc/sync.md: Likewise.
6313 * config.gcc (microblaze*-*-rtems*): New target.
6314 * config/microblaze/rtems.h: New.
6315 * config/microblaze/t-rtems: New.
6362 * config/rs6000/rs6000.c (rs6000_density_test): Use dump_enabled_p
6433 * config/sparc/constraints.md ("T", "W"): Change
6435 * config/sparc/sparc.c (memory_ok_for_ldd): Remove all non-MEM
6534 * config.gcc: Add AArch64.
6567 * common/config/aarch64/aarch64-common.c: New file.
6568 * config/aarch64/aarch64-arches.def: New file.
6569 * config/aarch64/aarch64-builtins.c: New file.
6570 * config/aarch64/aarch64-cores.def: New file.
6571 * config/aarch64/aarch64-elf-raw.h: New file.
6572 * config/aarch64/aarch64-elf.h: New file.
6573 * config/aarch64/aarch64-generic.md: New file.
6574 * config/aarch64/aarch64-linux.h: New file.
6575 * config/aarch64/aarch64-modes.def: New file.
6576 * config/aarch64/aarch64-option-extensions.def: New file.
6577 * config/aarch64/aarch64-opts.h: New file.
6578 * config/aarch64/aarch64-protos.h: New file.
6579 * config/aarch64/aarch64-simd.md: New file.
6580 * config/aarch64/aarch64-tune.md: New file.
6581 * config/aarch64/aarch64.c: New file.
6582 * config/aarch64/aarch64.h: New file.
6583 * config/aarch64/aarch64.md: New file.
6584 * config/aarch64/aarch64.opt: New file.
6585 * config/aarch64/arm_neon.h: New file.
6586 * config/aarch64/constraints.md: New file.
6587 * config/aarch64/gentune.sh: New file.
6588 * config/aarch64/iterators.md: New file.
6589 * config/aarch64/large.md: New file.
6590 * config/aarch64/predicates.md: New file.
6591 * config/aarch64/small.md: New file.
6592 * config/aarch64/sync.md: New file.
6593 * config/aarch64/t-aarch64-linux: New file.
6594 * config/aarch64/t-aarch64: New file.
6635 * config/arm/arm.c (offset_ok_for_ldrd_strd): Return false for Thumb1.
6757 * config/arm/arm.c (load_multiple_sequence): Pass new argument to
6760 * config/i386/i386.h (enum ix86_tune_indices): Add
6763 * config/i386/i386.c (initial_ix86_tune_features): Set up
6770 * config/m68k/m68k.c (emit_move_sequence): Pass new argument to
6772 * config/m32r/m32r.c (gen_split_move_double): Ditto.
6773 * config/pa/pa.c (pa_emit_move_sequence): Ditto.
6774 * config/sh/sh.md: Ditto.
6775 * config/v850/v850.c (v850_reorg): Ditto.
6776 * config/xtensa/xtensa.c (fixup_subreg_mem): Ditto.
6794 * config/iq2000/iq2000.c (iq2000_function_arg_advance): Suppress
6799 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
6805 * config/glibc-c.c, config/t-glibc: New.
6813 * config/mips/linux-common.h (STACK_CHECK_STATIC_BUILTIN): Define.
6815 * config/mips/mips.h (MIPS_PROLOGUE_TEMP2_REGNUM): Likewise.
6817 * config/mips/mips-protos.h (mips_output_probe_stack_range): Declare.
6818 * config/mips/mips.c: Include common/common-target.h.
6823 * config/mips/mips.md (UNSPEC_PROBE_STACK_RANGE): New constant.
6853 the outer loop; verify that SSA form is closed.
6859 * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
6900 * config/i386/i386.c (memory_address_length): Assert that non-null
6913 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
6925 * config/arm/arm.c (thumb2_emit_ldrd_pop): New function.
6931 * config/arm/arm.c (thumb2_emit_strd_push): New function.
6937 * config/arm/arm-protos.h (offset_ok_for_ldrd_strd): New declaration.
6939 * config/arm/arm.c (offset_ok_for_ldrd_strd): New function.
6941 * config/arm/arm.md (thumb2_ldrd, thumb2_ldrd_base): New patterns.
6945 * config/arm/constraints.md (Do): New constraint.
6949 * config/mmix/mmix.md ("nonlocal_goto_receiver"): Refer to the
6954 * config/mmix/mmix.c (mmix_output_register_setting): Emit NEGU for
6956 * config/mmix/predicates.md ("frame_pointer_operand"): New.
6957 * config/mmix/constraints.md ("Yf"): New.
6970 * config/i386/i386-protos.h (memory_address_length): Add new bool
6972 * config/i386/i386.c (memory_address_length): If not LEA insn, then
6977 * config/i386/predicates.md (SImode_address_operand): New.
6978 * config/i386/i386.md (lea<mode>): Use SImode_address_operand
6998 * config/xtensa/xtensa.c (xtensa_expand_builtin): Remove unused 'arg'
7053 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Don't assume
7058 * config/rs6000/rs6000.c (OPTION_MASK_STRICT_ALIGN): Don't do
7091 * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
7128 * config.gcc
7140 * config/rs6000/predicates.md (splat_input_operand): Don't call
7146 * config/i386/i386.md (rdpmc): Remove expander.
7156 * config/i386/i386.c (struct builtin_description bdesc_special_args)
7164 * config/sh/sh.c: Fix comment to silence warning.
7170 * config/arm/cortex-a15-neon.md: New file.
7171 * config/arm/cortex-a15.md (cortex_a15_call): Adjust reservation.
7180 * config/rs6000/altivec.md (altivec_lvsl, altivec_lvsr): Add mode.
7185 * config/rs6000/rs6000.md (probe_stack): Rename to...
7192 * config/rs6000/sync.md (loadsync): Rename to...
7210 * config/arm/arm.c (neon_builtin_data): Add vfma and vfms builtins.
7211 * config/arm/neon-docgen.ml (intrinsic_groups): Add
7213 * config/neon-gen.ml (print_feature_test_start): New function.
7216 * config/arm/neon-testgen.ml (emit_prologue): Allow different
7220 * config/arm/neon.md (fma<VCVTF:mode>4_intrinsic): New pattern.
7224 * config/neon.ml (opcode): Add Vfma and Vfms.
7227 * config/arm/arm_neon.h: Regenerate.
7246 * config.gcc: Add support for ARMv8 for arm*-*-* targets.
7247 * config/arm/arm-arches.def: Add armv8-a
7248 * config/arm/arm-fpus.def: Add fp-armv8, neon-fp-armv8,
7250 * config/arm/arm-tables.opt: Regenerate.
7251 * config/arm/arm.c (FL_FOR_ARCH8A): Likewise.
7255 * config/arm/arm.h (TARGET_CRYPTO): New macro.
7259 * config/arm/bpabi.h: ARMv8 supports BE8.
7279 * config/rs6000/rs6000.opt (rs6000_isa_flags): New flag word to
7311 * config/rs6000/aix64.opt (-maix64): Likewise.
7313 * config/rs6000/sysv4.opt (-mstrict-align): Likewise.
7322 * config/rs6000/darwin.opt (-m64): Likewise.
7325 * config/rs6000/rs6000-cpus.def (ISA_2_1_MASKS): Move the various
7339 * config/rs6000/rs6000.c (ISA_2_1_MASKS): Likewise.
7349 * config/rs6000/rs6000.c (darwin_rs6000_override_options): Change
7365 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Likewise.
7367 * common/config/rs6000/rs6000-driver.c (rs6000_handle_option):
7370 * config/rs6000/rs6000.h (MASK_ALTIVEC): In moving to using
7409 * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS):
7412 * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
7413 * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
7414 * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
7415 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
7416 * config/rs6000/freebsd64.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
7418 * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
7419 * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
7425 * config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
7426 * config/rs6000/option-defaults.h (OPTION_MASK_64BIT): Likewise.
7429 * config/rs6000/sysv4.h (TARGET_TOC): Likewise.
7434 * config/rs6000/t-rs6000 (rs6000.o): Add rs6000-cpus.def as a
7473 * config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): Use
7475 * config/i386/i386.h (TARGET_64BIT): Likewise.
7554 * config/i386/darwin.h (TARGET_64BIT): Likewise.
7561 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): Rename this...
7566 * config/arm/arm.c (arm_expand_prologue): Likewise.
7573 * config/avr/avr-arch.h (avr_extra_arch_macro): Remove prototype.
7574 * config/avr/avr.c (avr_extra_arch_macro): Remove variable.
7576 * config/avr/avr-c.c (avr_extra_arch_macro): Replace with
7586 Do not read TREE_CHAIN of PARM_DECLs.
7587 (lto_input_ts_decl_non_common_tree_pointes): Instead read
7592 * config/iq2000/iq2000.h (call_used_regs): Remove definition.
7633 * config/sh/sh.c (sh_adjust_cost): Likewise.
7646 * config/arm/thumb2.md (doloop_end): Accept extra operand.
7647 * config/bfin/bfin.md (doloop_end): Likewise.
7648 * config/c6x/c6x.md (doloop_end): Likewise.
7649 * config/ia64/ia64.md (doloop_end): Likewise.
7650 * config/mep/mep.md (doloop_begin, doloop_end): Likewise.
7651 * config/rs6000/rs6000.md (doloop_end): Likewise.
7652 * config/s390/s390.md (doloop_end): Likewise.
7653 * config/sh/sh.md (doloop_end): Likewise.
7654 * config/spu/spu.md (doloop_end): Likewise.
7655 * config/tilegx/tilegx.md (doloop_end): Likewise.
7656 * config/tilepro/tilepro.md (doloop_end): Likewise.
7772 * config/sh/sh-protos.h (set_of_reg): New struct.
7775 * config/sh/sh.c (sh_find_set_of_reg, sh_is_logical_t_store_expr,
7777 * config/sh/sh.md (*logical_op_t): New insn_and_split.
7789 * config/sh/sh.c (sh_find_base_reg_disp): Stop searching insns when
7791 * config/sh/iterators.md (QIHISIDI): New mode iterator.
7792 * config/sh/predicates.md (gbr_address_mem): New predicate.
7793 * config/sh/sh.md (*movdi_gbr_load, *movdi_gbr_store): New
7799 * config/sh/sh.c: Update function attribute comments.
7807 * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
7812 * config/i386/sse.md (UNSPEC_MOVU): Remove.
7824 * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
7914 * config/mmix/mmix.c (mmix_opposite_regno): Handle the
7954 * config/alpha/alpha.md: Remove empty predicates and/or constraints.
7955 * config/alpha/sync.md: Ditto.
7959 * config/alpha/alpha.md (I24MODE): New mode iterator.
8012 * config/alpha/alpha.md (FMODE): New mode iterator.
8047 * config/sh/sh.md: Correct define_delay for return insns.
8053 * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_int2sf): Fix swapped
8055 * config/sh/predicates.md (fpul_operand): Add comment.
8057 * config/sh/sh.md (fsca): Move below sincossf3 expander. Convert to
8122 * config/arm/arm.md (get_thread_pointersi): Moved to place with
8142 * config/alpha/alpha.md (vecmodesuffix): New mode attribute.
8167 * config/sh/sh.c (bdesc): Remove thread pointer built-ins.
8168 * config/sh/sh.md (get_thread_pointer, set_thread_pointer): Append mode
8174 * config/sh/sh.md (negsi_cond, negdi_cond, stack_protect_test): Remove
8187 * config/sh/predicates.md (cbranch_treg_value): New predicate.
8188 * config/sh/sh-protos.h (sh_eval_treg_value): Forward declare...
8189 * config/sh/sh.c (sh_eval_treg_value): ...this new function.
8195 * config/alpha/alpha.md (IMODE): New mode iterator.
8240 * config/rs6000/predicates.md (zero_fp_constant): Fix comment.
8241 * config/rs6000/rs6000.md (return_pred): Fix null return.
8242 * config/rs6000/rs6000.c (rs6000_emit_set_const): Fix indentation.
8248 * config/alpha/alpha.md (DWI): New mode attribute.
8291 * config/alpha/alpha.md (get_thread_pointerdi): Rename from load_tp.
8293 * config/alpha/alpha.c (alpha_legitimize_address_1): Change
8306 * config/arm/arm.md (get_thread_pointersi): New pattern.
8307 * config/arm/arm-protos.h (arm_load_tp): Add extern declaration.
8308 * config/arm/arm.c (arm_load_tp): Remove static.
8313 * config/mips/mips.md (get_thread_pointer<mode>): New pattern.
8314 * config/mips/mips-protos.h (mips_expand_thread_pointer):
8316 * config/mips/mips.c (mips_expand_thread_pointer):
8319 * config/s390/s390.c (s390_builtin,code_for_builtin_64,
8321 * config/s390/s390.md (get_tp_64,get_tp_31,set_tp_64,set_tp_31):
8325 * config/xtensa/xtensa.md (get_thread_pointersi):
8328 * config/xtensa/xtensa.c (xtensa_legitimize_tls_address):
8349 * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
8351 * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
8371 * config/rs6000/rs6000.h (PRINT_OPERAND_PUNCT_VALID_P): Delete '.'.
8418 * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Fix signed
8423 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Change
8427 * config/rs6000/rs6000.opt (rs6000_builtin_mask): Make mask type
8430 * config/rs6000/rs6000.c (struct builtin_description): Make
8446 * config/rs6000/rs6000-protos.h (rs6000_builtin_mask_calculate):
8453 * config/rs6000/rs6000.c (DEBUG_FMT_ID): Move "-32s" to a separate
8479 * config/i386/bdver1.md (bdver1-mult): Remove.
8498 * config/i386/bdver1.md (bdver1_int): Automaton has been
8510 * config.gcc: Enable zEC12 for with-arch and with-tune
8512 * common/config/s390/s390-common.c (processor_flags_table): Add
8514 * config/s390/2827.md: New file.
8515 * config/s390/s390-opts.h (enum processor_type): Add
8517 * config/s390/s390.h (enum processor_flags): Add PF_ZEC12.
8519 * config/s390/s390.c (zEC12_cost): New definition.
8534 * config/s390/s390.opt: Add zEC12 processor type value.
8535 * config/s390/s390.md: Enable mnemonic attribute.
8544 * config/sparc/sparc.md (type attribute): Add new types 'visl'
8559 * config/sparc/ultra1_2.md: Adjust for new VIS attribute types.
8560 * config/sparc/ultra3.md: Likewise.
8561 * config/sparc/niagara.md: Likewise.
8562 * config/sparc/niagara2.md: Likewise.
8563 * config/sparc/niagara4.md: Add cpu units "n4_slot2" and
8578 * config/sh/sh.md (extv, extzv): Check that operands[3] is zero,
8670 * config/mcore/mcore.md: (anddi3, iordi3, xordi3): Delete patterns.
8673 * config/mcore/mcore.c (mcore_output_movedouble): Fix typo.
8683 * config/i386/atom.md (atom_sse_4): Merge atom_sse_attr attibutes.
8689 * config/i386/i386.md (type attribute): Add sseadd1.
8692 * config/i386/athlon.md: Likewise.
8693 * config/i386/core2.md: Likewise.
8694 * config/i386/atom.md: Likewise.
8695 * config/i386/ppro.md: Likewise.
8696 * config/i386/bdver1.md: Likewise.
8697 * config/i386/sse.md (sse3_h<plusminus_insn>v2df3): Split into...
8790 * config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
8827 * config/avr/avr.opt (-mshort-calls): Remove option.
8828 * config/avr/avr.h (AVR_HAVE_JMP_CALL): Don't depend on
8834 * config/sh/sh.md (one_cmplsi2): Make insn_and_split. Add manual
8873 * config/avr/avr.md (*add<mode>3, add<mode>3, addpsi3): Make
8882 * config/sh/sh.md (*mov<mode>_gbr_load, *mov<mode>_gbr_store): New
8884 * config/sh/predicates.md (general_movsrc_operand,
8886 * config/sh/sh-protos.h (sh_find_equiv_gbr_addr): New declaration.
8887 * config/sh/sh.c (sh_address_cost, sh_legitimate_address_p,
8894 * config/mmix/mmix.c (mmix_output_octa): Don't assume
8908 where both the inner and outer modes are scalar integers.
8909 * config/mips/mips.c (mips_truncated_op_cost): New function.
8911 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
8935 * config/mips/mips-protos.h (mips_split_type): New enum.
8939 * config/mips/mips.c (mips_tuning_info): New variable.
8966 * config/mips/mips.md (move_type): Add imul.
8975 * config/rs6000/rs6000.c (print_operand) ['A']: Delete.
9024 * config/m68k/m68k.md (anddi3, iordi3, xordi3, one_cmpldi2): Remove.
9029 * config/sh/sh.md (define_constants): Add UNSPECV_GBR.
9033 * config/sh/sh.c (prepare_move_operands): Use gen_store_gbr instead of
9042 * config/pa/pa.md: Remove DImode and, not and, ior and xor patterns
9045 * config/pa/pa.md: Adjust unamed HImode add insn pattern.
9049 * config/sh/sh.c (builtin_description): Add is_enabled member.
9074 * config/avr/avr.md: Fix indentations of insn C snippets.
9110 * config/h8300/h8300.c (h8300_rtx_costs): Fix typo in CONST_INT case.
9114 * config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
9124 * config/avr/predicates.md (flash_operand): New predicate.
9125 * config/avr/avr.md (reload_in<mode>): Use it in operand 1 instead
9137 * config/darwin.c (darwin_assemble_visibility): Treat
9140 * config/darwin-c.c (find_subframework_file): Add missing const.
9158 inlined functions outer scopes write the ultimate origin
9171 * config/i386/i386.c (ix86_dep_by_shift_count_body) : Add
9205 * config/sh/sh.c (sh_can_use_simple_return_p): Return false for
9207 * config/sh/sh.md (epilogue): Emit non-inlined return insns for
9213 * config/sh/sh.md (*mov_t_msb_neg): New insn and two accompanying
9219 * config/sh/sh.c (parse_validate_atomic_model_option): Handle name
9221 * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation
9223 * config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.
9225 * config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name
9245 * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
9250 * config/rx/rx.c (struct decl_chain): New local structure.
9257 * config/rx/rx.opt (mwarn-multiple-fast-interrupts): New option.
9262 * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
9329 * config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
9338 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
9367 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
9379 * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
9412 * config/rs6000/rs6000.c (toplevel): Include dumpfile.h.
9416 * config/rs6000/t-rs6000 (rs6000.o): Add dumpfile.h dependency.
9440 the outer subreg is effectively a truncation to the original mode M.
9465 * config/sh/sh.opt (matomic-model): New option.
9469 * config/sh/predicates.md (gbr_displacement): New predicate.
9470 * config/sh/sh-protos.h (sh_atomic_model): New struct.
9476 * config/sh/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Adapt setting to
9478 * config/sh/sh.c (selected_atomic_model_): New global variable.
9483 * config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
9486 config/sh/sync.md: Update documentation comments.
9528 * config/s390/s390.c (s390_option_override): Add missing break.
9626 * config/sparc/sparc.c (gen_stack_pointer_dec): Delete.
9634 * config/m68k/m68k.md: Add names to bitfield insert and extract
9657 * config.gcc: Replace 'host' with 'target' when configuring for
9692 * config/i386/predicates.md (nonimmediate_or_const_vector_operand):
9694 * config/i386/i386.c (ix86_expand_vector_logical_operator): New
9696 * config/i386/i386-protos.h (ix86_expand_vector_logical_operator): New
9698 * config/i386/sse.md (<code><mode>3 VI logic): Use it.
9710 * config/avr/avr.md (adjust_len): Add lpm.
9713 * config/avr/avr-protos.h (avr_out_lpm): New prototype.
9714 * config/avr/avr.c (avr_out_lpm): Make global.
9732 * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
9737 * config/avr/avr.c (avr_mode_dependent_address_p): Return true for
9741 * config/avr/avr.md (reload_in<mode>): New insns.
9744 * config/avr/avr-protos.h (avr_load_lpm): Remove.
9745 * config/avr/avr.c (avr_load_libgcc_p): Don't restrict to __flash
9752 * config/avr/avr.md (unspec): Remove UNSPEC_LPM.
9882 * config/m68k/m68k.md: Ditto.
9883 * config/vax/vax.md: Ditto.
9884 * config/vax/constraints.md (Q): Ditto.
9885 * config/vax/predicates.md (indexed_memory_operand): Ditto.
9886 * config/alpha/alpha.c (alpha_mode_dependent_address_p): Add
9888 * config/avr/avr.c (avr_mode_dependent_address_p): Ditto.
9889 * config/h8300/h8300.c (h8300_mode_dependent_address_p): Ditto.
9890 * config/m32r/m32r.c (m32r_mode_dependent_address_p): Ditto.
9891 * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): Ditto.
9892 * config/rx/rx.c (rx_mode_dependent_address_p): Ditto.
9893 * config/sparc/sparc.c (sparc_mode_dependent_address_p): Ditto.
9894 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
9896 * config/vax/vax.c (vax_mode_dependent_address_p): Ditto.
9897 * config/xtensa/xtensa.c (xtensa_mode_dependent_address_p): Ditto.
9925 * config/rs6000/rs6000.md (ne0si): Remove unnecessary
9943 * config/sh/constraints.md (Jhb): New constraint.
9944 * config/sh/predicates.md (negt_reg_shl31_operand): New predicate.
9945 * config/sh/sh.md (rotrsi3): New expander.
9961 * config/avr/avr-log.c (avr_double_int_pop_digit): Rewrite using
9966 * config/avr/avr.c (avr_set_current_function): Check cfun->machine
9972 * config/avr/t-avr: Use ALL_COMPILERFLAGS instead of ALL_CFLAGS
9994 * config/avr/avr.c (avr_map_decompose): Use double_int::from_uhwi
10109 * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
10110 * config/avr/avr.c (avr_double_int_push_digit): Likewise.
10178 * config/rs6000/predicates.md (altivec_register_operand,
10191 * config/moxie/moxie.opt: Add -mno-crt0 option.
10192 * config/moxie/moxie.h (STARTFILE_SPEC): Handle -mno-crt0 option.
10220 * config/arm/arm.c (arm_mangle_type): Don't warn anymore that
10231 * config/rs6000/rs6000.md (define_split for plus_eqsi):
10313 * config/vxworks.c (vxworks_emutls_var_init): Update for new
10328 * config/s390/s390.c (s390_chunkify_start): Replacing INSN_LOCATOR.
10329 * config/spu/spu.c (emit_nop_for_insn): Likewise.
10333 * config/mep/mep.c (mep_make_bundle): Likewise.
10335 * config/sh/sh.c (gen_block_redirect): Likewise.
10336 * config/c6x/c6x.c (gen_one_bundle): Likewise.
10337 * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Likewise.
10338 * config/picochip/picochip.c (picochip_reorg): Likewise.
10339 * config/arm/arm.c (require_pic_register): Likewise.
10340 * config/mips/mips.c (mips16_gp_pseudo_reg): Likewise.
10341 * config/bfin/bfin.c (gen_one_bundle): Likewise.
10345 * config.gcc (hppa*-*-openbsd*): New target.
10346 * config/pa/pa-openbsd.h: New file.
10347 * config/pa/pa32-openbsd.h: New file.
10348 * config/host-openbsd.c: Update copyright year.
10360 * config.gcc (mips*-mti-elf*): New target.
10361 * config/mips/mti-elf.h: New file.
10362 * config/mips/t-mti-elf: New file.
10486 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
10487 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
10488 * config/i386/i386.c (x86_output_mi_thunk): Likewise.
10489 * config/tilegx/tilegx.c (tilegx_output_mi_thunk): Likewise.
10490 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
10491 * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
10492 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
10493 * config/score/score.c (score_output_mi_thunk): Likewise.
10494 * config/tilepro/tilepro.c (tilepro_asm_output_mi_thunk): Likewise.
10495 * config/mips/mips.c (mips_output_mi_thunk): Likewise.
10559 * config/c6x/c6x.c (in_hwloop): New static variable.
10565 * config/rs6000/rs6000-builtin.def: Add __builtin_ppc_get_timebase
10567 * config/rs6000/rs6000.c (rs6000_expand_zeroop_builtin): New function
10572 * config/rs6000/rs6000.md (rs6000_get_timebase): New pattern.
10588 * config/sh/predicates.md (arith_reg_or_t_reg_operand): New predicate.
10589 * config/sh/sh.md (*rotcr): Use arith_reg_or_t_reg_operand predicate.
10596 * config/sh/sh.md (*addc): Add pattern to handle one bit left shifts.
10600 * config/sh/sh.md (prologue, epilogue): Use braced strings.
10611 * config/rs6000/aix61.h (TARGET_DEFAULT): Add MASK_PPC_GPOPT,
10719 * config/rs6000/rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3): Delete.
10727 * config/avr/avr.md: Tidy up empty "". Fix C code indentation.
10728 * config/avr/avr-fixed.md: Ditto.
10732 * config/rs6000/rs6000.c (print_operand) <'c'>: Remove.
10733 * config/rs6000/spe.md: Remove a leftover comment.
10738 * config/i386/i386.c (ix86_rtx_costs): Limit > UNITS_PER_WORD
10788 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Suppress the
10793 * config/arm/arm.c (arm_rtx_costs_1): Handle vec_extract and vec_set
10795 * config/arm/arm.md ("vec_set<mode>_internal"): Support memory source
10800 * config/arm/predicates.md ("neon_lane_number"): Remove.
10805 * config/arm/arm.c (output_move_neon): Update comment.
10808 * config/arm/neon.md (*neon_mov VD): Call output_move_neon
10819 * config/avr/avr.c (CONST_FIXED_P): Remove define.
10820 * config/avr/avr.md (add<mode>3): Use CONST_FIXED_P.
10825 * config.gcc (tm_file,avr): Add avr/avr-arch.h.
10826 * config/avr/t-avr (gen-avr-mmcu-texi): Use CC_FOR_BUILD to
10828 * config/avr/avr.h (avr_arch, base_arch_s, mcu_type_s): Source out
10830 * config/avr/avr-arch.h: ...this new file.
10831 * config/avr/gen-avr-mmcu-texi.c: Include avr-arch.h, stdio.h,
10834 * config/avr/avr-devices.c: Don't include headers if used in
10861 * config/avr/avr.c (avr_out_plus_symbol): Fix typo if PLUS and PSImode.
10866 * config/arm/vfp.md (*thumb2_movdf_vfp): Require one of the operands
10883 * config/avr/avr-fixed.md (ALL2S, ALL4S, ALL24S, ALL124S,
10890 * config/avr/avr-dimode.md (ALL8U, ALL8S): New mode iterators.
10896 * config/avr/avr.md (cc): Add: plus. Remove: out_plus,
10905 * config/avr/avr-protos.h (avr_out_plus): Change prototype.
10908 * config/avr/avr.c (avr_out_plus_1): Add new default arguments
10923 * config/sh/sh.c (sh_rtx_costs): Add handling of MEM, SIGN_EXTEND,
11006 * config/sh/sh-protos.h (sh_need_epilogue): Delete.
11008 * config/sh/sh.c (sh_can_use_simple_return_p): Define.
11011 * config/sh/sh.md (simple_return, return): Define.
11014 * config/sh/iterators.md (any_return): New iterator.
11018 * config/sh/predicates.md (t_reg_operand): Check REG_P for SUBREG.
11019 * config/sh/sh.c (sequence_insn_p): Check INSNP_P for SEQUENCE.
11024 * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
11030 * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
11066 * config/moxie/moxie.h (LINK_SPEC): Add bi-endian support.
11072 * config/moxie/t-moxie (MULTILIB_DIRNAMES, MULTILIB_OPTIONS): Define.
11073 * config/moxie/moxie.opt: New file.
11085 * config/sparc/predicates.md (input_operand): Do not consider TImode
11088 * config/sparc/sparc.md (movti): New expander.
11092 * config/sparc/sparc.c (sparc_expand_move) <TImode>: New case.
11095 * config/sparc/sparc-protos.h (arith_double_4096_operand): Delete.
11108 * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
11168 * config/i386/i386.c (processor_alias_table): Enable PTA_PRFCHW
11174 * config/arm/arm.md (arm_rev): Factorize thumb1, thumb2 and arm
11185 * configure, config.in: Regenerate.
11209 * config/i386/i386.c (x86_prefetch_sse): Change to unsigned char.
11210 * config/i386/i386.h (x86_prefetch_sse): Ditto.
11215 * config/i386/predicates.md (x86_64_immediate_operand): Allow
11225 * config/i386/i386.md : Comments on fma4 instruction selection
11228 * config/i386/driver-i386.c (host_detect_local_cpu): fma4
11231 * config/i386/i386.c (processor_alias_table): fma4
11268 * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
11282 * config.gcc: Obsolete picochip-*.
11287 * config/mmix/mmix.h (MMIX_REG_OK_STRICT): Delete.
11290 * config/mmix/mmix-protos.h (mmix_intval): Declare.
11293 * config/mmix/constraints.md: New file.
11294 * config/mmix/mmix.md: Include it.
11297 * config/mmix/predicates.md (mmix_reg_or_8bit_operand): Use
11301 * config/mmix/mmix.c: #include tm-constrs.h.
11333 * config/darwin.c (darwin_asm_named_section): Adjust for VEC changes.
11354 * config/arm/neon.md (fma<VCVTF:mode>4): New pattern.
11412 * config/m68k/m68k.c (m68k_sched_dfa_post_advance_cycle): Support
11427 * config/rs6000/rs6000.md: Move a splitter next to its insn.
11432 * config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if
11435 * config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments.
11436 * config/sh/predicates.md (shift_count_operand): Allow
11438 * config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns
11453 * config.gcc: Add mips*-mti-linux* target
11455 * config/mips/gnu-user64.h (LINUX64_DRIVER_SELF_SPECS): New.
11457 * config/mips/mips.h (MIPS_ISA_SYNCI_SPEC): New.
11458 * config/mips/mti-linux.h: New file.
11459 * config/mips/t-mti-linux: New file.
11482 * config/alpha/predicates.md (small_symbolic_operand): Disallow
11488 * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
11498 * config/openbsd-stdint.h (INTMAX_TYPE, UINTMAX_TYPE): Define.
11511 * config/i386/cpuid.h: Define signature_*_e[bcd]x macros for
11514 * config/i386/driver-i386.c (vendor_signatures): Removed.
11557 * config/pa/pa.c (hppa_rtx_costs): Update costs for large
11573 * config/moxie/moxie.c (moxie_expand_prologue): Optimize prologue
11580 * config/v850/v850.h (DBX_DEBUGGING_INFO): Define.
11582 * config/v850/v850.c (compute_register_save_size): Always include
11631 * config/rs6000/aix43.h (RS6000_CALL_GLUE): Delete.
11632 * config/rs6000/aix51.h (RS6000_CALL_GLUE): Delete.
11633 * config/rs6000/aix52.h (RS6000_CALL_GLUE): Delete.
11634 * config/rs6000/aix53.h (RS6000_CALL_GLUE): Delete.
11635 * config/rs6000/aix61.h (RS6000_CALL_GLUE): Delete.
11636 * config/rs6000/freebsd64.h (RS6000_CALL_GLUE): Delete.
11637 * config/rs6000/linux64.h (RS6000_CALL_GLUE): Delete.
11638 * config/rs6000/rs6000.c (print_operand) ['.']: Delete.
11639 * config/rs6000/rs6000.h (RS6000_CALL_GLUE): Delete.
11640 * config/rs6000/rs6000.md (tls_gd_aix<TLSmode:tls_abi_suffix>):
11737 * config/arm/arm.c: Use CONST_INT_P, CONST_DOUBLE_P, REG_P, MEM_P,
11739 * config/arm/arm.h: Use REG_P, MEM_P consistently.
11740 * config/arm/arm.md: Use CONST_INT_P, REG_P, MEM_P, CONST_DOUBLE_P
11742 * config/arm/neon.md: Use REG_P consistently.
11743 * config/arm/predicates.md: Use CONST_INT_P, REG_P, MEM_P consistently.
11744 * config/arm/thumb2.md: Use CONST_INT_P, REG_P consistently.
11745 * config/arm/vec-common.md: Use REG_P consistently.
11760 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Add TLS
11762 * config/rs6000/rs6000.c (rs6000_debug_address_cost): Add new
11790 * config/score/score.c: Remove TARGET_LEGITIMIZE_ADDRESS define and
11816 * config/alpha/alpha.c (TARGET_ADDRESS_COST): Use
11818 * config/arm/arm.c (arm_address_cost): Add machine_mode and address
11820 * config/avr/avr.c (avr_address_cost): Likewise.
11821 * config/bfin/bfin.c (bfin_address_cost): Likewise.
11822 * config/cr16/cr16.c (cr16_address_cost): Likewise.
11823 * config/cris/cris.c (cris_address_cost): Likewise.
11824 * config/epiphany/epiphany.c (epiphany_address_cost): Likewise.
11825 * config/i386/i386.c (ix86_address_cost): Likewise.
11826 * config/ia64/ia64.c (TARGET_ADDRESS_COST): Use
11828 * config/iq2000/iq2000.c (iq2000_address_cost): Add machine_mode and
11830 * config/lm32/lm32.c (TARGET_ADDRESS_COST): Use
11832 * config/m32c/m32c.c (m32c_address_cost): Add machine_mode and address
11834 * config/m32r/m32r.c (TARGET_ADDRESS_COST): Use
11836 * config/mcore/mcore.c (TARGET_ADDRESS_COST): Likewise.
11837 * config/mep/mep.c (mep_address_cost): Add machine_mode and address
11839 * config/microblaze/microblaze.c (microblaze_address_cost): Likewise.
11840 * config/mips/mips.c (mips_address_cost): Likewise.
11841 * config/mmix/mmix.c (TARGET_ADDRESS_COST): Use
11843 * config/mn10300/mn10300.c (mn10300_address_cost): Add machine_mode and
11847 * config/pa/pa.c (hppa_address_cost): Add machine_mode and address
11849 * config/rs6000/rs6000.c (rs6000_debug_address_cost): Likewise.
11852 * config/rx/rx.c (rx_address_cost): Add machine_mode and address
11854 * config/s390/s390.c (s390_address_cost): Likewise.
11855 * config/score/score-protos.h (score_address_cost): Likewise.
11856 * config/score/score.c (score_address_cost): Likewise.
11857 * config/sh/sh.c (sh_address_cost): Likewise.
11858 * config/sparc/sparc.c (TARGET_ADDRESS_COST): Use
11860 * config/spu/spu.c (TARGET_ADDRESS_COST): Likewise.
11861 * config/stormy16/stormy16.c (xstormy16_address_cost): Add machine_mode
11863 * config/v850/v850.c (TARGET_ADDRESS_COST): Use
11865 * config/vax/vax.c (vax_address_cost): Add machine_mode and address
11867 * config/xtensa/xtensa (TARGET_ADDRESS_COST): Use
11883 * config/i386/sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>):
11892 * config/i386/predicates.md (reg_not_xmm0_operand): Remove predicate.
11896 * config/i386/i386.md (rdpmc): Do not force operand 1 into ecx.
11924 * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
11928 * config/avr/avrlibc.h: New file.
11929 * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
12111 * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with
12117 * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
12130 * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
12136 * config/arm/arm.c (arm_expand_builtin): Replace gen_rtx_CONST_INT
12142 * config/arm/arm.c (arm_evpc_neon_vext): New function.
12148 * config/sh/sh.c (prepare_cbranch_operands): Pull out comparison
12151 * config/sh/sh-protos.h: Declare it.
12152 * config/sh/sh.h: Use it in new macro CANONICALIZE_COMPARISON.
12153 * config/sh/sh.md (cbranchsi4): Remove TARGET_CBRANCHDI4 check and
12194 * config/s390/s390.c (s390_loadrelative_operand_p): New function.
12218 * common/config/sh/sh-common.c: Update copyright years.
12225 * config/sh/sh.md (cmpgeusi_t): Remove N alternative.
12231 * config.gcc (x86_64-*-openbsd*): New target.
12232 * config.host (*-*-openbsd*): New target.
12233 * config/openbsd.h (TARGET_C99_FUNCTIONS): Define.
12234 * config/i386/openbsdelf.h: Remove some superfluous defines and
12246 * config/host-openbsd.c: New file.
12247 * config/t-openbsd (USER_H): Add EXTRA_HEADERS.
12248 * config/x-openbsd: New file.
12252 * config/sh/sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated
12258 * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
12260 * config/sparc/sparc.c (sparc_reorg): Likewise.
12265 * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
12277 * config/i386/i386.c (ix86_legitimate_combined_insn): New function.
12298 * config/arm/arm.c (arm_expand_epilogue): Remove unused variable
12323 * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
12335 * config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
12342 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci
12347 * config/sh/sh.opt (menable-tas): Rename to mtas.
12349 * config/sh/sync.md: Update comments.
12353 * config/sh/iterators.md: New file.
12354 * config/sh/sync.md (I124, I12, i124suffix): Delete. Replace usage
12357 * config/sh/sh.md: Include new file iterators.md.
12388 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm
12390 * config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
12398 * config/tilegx/tilegx.c: Fix code style.
12404 * config/tilegx/tilegx.h: Include config/tilegx/tilegx-opts.h.
12406 * config/tilegx/predicates.md (const_last_symbolic_operand):
12411 * config/tilegx/tilegx.md (UNSPEC_MOV_LARGE_PCREL_STEP4): Define,
12430 * config/tilegx/tilegx.opt: Include config/tilegx/tilegx-opts.h.
12435 * config/tilegx/tilegx-opts.h: New file.
12436 * config/tilegx/tilegx-protos.h (tilegx_compute_pcrel_address):
12439 * config/tilegx/tilegx.c (tilegx_option_override): Handle
12464 * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
12466 * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
12492 * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
12493 * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
12497 * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
12502 * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
12505 * config/tilegx/tilegx-generic.md (X1_remote): New
12507 * config/tilegx/tilegx.md (type): Add X1_remove.
12519 * config/mips/mips.c (mips_pic_call_symbol_from_set): Check for
12524 * config/mips/mips.c (vr4130_align_insns): Don't simulate
12529 * config/mips/mips.h (AVOID_CCMODE_COPIES): Update rationale for
12531 * config/mips/mips.c (machine_function): Add next_fcc.
12539 * config/mips/mips.md (move_type): Remove lui_movf.
12545 * config/mips/mips.c (mips_has_long_branch_p): New function,
12551 * config/mips/mips.c (r10k_safe_mem_expr_p): Use get_inner_reference.
12555 * config/mips/mips.c (mips_rtx_costs): Add costs for CINS.
12559 * config/mips/mips.c (mips_rtx_costs): Add missing COSTS_N_INSNS
12590 * config/mips/mips.h (CASE_VECTOR_MODE): For not
12596 * config/i386/i386.h (FP_REG_P): Remove macro.
12602 * config/i386/i386.c (output_387_ffreep): Use STACK_REGNO_P
12605 * config/i386/predicates.md (fp_register_operand): Ditto.
12607 * config/i386/sync.md (atomic_loaddi_fpu): Use STACK_REG_P instead
12630 * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
12722 * config/avr/avr-protos.h (avr_to_int_mode): New prototype.
12724 * config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to...
12745 * config/avr/predicates.md (const0_operand): Allow const_fixed.
12748 * config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ):
12750 * config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define.
12794 * config/mips/mips.md
12800 * config/mips/mips.c (mips16_split_long_branches): Adjust test
12802 * config/mips/mips.h (TARGET_MIPS16_SHORT_JUMP_TABLES): Update
12811 * config/rs6000/rs6000.c (rs6000_density_test): Free loop body.
12841 * config/sh/predicates (p27_rshift_count_operand,
12843 * config/sh/sh.c (sh_ashlsi_clobbers_t_reg_p,
12847 * config/sh/sh.md (ashlsi3_d): Set type to 'dyn_shift' instead
12875 * config/i386/i386.c (flag_opts): Add -mlong-double-64.
12877 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if
12881 * config/i386/i386.opt (mlong-double-80): New option.
12883 * config/i386/i386-c.c (ix86_target_macros): Define
12889 * config/i386/i386.c (ix86_split_to_parts): Replace
12988 * config/m32c/constraints.md: New file.
12989 * config/m32c/t-m32c (MD_FILES): Add constraints.
12990 * config/m32c/m32c-protos.h (m32c_const_ok_for_constraint_p): Delete.
12995 * config/m32c/m32c.h (CONSTRAINT_LEN): Delete.
13001 * config/m32c/m32c.c: Include tm-constrs.h
13010 * config/m32c/predicates.md (memsym_operand): Use
13020 * config/mep/mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.
13023 * config/mep/mep.c (mep_reg_class_from_constraint): Delete.
13025 * config/mep/mep-protos.h (mep_reg_class_from_constraint): Delete.
13030 * config/sh/sh.md (cmpeqdi_t, cmpgtdi_t, cmpgedi_t, cmpgeudi_t,
13054 * config/sh/sh.md (*movhi_index_disp): Add support for SH2A
13125 * config/sh/sh.md (rotcr, *rotcr, shar, shlr): New insns and splits.
13127 * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p): New function.
13128 * config/sh/sh-protos.h (sh_lshrsi_clobbers_t_reg_p): Declare it.
13133 * config/sh/sh.md (*cset_zero): New insns.
13161 * config/sparc/sparc.h (MAX_FIXED_MODE_SIZE): Define.
13184 * configure, config.in: Regenerate.
13219 * config/arm/mmintrin.h: Remove spurious #endif.
13223 * config/avr/avr-log.c (avr_log_vadump): Properly use
13225 * config/avr/avr.h (struct mcu_type_s): Change `arch' from
13227 * config/avr/gen-avr-mmcu-texi.c (main): Use correct initializer.
13279 * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
13283 * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
13292 * config/i386/i386.c (ix86_member_type_forces_blk): New function.
13294 * config/i386/i386.h (MAX_FIXED_MODE_SIZE): New macro.
13313 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Removed.
13314 * config/ia64/ia64.c (ia64_member_type_forces_blk): New function.
13316 * config/rs6000/rs6000.c (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
13318 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Removed.
13319 * config/xtensa/xtensa.c (xtensa_member_type_forces_blk): New function.
13321 * config/xtensa/xtensa.h (MEMBER_TYPE_FORCES_BLK): Removed.
13327 * config.in: Regenerate.
13399 * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
13403 * config/mcore/mcore.md (cbranchsi4): Remove mode from comparison.
13405 * config/iq2000/iq2000.md (cbranchsi4): Remove mode from
13412 * config/iq2000/iq2000.c (gen_conditional_branch): Use VOIDmode
13416 * config/mep/t-mep (mep-pragma.o): Use $(COMPILER) to compile
13421 * config/avr/t-avr (gen-avr-mmcu-texi): Use $(CC) to compile
13479 * config/rs6000/rs6000.c (macho_branch_islands): Adjust for changes
13488 * config/mips/mips-dsp.md (mips_dpau_h_qbl, mips_dpau_h_qbr)
13497 * config/sh/sh.md (addc): Add commutative modifier.
13503 * config/sh/sh.md (*movsi_index_disp, *movhi_index_disp): Handle
13510 * config/sh/sh.md (ashlsi3_d): Do not split if it would result
13522 * config/i386/i386-protos.h (ix86_split_lea_for_addr) : Add
13524 * config/i386/i386.md (ix86_split_lea_for_addr) : Add
13526 * config/i386/i386.c (ix86_split_lea_for_addr): Load base or index
13535 * config.gcc (tilegx-*-linux*): Add feedback.h.
13537 * config/tilegx/feedback.h: New file.
13538 * config/tilepro/feedback.h: New file.
13552 * config/rs6000/darwin.h (TARGET_IEEE_QUAD): Fix comment.
13600 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Cast _ascii_bytes
13603 * config/bfin/bfin.c (hwloop_optimize): Fix use of VEC_last macro.
13605 * config/avr/t-avr: Replace occurrences of $(CC) with $(COMPILER).
13606 * config/avr/avr.c (avr_legitimize_reload_address): Add casts
13612 * config/rs6000/aix43.h (ASM_CPU_SPEC): Use %(asm_default)
13614 * config/rs6000/aix51.h (ASM_CPU_SPEC): Ditto.
13618 * config/rs6000/aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
13620 * config/rs6000/aix51.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
13621 * config/rs6000/aix52.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
13622 * config/rs6000/aix53.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
13623 * config/rs6000/aix61.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
13624 * config/rs6000/darwin.h (TARGET_DEFAULT): Ditto.
13625 * config/rs6000/darwin.md (whole file): Adjust to single
13627 * config/rs6000/darwin64.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
13628 * config/rs6000/default64.h (TARGET_DEFAULT): Ditto.
13629 * config/rs6000/dfp.md: (whole file): Adjust to single
13631 * config/rs6000/eabi.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
13632 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto.
13633 * config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto.
13634 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto.
13635 * config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto.
13636 * config/rs6000/rs6000-cpus.def (whole file): Delete POWERPC_BASE_MASK.
13637 * config/rs6000/rs6000-tables.opt: Regenerate.
13638 * config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete.
13642 * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Delete.
13643 * config/rs6000/rs6000.md: (whole file): Adjust to single
13645 * config/rs6000/rs6000.opt (mnew-mnemonics): Delete.
13647 * config/rs6000/spe.md: (whole file): Adjust to single
13649 * config/rs6000/sync.md: (whole file): Adjust to single
13651 * config/rs6000/sysv4.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
13654 * config/rs6000/sysv4le.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
13655 * config/rs6000/vsx.md: (whole file): Adjust to single
13657 * config/rs6000/vxworks.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
13663 * common/config/rs6000/rs6000-common.c (rs6000_handle_option):
13665 * config/rs6000/aix43.h (ASM_CPU_SPEC): Similar.
13667 * config/rs6000/aix51.h (ASM_CPU_SPEC, ASM_DEFAULT_SPEC): Ditto.
13668 * config/rs6000/aix52.h (TARGET_DEFAULT): Delete MASK_POWERPC.
13669 * config/rs6000/aix53.h (TARGET_DEFAULT): Ditto.
13670 * config/rs6000/aix61.h (TARGET_DEFAULT): Ditto.
13671 * config/rs6000/darwin.h (TARGET_DEFAULT): Ditto.
13672 * config/rs6000/darwin64.h (TARGET_DEFAULT): Ditto.
13673 * config/rs6000/default64.h (TARGET_DEFAULT): Ditto.
13674 * config/rs6000/driver-rs6000.c (asm_names): Delete handling
13676 * config/rs6000/eabi.h (TARGET_DEFAULT): Delete MASK_POWERPC.
13677 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto.
13678 * config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto.
13679 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto.
13680 * config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto.
13681 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING):
13683 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Adjust.
13685 * config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete MASK_POWERPC.
13692 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete handling for -mpowerpc.
13695 * config/rs6000/rs6000.md (extendqisi2 patterns): Adjust for
13727 * config/rs6000/rs6000.opt (mpowerpc): Replace by stub option.
13729 * config/rs6000/sync.md (load_locked<ATOMIC:mode>): Adjust.
13739 * config/rs6000/sysv4.h (TARGET_DEFAULT): Delete MASK_POWERPC.
13740 * config/rs6000/sysv4le.h (TARGET_DEFAULT): Ditto.
13741 * config/rs6000/vxworks.h (TARGET_DEFAULT): Ditto.
13746 * config/rs6000/rs6000.h (RS6000_BTM_ALWAYS): New.
13750 * config/rs6000/aix52.h (ASM_CPU_SPEC): Fix typo.
13751 * config/rs6000/aix53.h (ASM_CPU_SPEC): Ditto.
13752 * config/rs6000/aix61.h (ASM_CPU_SPEC): Ditto.
13753 * config/rs6000/driver-rs6000.c (asm_names): Ditto.
13758 * config/rs6000/driver-rs6000.c (asm_names): Use %(asm_default)
13760 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Ditto.
13767 * config/mips/mips.md (dspmac, dspmacsat, accext, accmod, dspalu)
13769 * config/mips/mips-dsp.md (add<DSPV:mode>3)
13795 * config/mips/mips-dspr2.md (mips_absq_s_qb, mips_addu_s_ph)
13810 * config/mips/mips-protos.h (mips_dspalu_bypass_p): Add prototype.
13811 * config/mips/mips.c (dspalu_bypass_table): New.
13813 * config/mips/24k.md (r24k_dsp_alu, r24k_dsp_mac, r24k_dsp_mac_sat)
13817 * config/mips/74k.md (r74k_dsp_alu, r74k_dsp_alu_sat, r74k_dsp_mac)
13825 * config/spu/spu.c: Include "cfgloop.h".
13829 * config/spu/t-spu-elf (spu.o): Update dependencies.
13888 * config/arm/neon.md (neon_vaba<mode> VDQIW): Canonicalize operands.
13894 * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
13906 * config/mips/mips.md (define_attr accum_in): New instruction
13908 * config/mips/mips.c (mips_linked_madd_p): Use accum_in to extract
13922 * config.in: Regenerate.
14067 * config/bfin/bfin.c (hwloop_optimize): Update some calls to
14069 * config/c6x/c6x.c (try_rename_operands): Likewise.
14071 * config/mips/mips.c (mips_multi_start): Likewise.
14512 * config/sh/sh.md (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0,
14514 * config/sh/sh.c (sh_rtx_costs): Handle div0s patterns.
14519 * config/sh/constraints.md (Sra): New constraint.
14520 * config/sh/predicates.md (simple_mem_operand,
14523 * config/sh/sh.md (*zero_extendqisi2_disp_mem,
14712 * config/i386/i386.h (FIXED_REGISTERS): Do not mark REX registers here.
14718 * config/i386/i386.c (ix86_conditional_register_usage): Disable
14759 * config/i386/driver-i386.c (host_detect_local_cpu): Test bit_PRFCHW
14761 * config/i386/cpuid.h (bits_PRFCHW): Move definition to CPUID
14846 * config/sh/sh.md (prefetch): Simplify expander. Fix condition to
14854 * config/sh/sh.md: Add splits for inverted compare and branch
14870 * config/sh/predicates.md (mem_index_disp_operand): Check for
14885 * config/alpha/alpha.c (alpha_stdarg_optimize_hook): Shift DECL_UID
14890 * config/i386/sse.md (xop integer multiply/add insns): Use
15034 * config/i386/i386.md (isa): Add fma and fma4.
15036 * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
15045 * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
15051 * config/i386/i386.md (simple LEA peephole2s): Add zero-extend
15181 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix
15295 * config/s390/s390.c (s390_expand_insv): Use VOIDmode in gen_rtx_SET.
15297 * config/s390/s390.c (s390_expand_cs_hqi): Copy val to a temp before
15302 * config/rl78/rl78.c (rl78_alloc_physical_registers): Check for
15309 * config/sh/sh-protos (shift_insns_rtx): Delete.
15311 * config/sh/sh.c (shift_insns, shift_amounts, ext_shift_insns,
15316 * config/sh/sh.md (ashlsi3): Emit ashlsi3_n_clobbers_t insn if the
15333 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Return preferred
15407 * config/sh/predicates.md (mem_index_disp_operand): New predicate.
15408 * config/sh/sh.md (*movsi_index_disp): Rewrite insns to use the new
15414 * config/sh/sh.md: Add negc extu sequence peephole.
15417 * config/sh/sync.md (atomic_test_and_set): Pass gen_t_reg_rtx to
15419 * config/sh/sh.c (expand_cbranchsi4, sh_emit_scc_to_t,
15427 * config/sh/sh.md (*extendqisi2_compact_reg, *extendhisi2_compact_reg):
15429 * config/sh/predicates.md (movsrc_no_disp_mem_operand): Accept
15434 * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
15441 * config/i386/adxintrin.h: Remove guarding __ADX__ check.
15442 * config/i386/x86intrin.h: Likewise.
15443 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
15463 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Limit INT_SSE_REGS to
15492 * config/s390/s390.md ("atomic_compare_and_swap<mode>"): Accept
15495 * config/s390/s390.c (s390_expand_cs_hqi): Accept any operand
15549 * common/config/i386/i386-common.c (OPTION_MASK_ISA_ADX_SET): New.
15552 * config.gcc (i[34567]86-*-*): Add adxintrin.h.
15554 * config/i386/adxintrin.h: New header.
15555 * config/i386/driver-i386.c (host_detect_local_cpu): Detect ADCX/ADOX
15557 * config/i386/i386-builtin-types.def
15560 * config/i386/i386-c.c: Define __ADX__ if needed.
15561 * config/i386/i386.c (ix86_target_string): Define -madx option.
15570 * config/i386/i386.h (TARGET_ADX): New.
15571 * config/i386/i386.md (adcx<mode>3): New define_insn.
15572 * config/i386/i386.opt (madx): New.
15573 * config/i386/x86intrin.h: Include adxintrin.h.
15577 * config/rl78/rl78.c: Include tree-pass.h.
15652 * config/s390/s390.c (s390_emit_compare_and_swap): Update for
15658 * config/s390/s390.md (UNSPEC_MOVA): New.
15774 * config/mn10300/mn10300.c (mn10300_expand_prologue): Report
15786 * config/mips/24k.md (r24k_unknown_store): Delete special handling
15793 * config/mips/74k.md (r74k_int_store): Delete special handling for
15826 * config/mips/mips.c (mips_option_override): Check -fpic
15832 * config/mips/xlr.md (ir_xlr_alu_clz): New insn_reservation.
15834 * config/mips/mips-cpus.def (xlr): Set PTF_AVOID_BRANCHLIKELY.
15843 * config/i386/i386.h (QI_REGNO_P): New define.
15849 * config/i386/i386.c (ix86_hard_regno_mode_ok): Ditto.
15855 * config/i386/sync.md (*atomic_fetch_add_cmp<mode>): Use
15958 * config/mips/mips-protos.h (mips_strip_unspec_address): Declare.
15959 * config/mips/mips.c (mips_strip_unspec_address): Make extern.
15966 * config/mips/predicates.md (pc_or_label_operand): Delete.
15967 * config/mips/mips.md (length): Add a calculation for MIPS16 branches.
16304 * config/mips/mips-cpus.def (34kn): New.
16305 * config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Add 34kn.
16307 * config/mips/mips-tables.opt: Regenerate.
16328 * config/m32c/m32c.c (TARGET_INIT_LIBFUNCS): Remove.
16330 * config/m32c/cond.md (cstore<QHPSI>4_16): Rename from cstore<QHPSI>4.
16457 * config/i386/i386.c (ix86_address_subreg_operand): Reject
16554 * config/s390/s390.c (s390_option_override): Disable DWARF 3/4
16560 * config/rs6000/rs6000.c (mem_operand_gpr): Don't limit range
16566 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
16649 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Add
16652 * config/frv/frv.c (QUAD): Fix typo.
16682 * config/alpha.h (GO_IF_MODE_DEPENDENT_ADDRESS): Move code to...
16683 * config/alpha.c (alpha_mode_dependent_address_p): ...here. New
16686 * config/cr16/cr16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
16687 * config/mep/mep.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
16688 * config/vax/vax-protos.h (vax_mode_dependent_address_p): Delete.
16689 * config/vax/vax.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
16690 * config/vax/vax.c (vax_mode_dependent_address_p): Make static.
16716 * config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Make it know
16738 * config/arm/arm.c (arm_vector_alignment): New function.
16750 * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDSEED_SET): New.
16753 * config.gcc (i[34567]86-*-*): Add rdseedintrin.h.
16755 * config/i386/prfchwintrin.h: New header.
16756 * config/i386/cpuid.h (bit_RDSEED): New.
16757 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
16759 * config/i386/i386-c.c: Define __RDSEED__ if needed.
16760 * config/i386/i386.c (ix86_target_string): Define -mrdseed option.
16767 * config/i386/i386.h (TARGET_RDSEED): New.
16768 * config/i386/i386.md (rdseed<mode>_1): New.
16769 * config/i386/i386.opt (mrdseed): New.
16770 * config/i386/x86intrin.h: Include rdseedintrin.h.
16784 * config/sh/sh.md (*movsi_index_disp, *movhi_index_disp): New
16790 * config/sh/sh.md (mov_neg_si_t): Move to Scc instructions section.
16793 * config/sh/sh.c (expand_ashiftrt): Likewise.
16798 * config/sh/sh.md (ashlsi3_d): Invoke gen_shifty_op directly instead
16819 * config/i386/i386.c (ix86_avoid_lea_for_addr): Handle
16824 * config/i386/i386.md (*lea<mode>): Recover operands from curr_insn.
16834 * config/rs6000/rs6000.c (rs6000_secondary_reload): Limit 32-bit
16868 * config/sh/sh.c (shiftcosts): Remove case where first operand
16895 * config/rs6000/constraints.md: Delete "q" constraint.
16896 * config/rs6000/dfp.md (movsd_hardfloat, movsd_softfloat):
16898 * config/rs6000/predicates.md (gpc_reg_operand): Adjust.
16899 * config/rs6000/rs6000.c (rs6000_debug_reg_global)
16902 * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Adjust
16908 * config/rs6000/rs6000.md: Delete MQ_REGNO.
16947 * common/config/rs6000/rs6000-common.c (rs6000_handle_option):
16949 * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete.
16953 * config/rs6000/aix51.h (NON_POWERPC_MASKS): Delete.
16957 * config/rs6000/aix52.h (NON_POWERPC_MASKS): Delete.
16961 * config/rs6000/aix53.h (NON_POWERPC_MASKS): Delete.
16965 * config/rs6000/aix61.h (NON_POWERPC_MASKS): Delete.
16969 * config/rs6000/darwin.h (TARGET_POWER): Delete.
16970 * config/rs6000/driver-rs6000.c (struct asm_names): Delete
16972 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
16975 * config/rs6000/rs6000-cpus.def: Likewise.
16976 * config/rs6000/rs6000-tables.opt: Regenerate.
16977 * config/rs6000/rs6000.c (POWER_MASKS): Delete.
16986 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete support for
16991 * config/rs6000/rs6000.md (extendqisi2): Delete POWER support.
17046 * config/rs6000/rs6000.opt (mpower, mno-power, mpower2): Delete.
17047 * config/rs6000/sysv4.h (TARGET_POWER): Delete.
17048 * config/rs6000/t-aix43 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
17056 * config/rs6000/601.md: New file.
17057 * config/rs6000/aix43.h (ASM_CPU_SPEC): Delete support for
17059 * config/rs6000/aix51.h (ASM_CPU_SPEC): Likewise.
17060 * config/rs6000/driver-rs6000.c (detect_processor_aix,
17062 * config/rs6000/rios1.md: Delete file.
17063 * config/rs6000/rios2.md: Delete file.
17064 * config/rs6000/rs6000-cpus.def: Delete definitions for RIOS
17066 * config/rs6000/rs6000-opts.h (enum processor_type): Delete
17068 * config/rs6000/rs6000-tables.opt: Regenerated.
17069 * config/rs6000/rs6000.c (struct rios1_cost, struct rios2_cost):
17074 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete support for
17078 * config/rs6000/rs6000.md (define_attr "cpu"): Delete rios1
17082 * config/rs6000/rs6000.opt (enum rs6000_cpu): Default to
17084 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Delete support
17086 * config/rs6000/t-rs6000 (MD_INCLUDES): Delete rios1.md and
17103 * config/mn10300/mn10300.c (REG_SAVE_BYTES): Delete.
17111 * config/mn10300/mn10300-protos.h (mn10300_get_live_callee_saved_regs):
17113 * config/mn10300/mn10300.md (return_ret): Add argument to
17197 * config/arm/neon.ml (ops): Fix regexp for vld1Q_dups64 and
17203 * config/sh/sh.opt (mzdcbranch): New option.
17205 * config/sh/sh.md (negsi_cond): Use TARGET_ZDCBRANCH as condition
17207 * config/sh/sh.c (sh_option_override): Set TARGET_ZDCBRANCH as default
17213 * config/sh/predicates.md (shift_count_operand): Handle not-SHMEDIA
17216 * config/sh/sh.md (ashlsi3): Remove parallel and T_REG clobber
17220 * config/sh/sh.c (gen_ashift): Make static. Add sanity checks.
17223 * config/sh/sh-protos.h (gen_ashift, gen_ashift_hi): Remove forward
17229 * config/arm/bpabi.h (BE8_LINK_SPEC): Set according to
17279 * config/spu/spu.c (spu_warn_func_return): New.
17281 * config/rx/rx.c (rx_warn_func_return): New.
17283 * config/avr/avr.c (avr_warn_func_return): New.
17285 * config/arm/arm.c (arm_warn_func_return): New.
17287 * config/mcore/mcore.c (mcore_warn_func_return): New.
17314 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PRFCHW_SET): New.
17317 * config.gcc (i[34567]86-*-*): Add prfchwintrin.h.
17319 * config/i386/prfchwintrin.h: New header.
17320 * config/i386/cpuid.h (bit_PRFCHW): New.
17324 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
17326 * config/i386/i386-c.c: Define __PRFCHW__ if needed.
17327 * config/i386/i386.c (ix86_target_string): Define
17333 * config/i386/i386.h (TARGET_PRFCHW): New.
17334 * config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW.
17335 * config/i386/i386.opt (mprfchw): New.
17336 * config/i386/mm3dnow.h: Move _m_prefetchw from here to prfchwintrin.h.
17337 * config/i386/x86intrin.h: Include prfchwintrin.h.
17341 * config/i386/i386.md (stack_protect_set): Disable the pattern
17350 * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
17361 * config.gcc (i[34567]86-*-linux* | ...): Add btver2.
17363 * config/i386/driver-i386.c (host_detect_local_cpu): Let
17365 * config/i386/i386-c.c (ix86_target_macros_internal): Add
17367 * config/i386/i386.c (struct processor_costs btver2_cost): New
17378 * config/i386/i386.h (TARGET_BTVER2): New definition.
17381 * config/i386/i386.md (define_attr "cpu"): Add btver2.
17467 * config/spu/spu.c (spu_init_cost): Add prologue and epilogue costs.
17470 * config/i386/i386.c (i386_init_cost): Add prologue and epilogue costs.
17473 * config/rs6000/rs6000.c (rs6000_init_cost): Add prologue and epilogue
17503 * config/cris/cris.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
17504 * config/h8300/h8300.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
17505 * config/mn10300/mn10300.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
17506 * config/rs6000/rs6000.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove
17508 * config/v850/v850.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
17509 * config/v850/v850.md (fixuns_truncsfsi2, fixuns_truncdfsi2): New.
17511 * config/vax/vax.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
17512 * config/vax/vax.md (fixuns_trunc<VAXfp><VAXint>): New.
17696 * config/arm/arm.c (arm_print_operand_address): Remove superfluous
17698 * config/arm/neon.md ("neon_vld3_lane<mode>":VD): Remove alignment
17713 * config/i386/i386.c (ix86_legitimate_address_p): Move check for
17832 * config/rs6000/constraints.md (Y): Use mem_operand_gpr.
17833 * config/rs6000/predicates.md (word_offset_memref_operand): Delete.
17835 * config/rs6000/rs6000-protos.h (mem_operand_gpr): Declare.
17840 * config/rs6000/rs6000.c (address_offset): New function.
17855 * config/rs6000/rs6000.md (movdf_hardfloat32): Use 'Y' constraint
17877 * config/sh/predicates.md (general_movsrc_operand,
17879 * config/sh/sh.md (*extendqisi2_compact_reg, *extendhisi2_compact_reg,
17887 * config/sh/sh.md (mulsf3_ie): Delete.
17893 * config/sh/sh.md (addc1, subc1): Delete.
17899 * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
17900 * config/i386/i386.c (ix86_lea_outperforms): Make static. Make
17909 * config/arm/arm.c (arm_reorg): Ensure all insns are split.
17914 * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
17915 * config/i386/i386.c (ix86_print_operand_address): Ditto.
17942 * config/frv/frv-protos.h (frv_ifcvt_machdep_init): Prototype.
17943 * config/frv/frv.c (frv_ifcvt_machdep_init): Change type of
18001 * config/sh/sh.h (TARGET_DYNSHIFT): New macro.
18003 * config/sh/sh.c (expand_ashiftrt, shl_sext_kind): Likewise.
18006 * config/sh/sh.md (ashlsi3, ashlsi3_std, ashrsi3_d, lshrsi3,
18011 * config/sh/sh.md (negc): Delete expander.
18017 * config/i386/i386.md (*lea): New insn pattern.
18021 * config/i386/predicates.md (lea_address_operand): Do not reject
18023 * config/i386/constraints.md (j): Remove address constraint.
18024 * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
18032 * config/cris/cris.c (cris_file_end): New function.
18039 * config/mips/mips.c (mips_issue_rate): Handle XLP.
18040 * config/mips/mips.md: Include xlp.md.
18041 * config/mips/xlp.md: New file.
18051 * config/sh/sh.md: Correct comment regarding clrt and sett insns.
18055 * config/mips/mips.md (*popcountdi2_trunc): New pattern
18060 * config/mips/mips-protos.h (mips_expand_ext_as_unaligned_load):
18062 * config/mips/mips.c (mips_block_move_straight): Update call to
18066 * config/mips/mips.md (extv): Update call to
18072 * config/mips/mips.c (mips_get_unaligned_mem): Copy *op after calling
18077 * config/mips/mips.md (define_attr sync_*): Move before "type".
18079 * config/mips/sync.md (atomic_exchange<mode>, atomic_fetch_add<mode>):
18081 * config/mips/generic.md (generic_atomic, generic_syncloop):
18083 * config/mips/10000.md, config/mips/20kc.md,
18084 * config/mips/24k.md, config/mips/4130.md,
18085 * config/mips/4k.md, config/mips/5400.md,
18086 * config/mips/5500.md, config/mips/5k.md,
18087 * config/mips/7000.md, config/mips/74k.md,
18088 * config/mips/9000.md, config/mips/loongson2ef.md,
18089 * config/mips/loongson3a.md, config/mips/octeon.md,
18090 * config/mips/sb1.md, config/mips/sr71k.md,
18091 * config/mips/xlr.md: Handle "atomic" and "syncloop" types.
18095 * config/sh/sh.md: Group and sort shift related patterns.
18100 * config/cris/cris.c (cris_asm_output_ident): Remove unused
18106 * config/rs6000/power4.md (power4-store-update): Fix reservation.
18112 * config/arm/arm.c (arm_cortex_a15_tune): New tune.
18113 * config/arm/arm-cores.def (cortex-a15): Use it.
18118 * config/arm/arm-protos.h (tune_params): Add prefer_ldrd_strd.
18119 * config/arm/arm.c (arm_slowmul_tune): Initialize it.
18206 * config/i386/lzcntintrin.h (_lzcnt_u32): New.
18211 * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
18232 * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
18243 * config/ia64/vect.md (smulv4hi3_highpart): New.
18249 * config/ia64/ia64.c (ia64_expand_dot_prod_v8qi): Remove.
18250 * config/ia64/ia64-protos.h: Update.
18264 * config/sh/sh.h (MODE_AFTER): Update.
18265 * config/epiphany/epiphany.h (MODE_AFTER): Update.
18278 * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
18299 * config/i386/winnt.c (i386_pe_seh_emit_except_personality):
18302 * config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define.
18304 * common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define.
18310 * config/mips/mips.opt (mmcu): New option.
18311 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
18318 * config.gcc (v850-*-rtems*): New target.
18319 * config/v850/rtems.h: New.
18320 * config/v850/t-rtems: New.
18338 * config/arm/arm.c (arm_rtx_costs_1): Adjust cost for CONST_VECTOR.
18346 * config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp)
18351 * config/arm/arm.md (neon_type): Update comment.
18382 * config/sh/sh.md (mulsidi3, umulsidi3): Remove constraints in
18392 * config/sh/sh.opt (mieee): Use Var instead of Mask. Correct
18394 * config/sh/sh.c (sh_option_override): Do not change
18488 * config/rl78/rl78.c (rl78_reorg): Update print_rtl_with_bb calls.
18530 * common/config/arm/arm-common.c (arm_option_optimization_table):
18532 * config/arm/arm.c (arm_option_override): Use the alternate scheduler
18537 * config/sh/sh.h (CONST_OK_FOR_I06): Delete.
18539 * config/sh/sh.c: ... here.
18545 * config/sh/sh.md: Delete mov related define_peephole patterns.
18555 * config/spu/spu.c (targetm): Move to bottom of file.
18585 * config/i386/rtmintrin.h (_xabort): Remove trailing semicolon.
18597 * config/i386/i386.md (stack_protect_set): Disable the pattern
18746 * config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c,
18747 config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
18748 config/spu/spu.c, config/mep/mep.c, config/i386/i386.c:
18750 * config/rl78/rl78.c: Include dumpfile.h instead of tree-pass.h.
18855 * config/i386/i386.md (stack_protect_set): Disable the pattern
18865 * config/cris/cris-protos.h (cris_legitimate_address_p): Declare.
18866 * config/cris/cris.h (CONSTANT_ADDRESS_P): Define in terms of
18868 * config/cris/cris.c (cris_legitimate_address_p): Make non-static.
18872 * config/cris/cris.c (cris_init_libfuncs): Handle initialization
18874 * config/cris/cris.h (TARGET_ATOMICS_MAY_CALL_LIBFUNCS): New macro.
18875 * config/cris/cris.opt (munaligned-atomic-may-use-library): New option.
18876 * config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")
18881 * config/cris/cris.c (cris_print_operand) <case 'P', 'q'>: New cases.
18882 * config/cris/sync.md (atomic_op_op_cnstr): New code_attr.
18907 * config/mips/mips.md (move_type): Replace mfhilo and mthilo
18918 * config/mips/mips-dsp.md (mips_extr_w, mips_extr_r_w, mips_extr_rs_w)
18921 * config/mips/10000.md (r10k_arith): Split mthilo.
18923 * config/mips/sb1.md (ir_sb1_mfhi, ir_sb1_mflo): Likewise.
18925 * config/mips/20kc.md (r20kc_imthilo, r20kc_imfhilo): Split
18927 * config/mips/24k.md (r24k_int_mfhilo, r24k_int_mthilo): Likewise.
18928 * config/mips/4130.md (vr4130_class, vr4130_mfhilo, vr4130_mthilo):
18930 * config/mips/4k.md (r4k_int_mthilo, r4k_int_mfhilo): Likewise.
18931 * config/mips/5400.md (ir_vr54_hilo): Likewise.
18932 * config/mips/5500.md (ir_vr55_mthilo, ir_vr55_mfhilo): Likewise.
18933 * config/mips/5k.md (r5k_int_mthilo, r5k_int_mfhilo): Likewise.
18934 * config/mips/7000.md (rm7_mthilo, rm7_mfhilo): Likewise.
18935 * config/mips/74k.md (r74k_int_mfhilo, r74k_int_mthilo): Likewise.
18936 * config/mips/9000.md (rm9k_mfhilo, rm9k_mthilo): Likewise.
18937 * config/mips/generic.md (generic_hilo): Likewise.
18938 * config/mips/loongson2ef.md (ls2_alu): Likewise.
18939 * config/mips/loongson3a.md (ls3a_mfhilo): Likewise.
18940 * config/mips/octeon.md (octeon_imul_o1, octeon_imul_o2)
18942 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
18943 * config/mips/xlr.md (xlr_hilo): Likewise.
18948 * config/sh/sh.h (SH_ASM_SPEC): Add spaces between options.
18952 * config/i386/i386.c (ix86_set_reg_reg_cost): Enable TFmode/TCmode
18962 * config/spu/spu.c (spu_init_cost): Mark static.
18966 * config/i386/i386.c (ix86_init_cost): Mark static.
18970 * config/rs6000/rs6000.c (rs6000_init_cost): Mark static.
19105 * config/spu/spu.c (TARGET_VECTORIZE_INIT_COST): New macro def.
19113 * config/i386/i386.c (ix86_init_cost): New function.
19121 * config/rs6000/rs6000.c (TARGET_VECTORIZE_INIT_COST): New macro def.
19184 * config/i386/i386.md (QImode and HImode cmove splitters): Merge
19197 * config/ia64/ia64.c: Likewise.
19198 * config/sparc/sparc.c: Likewise.
19199 * config/sparc/t-sparc (sparc.o): Fix dependencies.
19221 * config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Likewise.
19227 * config/arm/arm.c (arm_early_load_addr_dep): Handle new
19237 * config/sh/sh.md: Remove displacement addresssing related splits.
19250 * config/arm/arm.md (movsi): Don't split symbol refs here.
19256 * config/m68k/m68k.c (m68k_epilogue_uses): New.
19257 * config/m68k/m68k.h (EPILOGUE_USES): Use it.
19258 * config/m68k/m68k-protos.h (m68k_epilogue_uses): Add prototype.
19265 * config/i386/i386.c (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI): Remove.
19276 * config/rs6000/rs6000.c (rs6000_builtin_mul_widen_even): Remove.
19280 * config/spu/spu.c (spu_builtin_mul_widen_even): Remove.
19301 * config/spu/spu-builtins.md (spu_mpy): Move to spu.md.
19303 * config/spu/spu.md (vec_widen_smult_odd_v8hi): Rename from spu_mpy.
19307 * config/spu/spu-builtins.def: Update pattern names to match.
19309 * config/rs6000/altivec.md (vec_widen_umult_even_v16qi): Rename
19318 * config/rs6000/rs6000-builtin.def: Update pattern names to match.
19320 * config/i386/sse.md (vec_widen_umult_even_v8si): Rename from
19325 * config/i386/i386.c (bdesc_args): Update pattern names.
19448 * config/sh/sh.c (sequence_insn_p): New function.
19454 * config/i386/i386.c (ix86_fold_builtin): Call SUBTARGET_FOLD_BUILTIN
19456 * config/darwin.h: Rename TARGET_FOLD_BUILTIN to
19458 * config/rs6000/darwin.h: Map TARGET_FOLD_BUILTIN onto
19463 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Move NeXT
19465 * config/darwin.c (darwin_override_options): ... to here.
19517 * config/sh/sh.md (*return_i): Move trap_exit attribute check to ...
19518 * config/sh/sh.c (sh_cfun_trap_exit_p): ... this new function.
19519 * config/sh/sh-protos.h: Declare it.
19532 * config/sh/sh.md (*branch_true_eq, *branch_false_ne, nott): New insns.
19570 insn-config.h, recog.h, diagnostic-core.h, tm_p.h, and cfgloop.h.
19764 * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
19804 * config/i386/i386.md (simple lea to add peephole): Also transform
19809 * config/i386/i386.c (construct_plt_address): Make static.
19810 * config/i386/i386-protos.h (construct_plt_address): Remove.
19814 * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
19820 * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
19844 * config/arm/neon-gen.ml (return_by_ptr): Delete.
19853 * config/arm/neon.ml (rev_elems): New function.
19865 * config/arm/arm_neon.h: Regenerate.
19874 * config/s390/s390-protos.h (s390_expand_movmem)
19876 * config/s390/s390.c (s390_expand_movmem, s390_expand_cmpmem):
19878 * config/s390/s390.md (movmem, cmpmem): Evaluate return value of C
19883 * config.gcc: Enable ifunc attribute by default on s390 and s390x.
19896 * config/arm/iterators.md (SDF): New mode iterator.
19901 config/arm/vfp.md (fma<SDF:mode>4): New pattern.
19912 * config/sh/predicates.md (zero_extend_operand): New predicate.
19913 * config/sh/sh.md (zero_extendhisi2): Simplify by using new
19944 * config/i386/winnt.c (i386_pe_reloc_rw_mask): New function.
19945 * config/i386/i386-protos.h (i386_pe_reloc_rw_mask): Add
19947 * config/i386/cygming.h (TARGET_ASM_RELOC_RW_MASK): Define
19972 * config/sh/predicates.md (logical_and_operand): New predicate.
19973 * config/sh/constraints.md (Jmb, Jmw): New constraints.
19974 * config/sh/sh.md (andsi3): Move expander above insns. Add handling
19987 * config/mep/mep.c (mep_reorg_regmove): Use
19998 * config/i386/i386.c (ix86_option_override_internal): Fix wrong
20004 * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
20010 * config/m68k/m68k.c (m68k_option_override): Reset stack_limit_rtx
20015 * config/i386/xmmintrin.h (_mm_sfence): Use __builtin_ia32_pause.
20022 * config/i386/i386.md (simple_return_internal_long): Use %;
20029 * config/sh/predicates.md (t_reg_operand, negt_reg_operand): New
20031 * config/sh/sh-protos.h (get_t_reg_rtx): New prototype.
20032 * config/sh/sh.c (get_t_reg_rtx): New function. Use it when invoking
20034 * config/sh/sh.md: Use get_t_reg_rtx when invoking gen_branch_true and
20174 * config/arm/arm-protos.h (const_ok_for_dimode_op): New prototype.
20175 * config/arm/arm.c (const_ok_for_dimode_op): New function.
20176 * config/arm/constraints.md (Dd): New constraint.
20177 * config/arm/predicates.md (arm_adddi_operand): New predicate.
20178 * config/arm/arm.md (adddi3): Extend it to handle constants.
20182 * config/arm/neon.md (adddi3_neon): Extend it to handle constants.
20213 * config/i386/gnu-user64.h (WCHAR_TYPE): Use "int" only for
20241 * config/vms/vms.c: Look for c-tree.h in c/.
20242 * doc/gty.texi: Remove reference to c-config-lang.in.
20261 * config/frv/frv.h (IFCVT_INIT_EXTRA_FIELDS): Rename to
20263 * config/frv/frv.c (frv_ifcvt_init_extra_fields): Rename to
20272 * config/lm32/lm32.c (lm32_compute_frame_size): Fix typo.
20302 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
20303 * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
20304 * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
20356 * config/alpha/alpha.c (alpha_dimode_u): New.
20386 * config/i386/i386.c (ix86_rtx_costs): Fix typo vs UNITS_PER_WORD
20391 * config/rx/rx.md (comparesi3_extend): Remove = modifier from
20414 * config/rx/rx.md (simple_return): Use the simple_return rtx.
20418 * config/i386/i386.c (ix86_rtx_costs): Use standard_sse_constant_p
20424 * config/i386/i386.c (bdesc_args): Update. Change
20430 * config/i386/sse.md (vec_widen_<s>mult_hi_<V124_AVX2>): Allow
20438 * config/i386/sse.md (mul<VI8_AVX2>3): Change from insn_and_split
20440 * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): ... here. Add
20442 * config/i386/i386-protos.h: Update.
20448 * config/darwin.h (USE_COMMON_FOR_ONE_ONLY): Do not define.
20468 * config/microblaze/microblaze.h (UNALIGNED_SHORT_ASM_OP,
20474 * config/frv/frv.h: Fix example text to match tm.texi.
20523 * config/mips/mips.h: Do not define ALL_COP_ADDITIONAL_REGISTER_NAMES.
20524 * config/frv/frv.h: Do not define REVERSE_CONDEXEC_PREDICATES_P.
20568 * config/rl78/rl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP.
20579 * config/i386/sse.md (sse2_sse4_1): Remove code attr.
20585 * config/i386/i386-builtin-types.def (V4UDI, V8USI): New.
20588 * config/i386/i386.c (ix86_expand_args_builtin): Handle them.
20600 * config/i386/sse.md (vec_widen_<s>mult_odd_<V124_AVX2>): New.
20604 * config/i386.sse.md (mul<VI4_AVX2>3): Use xop_pmacsdd.
20608 * config/i386/i386.c (ix86_rtx_costs) [MULT]: Only apply XOP cost
20614 * config/i386/i386.md (u_bool) New code attr.
20615 * config/i386/predicates.md
20617 * config/i386/sse.md (mul<VI4_AVX2>3): Don't use it; don't test
20629 * config/i386/i386-protos.h: Update.
20633 * config/arm/neon.md (UNSPEC_VLD1_DUP): Remove.
20640 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.
20650 * config/arm/arm.c (arm_file_start): Refactor appropriately.
20661 * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
20679 * config/v850/v850.c: Remove redundant extern declarations for
20684 * config/sparc/sparc.h (JMP_BUF_SIZE): Do not define.
20685 * config/pa/pa.h (JMP_BUF_SIZE): Likewise.
20686 * config/stormy16/stormy16.h: Likewise.
20688 * config/picochip/picochip.c: Do not define DONT_USE_BUILTIN_SETJMP.
20694 * config/i386/i386.h: Fix typo.
20698 * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
20701 * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
20703 * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
20704 * config/i386/i386.c (ix86_frame_pointer_required): Required
20738 * config/i386/i386.c (ix86_frame_pointer_required): Likewise.
20744 * config/rs6000/rs6000.c (rs6000_stack_info): Likewise.
20745 * config/h8300/h8300.c (byte_reg): Likewise.
20746 * config/c6x/c6x.c (must_reload_pic_reg_p): Likewise.
20749 * config/pa/pa.c (pa_compute_frame_size): Likewise.
20751 * config/stormy16/stormy16.c (struct xstormy16_stack_layout): Likewise.
20752 * config/sparc/sparc.md (attr "leaf_function"): Likewise.
20753 * config/sparc/sparc.c (sparc_initial_elimination_offset): Likewise.
20759 * config/epiphany/epiphany.c (epiphany_compute_function_type):
20762 * config/lm32/lm32.c (lm32_compute_frame_size): Likewise.
20763 * config/cris/cris.c (cris_md_asm_clobbers): Likewise.
20765 * config/tilepro/tilepro.c (emit_sp_adjust): Likewise.
20767 * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Likewise.
20768 * config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise.
20769 * config/ia64/ia64.c (find_gr_spill): Likewise.
20773 * config/m68k/m68k.c (m68k_save_reg): Likewise.
20775 * config/rx/rx.c (rx_get_stack_layout): Likewise.
20776 * config/tilegx/tilegx.c (tilegx_current_function_is_leaf): Likewise.
20777 * config/picochip/picochip.c (picochip_can_eliminate_link_sp_save):
20780 * config/sh/sh.c (sh_media_register_for_return): Likewise.
20783 * config/microblaze/microblaze.c (microblaze_must_save_register):
20789 * config/frv/frv.c (frv_expand_epilogue): Likewise.
20791 * config/spu/spu.c (get_pic_reg): Likewise.
20796 * config/mips/mips.c (mips_global_pointer): Likewise.
20799 * config/mep/mep.c (mep_interrupt_saved_reg): Likewise.
20801 * config/rl78/rl78.c (need_to_save): Likewise.
20802 * config/cr16/cr16.c (cr16_compute_save_regs): Likewise.
20803 * config/score/score.c (score_compute_frame_size): Likewise.
20805 * config/bfin/bfin.c (must_save_p): Likewise.
20814 * config/avr/avr.c (avr_regs_to_save): Likewise.
20817 * config/s390/s390.c (s390_regs_ever_clobbered): Likewise.
20829 * config/microblaze/microblaze/h: Do no define ASM_BYTE_OP.
20830 * config/mep/mep.h: Do not define ASM_OUTPUT_BYTE.
20834 * config/mips/mips.c (mips_process_sync_loop): Add missing enum cast.
20839 * config/i386/i386.c (ix86_rtx_costs): Add reasonable costs for
20842 * config/i386/i386.md (any_shift): New code iterator.
20843 * config/i386/sse.md (ashlv16qi3): Merge ...
20848 * config/i386/i386.c (ix86_expand_sse_unpack): Split operands[]
20850 * config/i386/sse.md (vec_unpacku_hi_<V124_AVX2>): Update call.
20854 * config/i386/i386-protos.h: Update.
20856 * config/i386/sse.md (mul<VI1_AVX2>3): Change from insn_and_split to
20858 * config/i386/i386.c (ix86_expand_vecop_qihi): ... here. New function.
20859 * config/i386/i386-protos.h: Update.
20863 * config/rs6000/rs6000.md (define_attr "type"): New type popcnt.
20866 * config/rs6000/power4.md (define_insn_reservation): Add type popcnt.
20867 * config/rs6000/power5.md (define_insn_reservation): Ditto.
20868 * config/rs6000/power7.md (define_insn_reservation): Ditto.
20869 * config/rs6000/476.md (define_insn_reservation): Ditto.
20870 * config/rs6000/power6.md (define_insn_reservation): New
20881 * config/i386/i386.c (ix86_option_override_internal): Allow
20883 * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to 64 for 64-bit
20946 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Pass in and
21047 * config/m32c/m32c-pragma.c: Remove unnecessary includes.
21066 * config/i386/i386.md (SINCOS): New int iterator.
21075 * config/i386/i386.md (RDFSGSBASE): New int iterator.
21085 * config/i386/i386.md (<rounding_insn><mode>2): Macroize expander
21109 * config/i386/i386.md (rounding_insn): New int attribute.
21116 * config/i386/i386.md (IEEE_MAXMIN): New int iterator.
21123 * config/arm/arm.h (EMIT_EABI_ATTRIBUTE): Remove.
21124 * config/arm/arm.c: Do not include c-pragma.h.
21131 * config/arm/arm-protos.h (arm_emit_eabi_attribute): Prototype it.
21140 * config/rl78/rl78-c.c: Remove unnecessary includes.
21144 * config/cris/cris.c: Include cgraph.h.
21151 * config/alpha/alpha.c (alpha_{pre,post}_atomic_barrier): Use it.
21152 * config/arm/arm.c (arm_{pre,post}_atomic_barrier): Use it.
21153 * config/tilegx/tilegx.c (tile_{pre,post}_atomic_barrier): Use it.
21154 * config/mips/mips.c (mips_{pre,post}_atomic_barrier_p): Remove.
21159 * config/mips/mips.c (mips_process_sync_loop): Emit cmp result only if
21165 * config/mips/constraints.md (ZR): New constraint.
21166 * config/mips/predicates.md (mem_noofs_operand): New predicate.
21167 * config/mips/mips.c (mips_print_operand): Handle new print modifier.
21168 * config/mips/mips.h (TARGET_XLP): Define.
21171 * config/mips/sync.md (atomic_exchange, atomic_fetch_add): Use
21178 * config/mips/mips.c (mips_emit_pre_atomic_barrier_p,)
21183 * config/mips/mips.md: Update comment.
21186 * config/mips/sync.md (UNSPEC_ATOMIC_COMPARE_AND_SWAP,)
21194 * config/rs6000/spe.md (*mov_si<mode>_e500_subreg0): Rename to
21201 * config/alpha/alpha.c: Include params.h.
21212 * config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for
21214 * config/darwin-c.c: Include target.h.
21235 * config/elfos.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove.
21237 * config/i386/djgpp.h (IDENT_ASM_OP): Remove.
21238 * config/i386/gas.h (ASM_OUTPUT_IDENT): Remove.
21239 * config/arm/aout.h (ASM_OUTPUT_IDENT): Remove.
21240 * config/sparc/sparc.h (IDENT_ASM_OP): Remove.
21242 * config/picochip/picochip.h (IDENT_ASM_OP): Remove.
21245 * config/cris/cris-protos.h (cris_asm_output_ident): Add prototype.
21246 * config/cris/cris.c (cris_asm_output_ident): New function.
21247 * config/cris/cris.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove.
21249 * config/microblaze/microblaze-protos.h (microblaze_asm_output_ident):
21251 * config/microblaze/microblaze.c: Include cgraph.h for add_asm_node.
21254 * config/microblaze/microblaze.h (ASM_OUTPUT_IDENT): Remove.
21257 * config/mips/mips.h (ASM_OUTPUT_IDENT): Remove.
21258 * config/mips/sde.h (IDENT_ASM_OP, ASM_OUTPUT_IDENT): Remove.
21260 * config/rx/rx.c: Include cgraph.h for add_asm_node.
21265 * config/rx/rx.h (IDENT_ASM_OP): Remove.
21271 * config/i386/i386.md (FIST_ROUNDING): New int iterator.
21291 * config/i386/i386-protos.h (ix86_expand_sse2_mulv4si3): Declare.
21292 * config/i386/i386.c (ix86_expand_sse2_mulv4si3): New.
21293 * config/i386/predicates.md (nonimmediate_or_const_vector_operand): New.
21294 * config/i386/sse.md (sse2_mulv4si3): Delete.
21311 * config/i386/i386.c (ix86_rtx_costs): Handle CONST_VECTOR, and
21316 * config/i386/i386.md (FRNDINT_ROUNDING): New int iterator.
21370 * config/rs6000/aix52.h (TARGET_EXTRA_BUILTINS): Define as 0.
21375 * config/i386/sse.md (*sse4_2_pcmpestr_unaligned): New.
21382 * config/arm/arm-protos.h (arm_output_epilogue): Remove.
21383 * config/arm/arm.c (print_multi_reg): Remove.
21386 * config/arm/arm.md (epilogue_insns): Update condition and code.
21392 * config/arm/arm-protos.h (thumb2_expand_return): New declaration.
21393 * config/arm/arm.c (thumb2_expand_return): New function.
21394 * config/arm/arm.md (return): Update condition and code.
21400 * config/arm/arm-protos.h (output_return_instruction): New parameter
21402 * config/arm/arm.c (output_return_instruction): Likewise.
21403 * config/arm/arm.md (arm_simple_return): New pattern.
21405 * config/arm/thumb2.md (thumb2_return): Update condition and code.
21411 * config/arm/arm-protos.h (arm_expand_epilogue): New declaration.
21412 * config/arm/arm.c (arm_expand_epilogue): New function.
21413 * config/arm/arm.md (epilogue): Update condition and code.
21420 * config/arm/arm.c (arm_expand_epilogue_apcs_frame): New function.
21421 * config/arm/arm.md (arm_addsi3) Add an alternative.
21427 * config/arm/arm.md (vfp_pop_multiple_with_writeback) New define_insn.
21428 * config/arm/predicates.md (pop_multiple_fp) New special predicate.
21429 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): New function.
21435 * config/arm/arm.md (load_multiple_with_writeback) New define_insn.
21438 * config/arm/predicates.md (pop_multiple_return) New special predicate.
21439 * config/arm/arm-protos.h (arm_output_multireg_pop) New declaration.
21440 * config/arm/arm.c (arm_output_multireg_pop) New function.
21445 * config/arm/arm.c (ldm_stm_operation_p): Require SP
21462 * config/vax/vax.h (VMS_TARGET): Remove.
21473 * config/s390/s390.c (s390_gimplify_va_arg): Revert change from
21479 * read-rtl.c (ints): New iterator group.
21486 (read_rtx): Parse and read mappings for int iterators.
21566 * config/alpha/alpha.c: Likewise.
21567 * config/spu/spu.c: Likewise.
21568 * config/sparc/sparc.c: Likewise.
21569 * config/sh/sh.c: Likewise.
21570 * config/c6x/c6x.c: Likewise.
21571 * config/ia64/ia64.c: Likewise.
21572 * config/rs6000/rs6000.c: Likewise.
21573 * config/score/score.c: Likewise.
21574 * config/mips/mips.c: Likewise.
21575 * config/bfin/bfin.c: Likewise.
21577 * config/rs6000/t-rs6000 (rs6000.o): Do not depend on cfglayout.h.
21578 * config/spu/t-spu-elf (spu.o: $): Likewise.
21579 * config/sparc/t-sparc (sparc.o): Do not depend on CFGLAYOUT_H.
21620 * config/cris/cris.h (TARGET_ELF): Remove.
21624 * config/cris/cris.c (cris_target_asm_named_section): Remove.
21627 * config/cris/cris-protos.h (cris_target_asm_named_section): Remove.
21631 * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
21645 * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
21665 * config/avr/avr.c (avr_default_expand_builtin): New function.
21783 * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
21788 * config/sh/sh.md: Add peephole for swapbsi2.
21793 * config/i386/i386.md (*zero_extendsidi2): Remove x,x alternative.
21799 * config/i386/i386.md (*anddi_1 into *andsi_1_zext splitter): New.
21880 * config/h8300/genmova.sh: Modified to add offset bits of
21882 * config/h8300/h8300.c: Likewise.
21883 * config/h8300/mova.md: Likewise.
21888 * config/sh/sh.c (sh_option_override): Don't force
21890 * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
21910 * config/alpha/alpha.c (alpha_trampoline_init): Use it.
21957 * read-rtl.c (mapping): Remove index field. Add current_value field.
21990 * config/sh/sh.md (bswapsi2): New expander.
21996 * config/i386/i386.c (ix86_tune_cost): New variable.
22010 * config.gcc (unsupported): Move obsoleted FPA-based configurations
22042 * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
22044 * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
22045 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
22050 * config/arm/arm.c (FL_IWMMXT2): New define.
22066 * config/arm/arm-protos.h (arm_output_iwmmxt_shift_immediate): Declare.
22068 * config/arm/iwmmxt.md (WCGR0, WCGR1, WCGR2, WCGR3): New constant.
22105 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __IWMMXT2__.
22109 * config/arm/mmintrin.h: Use __IWMMXT__ to enable iWMMXt intrinsics.
22142 * config/arm/arm-cores.def (iwmmxt2): Add FL_IWMMXT2.
22143 * config/arm/arm-arches.def (iwmmxt2): Likewise.
22144 * config/arm/t-arm (MD_INCLUDES): Add marvell-f-iwmmxt.md and
22146 * config/arm/arm.md (marvell-f-iwmmxt.md): Include.
22152 * config/arm/predicates.md (imm_or_reg_operand): New predicate.
22153 * config/arm/iterators.md (VMMX2): New mode_iterator.
22154 * config/arm/marvell-f-iwmmxt.md: New file.
22155 * config/arm/iwmmxt2.md: New file.
22167 * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
22171 * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
22212 * config/sh/sh.c (output_stack_adjust): Remove !epilogue_p
22221 * config/alpha/alpha.c (HWI_HEX2): Add missing shift.
22224 * config/alpha/alpha.c (alpha_trampoline_init): Split large constants.
22241 * config/mips/mips-tables.opt (xlp): Fix merge typo.
22253 * config/sh/sh.md (fmasf4): New expander.
22256 * config/sh/sh.opt (mfused-madd): Remove.
22257 * config/sh/sh.c (sh_option_override): Remove mfused-madd handling.
22259 * config.gcc (sh[123456789lbe]*-*-* | sh-*-*): Add fused-madd.opt
22287 * config/cris/cris.c (cris_emit_trap_for_misalignment): Rename
22289 * config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>"): Use
22321 * config/avr/avr.c (avr_case_values_threshold): Return 7.
22349 * config/rs6000/rs6000-tables.opt: Regenerated.
22372 * config/arm/mmintrin.h (_mm_empty): New.
22383 * common/config/s390/s390-common.c (s390_option_optimization_table):
22385 * config/s390/s390.c (s390_option_override): Set a default value for
22391 * config/rs6000/rs6000.c (rs6000_generate_compare): If we are
22399 * config/rs6000/e5500.md: New file.
22400 * config/rs6000/e6500.md: New file.
22401 * config/rs6000/rs6000.c (processor_costs): Add new costs for
22411 * config/rs6000/rs6000-cpus.def: Add cpu definitions for e5500 and
22413 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add e5500 and e6500.
22414 * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce5500 and
22417 * config/rs6000/rs6000-opt.h (processor_type): Add
22419 * config.gcc (cpu_is_64bit): Add new cores e5500, e6500.
22430 * config.gcc: Select x32 run-time library if --with-abi={x32|mx32}
22463 * config/rs6000/rs6000.c (ptr_regno_for_savres): Comment.
22475 * config/i386/i386.c (ix86_sched_reorder): Skip debug insns.
22497 * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
22578 * config/m68k/m68k.md ("tablejump"): Fix check for
22600 * config/avr/avr-stdint.h: New file.
22601 * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
22678 * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
22679 * config/pa/pa.c (pa_attr_length_millicode_call): Use
22687 * config/sh/sh.opt (mfsca, mfsrra): New options.
22688 * config/sh/sh.md (rsqrtsf2): Use TARGET_FPU_ANY and TARGET_FSRRA
22694 * config/sh/sh.c (sh_option_override): Handle TARGET_FSRRA and
22701 * config/mips/4600.md (r4700_imul_si): New.
22705 * config/mips/mips-cpus.def: Add r4700.
22706 * config/mips/mips.c: Likewise.
22707 * config/mips/mips.md: Likewise.
22708 * config/mips/mips-tables.opt: Regenerate.
22712 * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Split out to
22714 * config/sparc/sparc.c (sparc_initial_elimination_offset): New
22716 * config/sparc/sparc-protos.h (sparc_initial_elimination_offset):
22763 * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Restore
22768 * config/i386/i386.c (x86_sched_reorder): New function.
22829 * config/cris/cris.c (cris_emit_trap_for_misalignment): New function.
22830 * config/cris/cris-protos.h: Declare it.
22831 * config/cris/cris.h [!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]
22837 * config/cris/cris.md: Include sync.md. Avoid allocating specific
22840 * config/cris/cris.opt (mtrap-unaligned-atomic): New option.
22841 * config/cris/sync.md: New file.
22845 * config/mips/4600.md (r4600_imul_si): Rename from r4600_imul.
22969 * config/m32r/m32r.c: Include dbxout.h.
22970 * config/pa/pa.c: Likewise.
22971 * config/rs6000/rs6000.c: Likewise.
22974 * config/rs6000/t-rs5000: Likewise.
22999 * config/avr/avr.opt (-msp8): Document it.
23035 * config/avr/t-avr: Correct avr-mmcu.texi dependencies.
23055 * config/avr/gen-avr-mmcu-texi.c: Sort MCUs.
23086 * config/cris/cris.h (CC1_SPEC): Pass through all -march=
23167 * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
23177 * config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>:
23218 * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
23226 * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
23231 * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
23239 * config/sh/sh.c (sh_option_override): Set TARGET_FMAC if
23247 * config/sh/predicates.md (atomic_arith_operand,
23249 * config/sh/sh.c (sh_option_override): Check atomic options.
23250 * config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
23254 * config/sh/sync.md: Update description comments.
23274 * config/sh/sh.opt (mhard-atomic): New option.
23286 * config/alpha/ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New.
23294 * config/arm/t-arm: Remove INTEGRATE_H dependency for target files.
23295 * config/rs6000/t-rs6000: Likewise
23296 * config/spu/t-spu-elf: Likewise.
23327 * config/frv/frv.c: Likewise.
23328 * config/pa/pa.c: Likewise.
23329 * config/spu/spu.c: Likewise.
23330 * config/epiphany/epiphany.c: Likewise.
23331 * config/mep/mep.c: Likewise.
23332 * config/score/score.c: Likewise.
23333 * config/picochip/picochip.c: Likewise.
23334 * config/sh/sh.c: Likewise.
23335 * config/alpha/alpha.c: Likewise.
23336 * config/microblaze/microblaze.c: Likewise.
23337 * config/mips/mips.c: Likewise.
23338 * config/v850/v850.c: Likewise.
23339 * config/mmix/mmix.c: Likewise.
23340 * config/bfin/bfin.c: Likewise.
23341 * config/arm/arm.c: Likewise.
23342 * config/s390/s390.c: Likewise.
23343 * config/m32r/m32r.c: Likewise.
23344 * config/rs6000/rs6000.c: Likewise.
23345 * config/c6x/c6x.c: Include function.h instead of integrate.h.
23346 * config/tilegx/tilegx.c: Likewise.
23347 * config/tilepro/tilepro.c: Likewise.
23351 * config/avr/t-avr (s-avr-mmcu-texi): Call
23388 * config/arm/arm.c (neon_expand_vector_init): Ditto.
23389 * config/i386/i386.c (ix86_expand_vector_set): Ditto.
23391 * config/ia64/ia64.c (spill_xfmode_rfmode_operand,
23393 * config/mips/mips.c (mips_expand_vi_general): Ditto.
23394 * config/mmix/mmix.md (floatdisf2, floatunsdisf2, truncdfsf2,
23396 * config/rs6000/rs6000.c (rs6000_expand_vector_init,
23399 * config/rs6000/rs6000.md (fix_trunctfsi2_fprs): Ditto.
23400 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
23443 * config/alpha/vms.h: Fix typos.
23444 * config/arm/README-interworking: Fix typos.
23445 * config/arm/arm.c: Fix typos.
23446 * config/arm/iterators.md: Fix typos.
23447 * config/arm/vxworks.h: Fix typos.
23448 * config/avr/avr.c: Fix typos.
23449 * config/avr/avr.h: Fix typos.
23450 * config/avr/avr.md: Fix typos.
23451 * config/avr/builtins.def: Fix typos.
23452 * config/c6x/c6x.c: Fix typos.
23453 * config/cr16/cr16.c: Fix typos.
23454 * config/cr16/cr16.md: Fix typos.
23455 * config/cris/cris.md: Fix typos.
23456 * config/darwin.c: Fix typos.
23457 * config/darwin.opt: Fix typos.
23458 * config/i386/i386-c.c: Fix typos.
23459 * config/i386/i386.c: Fix typos.
23460 * config/ia64/ia64.c: Fix typos.
23461 * config/m68k/cf.md: Fix typos.
23462 * config/mep/mep.c: Fix typos.
23463 * config/microblaze/microblaze.c: Fix typos.
23464 * config/microblaze/microblaze.h: Fix typos.
23465 * config/mn10300/mn10300.c: Fix typos.
23466 * config/mn10300/mn10300.md: Fix typos.
23467 * config/pa/pa.c: Fix typos.
23468 * config/picochip/picochip.h: Fix typos.
23469 * config/rs6000/a2.md: Fix typos.
23470 * config/rs6000/rs6000.c: Fix typos.
23471 * config/rs6000/vector.md: Fix typos.
23472 * config/rx/rx.md: Fix typos.
23473 * config/rx/rx.opt: Fix typos.
23474 * config/s390/2097.md: Fix typos.
23475 * config/s390/s390.c: Fix typos.
23476 * config/s390/s390.h: Fix typos.
23477 * config/sh/sh.c: Fix typos.
23478 * config/sh/sh.md: Fix typos.
23479 * config/sparc/sync.md: Fix typos.
23480 * config/spu/spu.c: Fix typos.
23481 * config/spu/spu.md: Fix typos.
23482 * config/vms/vms.c: Fix typos.
23483 * config/vxworks-dummy.h: Fix typos.
23484 * config/vxworks.h: Fix typos.
23600 * config/cris/cris.h (TARGET_HAS_BREAK, TARGET_TRAP_USING_BREAK8):
23602 * config/cris/cris.md ("trap"): Define, enabled for
23604 * config/cris/cris.opt (mtrap-using-break8): New option.
23659 * config/rs6000/t-linux64: Delete the 32-bit multilib that uses
23673 * config/i386/i386.c (ix86_print_operand) <case 'O'>: Print '.' here.
23679 * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
23687 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
23689 * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
23691 * config.in: Regenerate.
23696 * config/i386/i386.c (struct ix86_frame): Remove unused frame field.
23702 * common/config/ia64/ia64-common.c (ia64_except_unwind_info): Fix typo.
23711 * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
23728 * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
23843 * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
23844 * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
23873 * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_table_ref):
23918 * config/arm/arm-protos.h (arm_validize_comparison): Declare.
23919 * config/arm/arm.c (arm_validize_comparison): Define.
23920 * config/arm/arm.md ("cbranchsi4"): Cleanup expansion and use
23941 * config/rs6000/aix.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
23942 * config/rs6000/darwin.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
23943 * config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE,
23945 * config/rs6000/rs6000.c (V_SAVE_INLINE): Delete.
23954 * config/rs6000/rs6000.c (save_reg_p): New function.
23966 * config/rs6000/rs6000.c: Delete unnecessary forward declarations.
23987 * config/i386/i386.c (put_condition_code): Change "reverse" and "fp"
24003 * config/m68k/m68k.md (*clzsi2_cf): Renamed from clzsi2. Call
24007 * config/m68k/m68k.h: Update comment about CLZ_DEFINED_VALUE_AT_ZERO.
24027 * config/i386/i386.md (ffs<mode>2): Generate CCCmode compare
24077 * config/i386/i386.c (type_natural_mode): Warn passing SSE
24085 the inner loop outside of the outer loop.
24090 * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
24111 * config/rs6000/predicates.md (input_operand): Don't match
24116 * config/rs6000/rs6000-protos.h (toc_relative_expr_p): Update prototype.
24117 * config/rs6000/rs6000.c (tocrel_base, tocrel_offset): Make const.
24137 * config/rs6000/rs6000.md (tls_gd, tls_gd_high): Similarly avoid
24150 * config/i386/driver-i386.c (host_detect_local_cpu): Support
24156 * config/pa/pa.md (call_symref_pic): Don't expose PIC register save in
24164 for outer loops.
24207 * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
24257 * config/arm/arm-protos.h (arm_emit_coreregs_64bit_shift): New
24259 * config/arm/arm.c (arm_emit_coreregs_64bit_shift): New function.
24260 * config/arm/arm.md (ashldi3): Use arm_emit_coreregs_64bit_shift.
24324 * config/m68k/m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm, 51qm.
24325 * config/m68k/m68k-tables.opt: Regenerated.
24434 * config/rs6000/rs6000-opts.h (enum processor_type): Add
24436 * config/rs6000/rs6000-cpus.def: Reference it for cpu="8548".
24437 * config/rs6000/rs6000.md (cpu attribute definition): Add ppc8548.
24438 * config/rs6000/8540.md: indicate that the units/patterns apply to
24441 * config/rs6000/rs6000.c (rs6000_option_override_internal): Rename
24452 * config/rs6000/rs6000.h (TARGET_E500): Remove.
24454 * config/rs6000/e500.h (TARGET_E500): Remove.
24456 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove.
24458 * config/rs6000/linuxspe.h: Likewise.
24459 * config/rs6000/vxworks.h: Remove bogus TARGET_E500 overrides and
24461 * config/rs6000/e500-double.h: Remove.
24463 * config.gcc (pick a default with_cpu): For powerpc*-*-*spe*,
24487 * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
24517 * config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust calls to
24537 * config/i386/i386.c (ix86_expand_special_args_builtin): Always
24544 * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
24557 * config/i386/i386.c (ix86_expand_vec_perm_const): Move code to ...
24567 * config/i386/i386.md (xbegin_1): Use + in constraint and match_dup.
24584 * config/avr/avr.c (avr_const_address_lo16): Remove.
24640 * opt-read.awk: Record lang numbers.
24706 * config/pa/pa.md: Use define_c_enum for "unspec" and "unspecv".
24714 * config/i386/i386.md (*pushtf): Enable for TARGET_SSE.
24723 * config/i386/sse.md (<code>tf3): Enable for TARGET_SSE.
24726 * config/i386/i386.c (struct builtin_description bdesc_args)
24734 * config/i386/sse.md (<sse>_andnot<mode>3): Handle
24763 * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
24806 * opt-read.awk: Create opt_numbers array.
24830 * config/i386/driver-i386.c (host_detect_local_cpu): Support RTM.
24840 * config/mips/t-vxworks: Change MUTLILIB_EXTRA_OPTS to
24846 * config/i386/i386.md (xtest): Use NE condition in ix86_expand_setcc.
24850 * config/i386/i386.md (*movti_internal_rex64): Avoid MOVAPS size
24860 * config/i386/sse.md (mov<mode>): Handle TARGET_SSE_LOAD0_BY_PXOR.
24872 * config/ia64/ia64.md (UNSPECV_PROBE_STACK_ADDRESS): New constant.
24876 * config/ia64/ia64.c: Include common/common-target.h.
24891 * config/ia64/ia64-protos.h (output_probe_stack_range): Declare.
24892 * config/ia64/hpux.h (STACK_CHECK_STATIC_BUILTIN): Define.
24894 * config/ia64/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
24930 * config/i386/i386.md (*movoi_internal_avx): Handle
24935 * config/i386/sse.md (ssePSmode): New mode attribute.
24939 * config/i386/i386.c (standard_sse_constant_opcode): Do not handle
24950 * config/m32c/bitops.md (bset_qi): Change operand 2 from having
24962 * config/i386/i386.c: Update comments for i386-cpuinfo.c name change.
24980 * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
25003 * config/i386/i386.c (*movdf_internal_rex64): Remove
25012 * config/i386/i386.c (ix86_expand_vector_move_misalign): Do not handle
25016 * config/i386/sse.md (*mov<mode>_internal): Remove
25029 * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
25030 * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
25031 * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
25032 * config/avr/avr.c (avr_asm_declare_function_name): Remove.
25062 * config/arm/arm.h (ARM_AUTOINC_VALID_FOR_MODE_P): New.
25072 * config/arm/arm-protos.h (arm_autoinc_modes_ok_p): Declare.
25073 * config/arm/arm.c (arm_autoinc_modes_ok_p): Define.
25132 * config/mips/mips.c (mips16_gp_pseudo_reg): Remove line
25145 * config/rs6000/rs6000.c (gen_frame_set): New function.
25174 * config/sparc/linux.h (LINK_SPEC): Don't pass "-Y" option.
25175 * config/sparc/linux64.h (LINK_ARCH32_SPEC): Likewise.
25176 * config/sparc/linux64.h (LINK_ARCH64_SPEC): Likewise.
25187 * config/sh/sh.md (*branch_true, *branch_false): New insns.
25223 * config/i386/i386.c (ix86_set_reg_reg_cost): New function.
25264 * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
25282 * config/avr/avr.h (arch_info_s): New struct definition.
25283 * config/avr/avr-devices.c (avr_texinfo): New variable.
25284 * config/avr/gen-avr-mmcu-texi.c: New file.
25285 * config/avr/t-avr: New rules and dependencies to build avr-mmcu.texi.
25301 * config/i386/i386.c (has_dispatch): Use TARGET_BDVER1 and
25308 * config.in: Regenerate.
25321 * config/avr/avr.c (avr_prologue_setup_frame): Fix mode passed
25332 * config/alpha/alpha.md (clear_cache): New pattern.
25343 * config/i386/i386.md (ctz<mode>2): Emit rep;bsf
25365 * config/m68k/m68k.c (m68k_sched_branch_type): Remove.
25369 * config/m68k/m68k.h (m68k_sched_branch_type): Remove prototype.
25370 * config/m68k/m68k.md: Set the type of insns using
25375 * config/sol2.c (solaris_override_options): New function.
25376 * config/sol2-protos.h (solaris_override_options): Declare.
25377 * config/sol2.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
25388 * config/i386/i386.md (ctz<mode>2): Emit rep;bsf even for !TARGET_BMI.
25395 * config/sh/sh.c (sh_rtx_costs): Handle SET.
25400 * config/i386/i386.md (swap<mode>): Rename from *swap<mode>.
25409 * config/mips/mips.c (mips_set_reg_reg_piece_cost): New function.
25468 * config/alpha/alpha.h (EH_RETURN_HANDLER_RTX): Likewise.
25469 * config/alpha/vms.h (EH_RETURN_HANDLER_RTX): Likewise.
25470 * config/alpha/alpha.c (alpha_legitimize_address_1)
25478 * config/alpha/alpha.md: Likewise.
25480 * config/arm/arm.c (arm_trampoline_init, legitimize_pic_address)
25491 * config/arm/arm.md: Likewise.
25493 * config/avr/avr.c (avr_incoming_return_addr_rtx)
25497 * config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Likewise.
25498 * config/bfin/bfin.c (setup_incoming_varargs, bfin_load_pic_reg)
25502 * config/c6x/c6x.c (c6x_initialize_trampoline)
25505 * config/cr16/cr16.h (EH_RETURN_HANDLER_RTX): Likewise.
25506 * config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise.
25508 * config/cris/cris.c (cris_return_addr_rtx, cris_split_movdx)
25511 * config/cris/cris.md: Likewise.
25513 * config/darwin.c (machopic_indirect_data_reference)
25516 * config/epiphany/epiphany.c (epiphany_emit_save_restore)
25519 * config/epiphany/epiphany.md: Likewise.
25521 * config/fr30/fr30.c (fr30_move_double): Likewise.
25523 * config/frv/frv.c (frv_dwarf_store, frv_expand_prologue)
25528 * config/h8300/h8300.c (h8300_push_pop, h8300_return_addr_rtx)
25531 * config/i386/i386.h (RETURN_ADDR_RTX): Likewise.
25532 * config/i386/i386.c (setup_incoming_varargs_64)
25541 * config/i386/i386.md: Likewise.
25543 * config/ia64/ia64.c (ia64_expand_load_address)
25547 * config/iq2000/iq2000.c (iq2000_va_start)
25552 * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
25554 * config/m32c/m32c.c (m32c_return_addr_rtx)
25557 * config/m32r/m32r.c (m32r_setup_incoming_varargs)
25561 * config/m68k/linux.h (FINALIZE_TRAMPOLINE): Likewise.
25562 * config/m68k/m68k.h (RETURN_ADDR_RTX): Likewise.
25564 * config/m68k/m68k.c (m68k_emit_movem, m68k_expand_prologue)
25567 * config/m68k/m68k.md: Likewise.
25569 * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
25571 * config/mcore/mcore.md: Likewise.
25573 * config/mep/mep.c (mep_allocate_initial_value)
25576 * config/microblaze/microblaze.c (double_memory_operand)
25579 * config/mips/mips.c (mips_strip_unspec_address, mips_add_offset)
25584 * config/mips/mips.md: Likewise.
25586 * config/mmix/mmix.c (mmix_dynamic_chain_address, mmix_return_addr_rtx)
25589 * config/mn10300/mn10300.c (mn10300_gen_multiple_store)
25592 * config/moxie/moxie.h (INCOMING_RETURN_ADDR_RTX): Likewise.
25594 * config/moxie/moxie.c (moxie_static_chain): Likewise.
25596 * config/pa/pa.c (legitimize_pic_address, hppa_legitimize_address)
25600 * config/pa/pa.md: Likewise.
25602 * config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise.
25604 * config/picochip/picochip.c (picochip_static_chain): Likewise.
25606 * config/rs6000/rs6000.h (RS6000_SAVE_TOC): Likewise.
25607 * config/rs6000/rs6000.c (rs6000_legitimize_address)
25613 * config/rx/rx.c (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
25615 * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Likewise.
25617 * config/s390/s390.c (s390_decompose_address, legitimize_pic_address)
25622 * config/s390/s390.md: Likewise.
25624 * config/score/score.c (score_add_offset, score_prologue): Likewise.
25626 * config/sh/sh.c (expand_block_move, push_regs, sh_builtin_saveregs)
25628 * config/sh/sh.md: Likewise.
25630 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS, FRAME_ADDR_RTX)
25632 * config/sparc/sparc.c (sparc_legitimize_pic_address)
25636 * config/sparc/sparc.md: Likewise.
25638 * config/spu/spu.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
25639 * config/spu/spu.c (spu_expand_insv, spu_machine_dependent_reorg)
25643 * config/stormy16/stormy16.c (xstormy16_expand_prologue)
25646 * config/tilegx/tilegx.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
25647 * config/tilegx/tilegx.c (tilegx_setup_incoming_varargs)
25650 * config/tilepro/tilepro.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
25651 * config/tilepro/tilepro.c (tilepro_setup_incoming_varargs)
25654 * config/v850/v850.c (expand_prologue, expand_epilogue): Likewise.
25655 * config/v850/v850.md: Likewise.
25657 * config/vax/elf.h (EH_RETURN_STACKADJ_RTX): Likewise.
25659 * config/vax/vax.h (DYNAMIC_CHAIN_ADDRESS, RETURN_ADDR_RTX): Likewise.
25660 * config/vax/vax.c (vax_add_reg_cfa_offset, vax_expand_prologue)
25663 * config/xtensa/xtensa.c (xtensa_expand_prologue, xtensa_return_addr)
25675 * config/i386/i386.c (ix86_expand_int_movcc): Disallow comparison
25681 * read-md.c (fprint_md_ptr_loc, fprint_c_condition): New functions.
25683 * read-md.h (fprint_md_ptr_loc, fprint_c_condition): New prototypes.
25719 * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
25722 * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
25734 * config/s390/s390.md (*movmem_short, *clrmem_short)
25827 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
25834 * config/rs6000/rs6000.md (bswapdi splitters): If
25887 * config/i386/i386.c (ix86_code_end): Set DECL_IGNORED_P on the
25980 * config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Remove.
26016 * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
26020 * config/i386/i386-c.c (ix86_target_macros_internal): Don't
26035 * config/i386/driver-i386.c (host_detect_local_cpu): Reset
26041 * config/i386/driver-i386.c (host_detect_local_cpu): Add space to
26053 * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): For pic code,
26060 * common/config/s390/s390-common.c (s390_option_optimization_table):
26330 * config/i386/cpuid.h (bit_HLE): New.
26331 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
26333 * config/i386/i386-protos.h (ix86_generate_hle_prefix): New.
26334 * config/i386/i386-c.c (ix86_target_macros_internal): Set HLE defines.
26337 * config/i386/i386.c (ix86_target_string) <OPTION_MASK_ISA_HLE>: New.
26344 * config/i386/i386.h (OPTION_ISA_HLE): Ditto.
26347 * config/i386/i386.h (ix86_generate_hle_prefix): Ditto.
26348 * config/i386/i386.opt (mhle): Ditto.
26349 * config/i386/sync.md(atomic_compare_and_swap<mode>): Pass
26362 * config.in: Ditto.
26488 * config/arm/arm-protos.h (thumb_unexpanded_epilogue): Rename to...
26490 * config/arm/arm.c (thumb_unexpanded_epilogue): Rename to...
26492 * config/arm/arm.md (thumb_unexpanded_epilogue): Rename to...
26503 * config/rs6000/rs6000.c (load_lr_save, restore_saved_lr,
26535 * config/i386/i386.md (*umul<mode><dwi>3_1): Switch places of
26641 * config/i386/i386.md (and<mode>3): Change runtime operand mode checks
26647 * config/arm/arm.md (UNSPEC_LL): New.
26648 * config/arm/sync.md (atomic_loaddi, atomic_loaddi_1): New.
26659 * config/arm/arm.md (negdi2): Use gen_negdi2_neon.
26660 * config/arm/neon.md (negdi2_neon): New insn.
26665 * config/arm/arm.c (neon_valid_immediate): Allow const_int.
26667 * config/arm/constraints.md (Dn): Allow const_int.
26668 * config/arm/neon.md (neon_mov<mode>): Use VDX to allow DImode.
26670 * config/arm/predicates.md (imm_for_neon_mov_operand): Allow const_int.
26671 * config/arm/vfp.md (movdi_vfp): Disable for const_int when neon
26679 * config/arm/arm-protos.h (ldm_stm_operation_p): New declaration.
26680 * config/arm/arm.c (ldm_stm_operation_p): New function.
26681 * config/arm/predicates.md (load_multiple_operation): Update predicate.
26684 * config/arm/arm-protos.h (ldm_stm_operation_p): New parameters.
26685 * config/arm/arm.c (ldm_stm_operation_p): New parameters.
26686 * config/arm/predicates.md (load_multiple_operation): Add arguments.
26691 * config/i386/i386.md (and<mode>3): Expand masking operations with
26743 * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
26763 * config/cris/cris.md (andqu): New peephole2.
26781 * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
26804 * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
26956 * config/m68k/m68k.c (m68k_sched_variable_issue): Likewise.
26974 * config/sparc/niagara4.md: New file.
26975 * config/sparc/sparc.md: Include it.
26976 * config/sparc/sparc.c (niagara4_costs): New processor costs.
26981 * config/sparc/sparc.md (attr type): Delete 'fgm_cmp'.
26993 * config/sparc/ultra1_2.md: Remove refrences to fgm_cmp.
26994 * config/sparc/niagara.md: Likewise.
26995 * config/sparc/niagara2.md: Likewise.
26996 * config/sparc/ultra3.md: Likewise, and fix type matching for
27013 * config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.
27021 * config/i386/i386.c (fold_builtin_cpu): Add avx2.
27026 * config/cris/cris.md ("*andhi_lowpart_v32")
27036 * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
27052 * config/vxworks.c (vxworks_override_options): Don't
27055 * config/darwin.c (darwin_override_options): Default to
27149 * config/rs6000/rs6000 (SAVE_INLINE_VRS, REST_INLINE_VRS,
27175 * config/rs6000/rs6000.h (FIRST_SAVED_GP_REGNO): Take into account
27177 * config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Simplify.
27179 * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*): New insns.
27183 * config/rs6000/rs6000.c (rs6000_savres_strategy): Allow
27192 * config/rs6000/rs6000.c (START_USE, END_USE, NOT_INUSE): Define.
27197 * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Delete forward
27223 * config/rs6000/rs6000.c (rs6000_frame_related): Don't emit a
27233 * config/i386/i386.c (build_processor_model_struct): New function.
27245 * config/i386/i386-builtin-types.def: New function type.
27252 * config/vxworks.c (vxworks_override_options): Default to strict-dwarf
27271 * config.gcc (mips64*-*-linux*): Append mips/linux-common.h to tm_file.
27273 * config/mips/gnu-user.h
27281 * config/mips/gnu-user64.h (LIB_SPEC): Remove.
27284 * config/mips/linux-common.h: New file.
27289 * config/rs6000/rs6000-c.c (fully_fold_convert): New function.
27295 * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
27348 * config/s390/s390.c (insn_invalid_p): Likewise.
27362 * config/s390/s390.h (LINK_SPEC): Remove, no longer needed.
27373 * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
27724 * config/rs6000/rs6000.c (rs6000_emit_savres_rtx): Formatting.
27741 * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
27760 * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
27807 * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
27812 * config/arm/sync.md (sync_optab): Change ior attribute to "or".
27869 * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
27993 * config/i386/linux-common.h: New.
27995 * config.gcc: Add i386/linux-common.h before
27998 * config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): New.
28000 * config/i386/gnu-user64.h: Likewise.
28002 * config/i386/gnu-user.common.h (GNU_USER_TARGET_CC1_SPEC): New.
28062 * config/i386/sync.md (atomic_<code><mode>): Rename to
28081 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Remove DImode.
28185 * config/arm/arm.c (arm_print_operand): Fix invalid alignment
28318 * config/i386/sse.md (ssse3_plusminus): New code iterator.
28450 * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
28461 * config.gcc: Add i386/gnu-user-common.h before all
28464 * config/i386/gnu-user-common.h: New.
28466 * config/i386/gnu-user.h (CPP_SPEC): Moved to gnu-user-common.h.
28478 * config/i386/gnu-user64.h: Likewise.
28546 * config/rl78/rl78.c (rl78_devirt_pass): Remove use of
28571 * config/arm/constraints.md (Pe): New constraint.
28572 * config/arm/arm.md: New split for imm 256-510.
28576 * config/arm/arm-cores.def: Added core cortex-m0plus.
28577 * config/arm/arm-tune.md: Regenerated.
28578 * config/arm/arm-tables.opt: Regenerated.
28584 * config/rs6000/rs6000.c (rs6000_emit_stack_tie): Rewrite with
28591 * config/rs6000/predicates.md (tie_operand): New.
28592 * config/rs6000/rs6000.md (restore_stack_block): Generate new
28606 * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
28608 * config/i386/sse.md (UNSPEC_VPERMVAR): New.
28613 * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
28622 * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
28741 * config/sh/sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
28742 * config/sh/sh.c (INSN_REGMODE_WEIGHT, CURR_REGMODE_PRESSURE):
28753 * config/m68k/m68k.md (rotrhi3+1): Name it rotrhi_lowpart.
28758 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Defined to
28784 * config/i386/i386.c (ix86_option_override_internal): Check
28790 * config/sh/sh.h: Remove old secondary reload code.
28794 * config/sh/sh.c (SCHED_REORDER): Merge macro into ...
28805 * config/c6x/c6x.md (load_got_gotoff): Set op_pattern attribute to
28823 * config/rl78/rl78.c (rl78_expand_prologue): Set stack use
28826 * config/rx/rx.c (rx_expand_prologue): Likewise.
28836 * config/rs6000/rs6000.c (rs6000_generate_compare): Use it.
28844 * config/sh/sh-protos.h (sh_legitimate_index_p): Add new arguments
28846 * config/sh/sh.c (sh_legitimate_index_p): Likewise.
28856 * config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12,
28858 * config/sh/constraints.md (K05, K13): New constraints.
28862 * config/sh/sh.md (extendhisi2): Remove constraints from expander.
28876 * config/sh/sh.h (SIDI_OFF): Remove.
28877 * config/sh/sh.md: Use gen_highpart and gen_lowpart to access
28901 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_BSWAP_HI): Delete.
28902 * config/rs6000/rs6000.c (rs6000_expand_builtin): Remove handling of
28905 * config/rs6000/rs6000.md (bswaphi2): Add TARGET_POWERPC predicate.
29052 * config/pa/pa.opt: Remove SIO and GNU_LD.
29069 * config/i386/predicates.md (x86_64_zext_general_operand): Prevent
29071 * config/i386/constraints.md (Wz): New constraint.
29072 * config/i386/i386.md (*zero_extendsidi2_rex64): Use Wz instead of Z.
29077 * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
29082 * config/sh/constraints.md: Update list of constraints in
29092 * config/sh/sh.md: Use braced string notation where applicable.
29098 * config/sh/sh.h (high_life_started): Remove
29099 * config/sh/predicates.md (general_movdst_operand): Use
29101 * config/sh/sh.md (divsi_inv_call, *divsi_inv_call_combine,
29106 * config/sh/sh-protos.h (prepare_move_operands): Return void
29108 * config/sh/sh.c (prepare_move_operands): Likewise.
29109 * config/sh/sh.md: Remove return value checks of prepare_move_operands.
29113 * config/sh/sh-protos.h (fp_int_operand, symbol_ref_operand,
29134 * config/sh/sh.c (hi_const): Remove.
29140 * config/sh/sh-protos.h (sh_expand_t_scc): Change return type from int
29142 * config/sh/sh.c (sh_expand_t_scc): Likewise.
29143 * config/sh/sh.md (cstoresi4, cstoredi4): Remove GET_CODE checks before
29148 * config/sh/sh-protos.h (fp_zero_operand, fp_one_operand,
29157 * config/sh/sh.c (broken_move, mova_p, noncall_uses_reg, high_pressure,
29175 * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
29181 * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_LCP_STALL.
29182 * config/i386/i386.md (move immediate to memory peephole2):
29184 * config/i386/i386.c (initial_ix86_tune_features): Initialize
29190 * config/i386/i386.c (ix86_decompose_address): Allow VOIDmode
29196 * config/sh/sh.c (sh_find_mov_disp_adjust): Take machine_mode as the
29208 * config/arm/arm.md (arch): Add neon_onlya8 and neon_nota8.
29285 * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
29333 * config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle
29354 * config.gcc: Use i386/biarchx32.h instead of i386/biarch64.h
29358 * config/i386/biarchx32.h: New.
29362 * config/arm/arm.h (PREFERRED_RELOAD_CLASS): Remove.
29363 * config/arm/arm.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
29410 * config/i386/i386.c (ix86_option_override_internal): Don't
29422 * config/sh/sh.c (push_regs): Skip banked registers when
29436 * config/i386/i386.c (struct expand_vec_perm_d): Add one_operand_p.
29462 * config/vms/vms-f.c: New file.
29463 * config/vms/t-vms (vms-f.o): New rule.
29464 * config.gcc (*-*-*vms*): Define fortran_target_objs.
29481 * config/ia64/ia64.c (ia64_section_type_flags): Remove
29489 * config/ia64/vms.h (TARGET_ASM_NAMED_SECTION): Remove.
29532 * config/vms/vms.c (VMS_CRTL_FLOAT32): Rename.
29538 * config/vms/vms-crtlmap.map: Completed using nm on
29540 * config/vms/make-crtlmap.awk: Handle any number of flags.
29549 * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
29587 * config/linux-android.h (ANDROID_STARTFILE_SPEC): Use
29612 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Add
29614 * config/i386/gnu-user64.h (SPEC_64): Support TARGET_BI_ARCH == 2.
29617 * config/i386/i386.c (isa_opts): Remove -m64.
29622 * config/i386/i386.h (TARGET_X32): Replace OPTION_ISA_X32
29625 * config/i386/i386.opt (m64): Replace ISA_64BIT with ABI_64.
29634 * config/i386/i386.c (ix86_modes_tieable_p): Handle 32bit AVX modes.
29709 * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
29719 * config.gcc (tm_file): Remove avr/multilib.h.
29723 * config/avr/genmultilib.awk: Remove code to generate multilib.h.
29725 * config/avr/t-avr: Remove generation of multilib.h.
29726 * config/avr/t-multilib: Regenerate.
29727 * config/avr/multilib.h: Remove.
29728 * config/avr/avr.opt (-msp8): New option.
29730 * config/avr/driver-avr.c (avr_device_to_sp8): New function.
29731 * config/avr/avr.h (AVR_HAVE_SPH): New define.
29736 * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
29738 * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
29745 * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
29757 * config/sh/sh.c (sh_legitimize_address, sh_legitimize_reload_address):
29764 * config/arm/arm.opt (mapcs): Remove MaskExists.
29765 * config/cris/linux.opt (mno-gotplt): Likewise.
29766 * config/i386/i386.opt (mhard-float): Likewise.
29769 * config/m68k/m68k.opt (mhard-float): Likewise.
29770 * config/mep/mep.op (mcop32): Likewise.
29771 * config/pa/pa-hpux.opt (msio): Likewise.
29772 * config/pa/pa64-hpux.opt (mgnu-ld): Likewise.
29773 * config/picochip/picochip.opt (mlittle): Likewise.
29774 * config/sh/sh.opt (mrenesas): Likewise.
29775 * config/sparc/long-double-switch.opt (mlong-double-128): Likewise.
29776 * config/sparc/sparc.opt (mhard-float): Likewise.
29777 * config/v850/v850.opt (mv850es): Likewise.
29778 * config/vax/vax.opt (mg-float): Likewise.
29790 * config/i386/i386-protos.h (ix86_legitimize_reload_address):
29792 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
29793 * config/i386/i386.c: Include reload.h.
29807 * config/sh/sh.c (find_barrier): Add equality check of last_got
29825 * config/ia64/vms.h (CASE_VECTOR_MODE): Define.
29826 * config/ia64/ia64.md: Remove mode in template.
29828 * config/ia64/ia64.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use
29877 * config/alpha/vms.h (LINK_SPEC): Simplify.
29881 * config/ia64/vms.h: Likewise.
29882 * config/alpha/alpha.c (alpha_start_function): Move vms_debug_main
29884 * config/ia64/ia64.c (ia64_start_function): Likewise.
29885 * config/vms/vms-protos.h (vms_start_function): Declare.
29886 * config/vms/vms.c (vms_start_function): New function.
29887 * config/vms/vms.h (MATH_LIBRARY): Define.
29914 * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
29919 * config/sparc/sparc.c (sparc_handle_vis_mul8x16): Fix pasto.
29939 * config/mips/mips-tables.opt: Update.
29940 * config/mips/mips.md (processor): Add xlp.
29941 * config/mips/mips-cpus.def: Add xlp.
29942 * config/mips/mips.c (mips_rtx_cost_data): Add costs for XLP, copy from
29944 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle xlp.
29956 * config/alpha/alpha.h (ASM_OUTPUT_ALIGN): Move to config/alpha/elf.h
29957 (ASM_OUTPUT_SKIP): Move to config/alpha/vms.h
29960 * config/alpha/elf.h (ASM_OUTPUT_DEF_FROM_DECLS): Use ASM_OUTPUT_DEF.
29961 * config/alpha/vms.h (ASM_OUTPUT_ALIGN): Do not undefine before define.
29981 * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
30012 * config.gcc (alpha*-*-linux*): Add elfos.h to tm_file.
30016 * config/alpha/elf.h (OBJECT_FORMAT_ELF): Remove.
30051 * config/alpha/alpha.h (PCC_BITFIELD_TYPE_MATTERS): Undefine
30079 * config/sh/sh-protos.h (sh_fsca_df2int): Remove.
30080 * config/sh/sh.c (sh_fsca_df2int_rtx, sh_fsca_df2int): Remove.
30081 * config/sh/sh.md (sindf2, cosdf2): Remove.
30086 * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
30095 * config.gcc: Add bits to support powerpc64-*-freebsd*.
30096 * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
30097 * config/rs6000/freebsd64.h: New file.
30098 * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
30103 * config/rs6000/t-freebsd64: New file.
30104 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
30107 * config/rs6000/freebsd64.h: Remove duplicated entries from last
30109 * config/rs6000/t-freebsd64: Likewise.
30115 * config/avr/avr-protos.h (avr_load_lpm): New prototype.
30116 * config/avr/avr.c (avr_mode_dependent_address_p): New function.
30124 * config/avr/avr.md (unspec): Add UNSPEC_LPM.
30136 * config/arm/neon.ml (Fixed_return_reg): Renamed to fixed_vector_reg.
30145 * config/arm/arm.c (thumb2_reorg): Add complete support
30147 * config/arm/thumb2.md: Delete obsolete flag-clobbering peepholes.
30188 * config/i386/i386.c (expand_vec_perm_vperm2f128): New function.
30191 * config/i386/i386.c (vselect_insn): New variable.
30202 * config/i386/i386.md ("isa" attribute): Add avx2 and noavx2.
30204 * config/i386/sse.md (avx2_vec_dupv8sf_1, avx2_pbroadcast<mode>_1):
30210 * config/i386/i386.c (expand_vec_perm_pshufb): Emit also vpermps
30224 * config/i386/i386.c (ix86_decompose_address) <case ZERO_EXTEND>:
30267 * config/vms/vms.h (SIZE_TYPE): Define as "unsigned int".
30272 * config/sh/sh.md: Use braced string notation where applicable.
30276 * config/i386/i386.md (allocate_stack): Simplify.
30286 * config/i386/i386.c (ix86_expand_movmem): Ditto.
30289 * config/i386/i386.md (cmpstrnsi): Ditto.
30293 * config/sh/sh.opt (madjust-unroll): Mark as ignored/obsolete.
30294 * config/sh/sh.h (TARGET_OPT_DEFAULT): Don't use MASK_ADJUST_UNROLL.
30300 * config/i386/i386.c (get_thread_pointer): Add tp_mode argument.
30309 * config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
30310 * config/i386/i386.c (ix86_decompose_address): Use
30318 * config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg)
30322 * config/i386/i386.md (UNSPEC_TLS_IE_X32): New.
30328 * config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12, DISP_ADDR_P,
30330 * config/sh/sh.c (sh_address_cost): Add SH2A special case.
30336 * config/sh/predicates.md (movsrc_no_disp_mem_operand): New predicate.
30337 * config/sh/constraints.md (K04, Snd, Sdd): New constraints.
30338 * config/sh/sh.md (extendqisi2): Remove constraints from expander.
30366 * config/i386/i386.c (ix86_expand_prologue) <CM_LARGE_PIC>: Use Pmode
30375 * config/i386/i386.md: Remove empty predicates and/or constraints.
30376 * config/i386/sync.md: Ditto.
30377 * config/i386/sse.md: Ditto.
30378 * config/i386/mmx.md: Ditto.
30379 * config/i386/pentium.md: Ditto.
30380 * config/i386/athlon.md: Ditto.
30437 * config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
30439 * config/vms/vms-protos.h: Declare vms_c_get_crtl_ver
30441 * config/vms/vms-c.c (vms_c_get_crtl_ver, vms_c_get_vms_ver): New
30443 * config/alpha/vms.h (VMS_DEFAULT_CRTL_VER)
30445 * config/ia64/vms.h (VMS_DEFAULT_CRTL_VER)
30496 * config/i386/i386.c (ix86_expand_builtin): Adjust.
30497 * config/sparc/sparc.c (sparc_handle_vis_mul8x16): Adjust interface
30503 * config.gcc (*-*-*vms*): Define use_gcc_stdint and tm_file.
30504 * config/vms/vms-stdint.h: New file.
30508 * config.host (alpha64-dec-*vms*, alpha*-dec-*vms*)
30515 * config/i386/i386.c (expand_vec_perm_vperm2f128_vblend): New function.
30519 * config/i386/sse.md (UNSPEC_VPERMDF): Remove.
30589 * config.gcc (target_type_format_char): New. Document it. Set it for
30627 * config/i386/i386-opts.h (pmode): New.
30628 * config/i386/i386.c (ix86_option_override_internal): Properly
30630 * config/i386/i386.h (Pmode): Check ix86_pmode instead of TARGET_64BIT.
30631 * config/i386/i386.opt (maddress-mode=): New.
30657 * config/alpha/alpha.c [HAVE_STAMP_H]: Remove.
30660 * config/alpha/elf.h (TARGET_GAS): Remove.
30661 * config/alpha/freebsd.h (TARGET_DEFAULT): Remove.
30662 * config/alpha/linux.h (TARGET_DEFAULT): Remove.
30663 * config/alpha/netbsd.h (TARGET_DEFAULT): Remove.
30664 * config/alpha/vms.h (TARGET_DEFAULT): Remove.
30665 * config.gcc (alpha*-*-linux*): Remove target_cpu_default.
30670 * config/alpha/alpha.c (alpha_output_filename): Remove !TARGET_GAS
30672 * config/alpha/alpha.h (TARGET_AS_CAN_SUBTRACT_LABELS): Remove.
30674 * config/alpha/alpha.c (print_operand): Always assume
30676 * config/alpha/alpha.md ("*builtin_setjmp_receiver_er_sl_1"):
30679 * config/alpha/alpha.opt (malpha-as): Remove.
30685 * config/alpha/alpha.h (OBJECT_FORMAT_COFF): Remove.
30687 * config/alpha/elf.h (OBJECT_FORMAT_COFF): Don't undef.
30689 * config/alpha/alpha.c (alpha_file_start): Always assume
30695 * config/alpha/alpha.h (SDB_DEBUGGING_INFO): Remove.
30717 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Don't undef.
30720 * config/alpha/vms.h (SDB_DEBUGGING_INFO): Don't undef.
30723 * config/alpha/freebsd.h (DBX_CONTIN_CHAR): Remove.
30724 * config/alpha/alpha.c (alpha_option_override): Remove SDB_DEBUG
30733 * config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
30742 * config.in: Regenerate.
30744 * config/sol2.h (LINK_SPEC): Remove LIB_THREAD_LDFLAGS_SPEC.
30745 * config/i386/sol2.h: Remove Solaris 8 references.
30755 * config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
30757 * config.host (mips-sgi-irix*): Remove.
30763 * config/mips/iris6.h: Remove.
30764 * config/mips/iris6.opt: Remove.
30765 * config/mips/t-irix6: Remove.
30767 * config/mips/mips.h (TARGET_GPWORD): Remove IRIX 6 N64 handling.
30771 * config/mips/mips.c (mips_build_builtin_va_list): Remove IRIX 6
30774 * config/mips/mips-protos.h (irix_asm_output_align): Remove.
30776 * config/mips/driver-native.c [__sgi__]: Remove.
30779 * config/mips/gnu-user.h: Remove iris5.h reference.
30781 * config/mips/mips-modes.def: Remove IRIX 6 reference.
30782 * config/mips/gnu-user64.h (MIPS_TFMODE_FORMAT): Remove.
30783 * config/mips/mips.c (mips_option_override) [MIPS_TFMODE_FORMAT]:
30874 * config/i386/predicates.md (constant_call_address_operand): Declare
30883 * config/i386/smmintrin.h: Avoid /* within a comment.
30884 * config/i386/nmmintrin.h: Likewise.
30888 * config/i386/i386.md (xbegin): Remove constraint from expander.
30892 * config/i386/predicates.md (constant_call_address_operand): Declare
30894 * config/i386/i386.md: Remove mode from constant_call_address_operand
30896 * config/i386/i386.c (ix86_output_call_insn): Call
30901 * config/i386/i386.c (ix86_decompose_address): Handle subregs of
30906 * config/i386/predicates.md (tls_symbolic_operand): Declare as
30909 * config/i386/i386.md: Remove mode from tls_symbolic_operand and
30926 * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
30932 * config/arm/neon.ml (ops): Fixup expected instructions for
30937 * config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
30942 * config/microblaze/microblaze.md: Fix typo.
30948 * config.gcc (extra_passes): Remove.
30959 * config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
30960 * config/i386/i386.c (ix86_decompose_address): Use
30967 * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Remove :P
30980 * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
30982 * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
30994 * config/avr/avr.c (avr_out_movmem): Fix typo in output template
31000 * config/i386/i386.c (ix86_gen_tls_global_dynamic_64): New.
31006 * config/i386/i386.md (*tls_global_dynamic_64): Renamed to ...
31017 * config/i386/i386.c (ix86_option_override_internal): Properly
31022 * config/i386/sse.md (sse3_monitor64): Renamed to ...
31027 * config/ia64/ia64.c (ia64_function_arg_1): Move code around.
31032 * config.gcc (mips*-*-openbsd*): Remove.
31033 * config/mips/openbsd.h: Remove.
31034 * config/mips/sdb.h: Remove.
31036 * config/mips/mips.h (SDB_OUTPUT_SOURCE_LINE): Remove.
31037 * config/mips/mips.c (sdb_label_count): Remove.
31040 * config/mips/sde.h (SDB_DEBUGGING_INFO): Don't undef.
31056 * config.gcc (alpha*-dec-osf5.1*): Remove.
31057 * config.host (alpha*-dec-osf*): Remove.
31062 * config/alpha/host-osf.c, config/alpha/osf5.h, config/alpha/osf5.opt,
31063 config/alpha/va_list.h, config/alpha/x-osf: Remove.
31065 * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Remove.
31066 * config/alpha/alpha.c (struct machine_function): Update comment.
31069 * config/alpha/alpha.md ("exception_receiver"): Remove
31093 * config/arm/arm.c (neon_dereference_pointer): Do not call
31103 * config/alpha/alpha.c (alpha_gimplify_va_arg): Use
31117 * config/vms/vms.opt: Add vms-opts.h header.
31123 * config/vms/vms-opts.h: New file.
31124 * config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
31129 * config/vms/vms.c (vms_patch_builtins): Adjust condition.
31130 * config/vms/vms-protos.h (vms_c_common_override_options):
31132 * config/vms/vms-c.c (vms_pragma_pointer_size): Ignore pragma
31135 * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
31136 * config/alpha/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
31140 * config.gcc (*-*-*vms*): Define xm_file.
31171 * common/config/i386/i386-common.c (OPTION_MASK_ISA_RTM_SET): New.
31174 * config.gcc (i[34567]86-*-*): Add rtmintrin.h and
31178 * config/i386/i386-c.c (ix86_target_macros_internal): Define
31191 * config/i386/i386.h (TARGET_RTM): New.
31192 * config/i386/i386.md (UNSPECV_XBEGIN): New.
31202 * config/i386/i386.opt (mrtm): New.
31203 * config/i386/immintrin.h: Include rtmintrin.h and xtestintrin.h.
31204 * config/i386/rtmintrin.h: New header.
31205 * config/i386/xtestintrin.h: Ditto.
31214 * config/i386/i386.md (setcc + movzbl to xor + setcc peephole2):
31228 * config/i386/i386.c (ix86_expand_movmem): Use word_mode for size
31234 * config/i386/i386.c (ix86_zero_extend_to_Pmode): Rewrite using
31239 * config/i386/i386.c (ix86_trampoline_init): Use movl for 64bit if
31244 * config/i386/i386.c (x86_this_parameter): Replace DImode with Pmode.
31248 * config/i386/i386.md (lwp_slwpcb): Check Pmode instead of
31254 * config/i386/predicates.md (call_insn_operand): Allow
31257 * config/i386/i386.md (*call): Use W mode iterator instead of P mode.
31269 * config/i386/i386.c (ix86_expand_call): Convert indirect operands
31275 * config/sh/sh.md (movnegt): Expand into respective insns immediately.
31282 * config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg)
31286 * config/i386/i386.md (UNSPEC_TLS_IE_X32): New.
31307 * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
31310 * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
31324 * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
31328 * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
31338 * config/vms/vms-crtlmap.map: Add comments.
31353 * config/vms/vms-c.c: Include c-tree.h
31362 * config/vms/vms-c.c (vms_construct_include_filename): New function.
31388 * config/bfin/bfin.c (hwloop_optimize): Fix unused variable warnings.
31395 * config/i386/i386.c (setup_incoming_varargs_64): Use word_mode
31411 * config/i386/i386.md (W): New.
31419 * config/i386/predicates.md (indirect_branch_operand): Simplify.
31423 * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
31432 * config/i386/i386.c (ix86_print_operand_address): Only handle
31443 * config/avr/avr.c (avr_mem_clobber): New static function.
31446 * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
31463 * config/sh/sh.opt (msoft-atomic): Use Var instead of Mask.
31464 * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_SOFT_ATOMIC.
31469 * config/i386/predicates.md (x86_64_zext_general_operand): New.
31470 * config/i386/i386.md (*zero_extendsidi2_rex64): Change operand 1
31475 * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
31479 * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
31491 * config/i386/i386.c (ix86_print_operand_punct_valid_p): Add '^'.
31493 * config/i386/i386.md (*strmovdi_rex_1): Macroize memory operands
31510 * config/i386/i386.c (function_value_64): Return pointers in
31536 * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
31569 * config/avr/avr.c (expand_epilogue): Fix order of restoration
31571 (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
31576 * config/avr/avr.c (avr_out_xload): Don't read unintentionally
31578 * config/avr/avr.md (xload_8): Adjust insn length.
31583 * config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
31602 * config/i386/winnt.c (i386_pe_unique_section): Ignore
31605 * config/i386/cygming.opt (fwritable-relocated-rdata):
31626 * config/m68k/m68k.h (ISA_HAS_TAS): New.
31627 * config/m68k/sync.md (atomic_test_and_set): Use it.
31633 * config/rs6000/vector.md (vector_uneq<mode>): Add support for
31638 * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
31659 * config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle octaword.
31672 * config/vms/vms.c (VMS_CRTL_LDBL): Rename from VMS_CRTL_PRNTF.
31673 * config/vms/vms-crtlmap.map: Rename PRNTF to LDBL.
31677 * config/vms/t-vmsnative (version): Define.
31678 * config/vms/t-vms (STMP_FIXPROTO, STMP_FIXINC, version): Remove.
31691 * config/sh/sh.c (sh_expand_t_scc): Remove SH2A special case
31693 * config/sh/sh.md (xorsi3_movrt): Rename to movrt. Move
31709 * config/sh/sync.md (atomic_test_and_set): Reference
31715 * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
31722 * config/mep/mep.c (mep_init_builtins): Use it.
31723 * config/rs6000/rs6000.c (rs6000_init_builtins): Use it.
31752 * config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Move...
31753 * config/sh/sh.c: ... here.
31758 * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
31768 * config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
31769 * config/sh/sync.md (atomic_test_and_set): New expander.
31771 * config/sh/sh.opt (menable-tas): New option.
31834 * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
31838 * config/i386/i386.c (pro_epilogue_adjust_stack): Check Pmode
31843 * config/i386/i386.c (ix86_expand_prologue): Check Pmode to set
31848 * config/i386/i386.c (ix86_print_operand_address): Only handle
31853 * config/i386/i386.c (ix86_print_operand) <case '+'>: Declare
31858 * config/i386/constraints.md (Ya): New internal constraint.
31859 * config/i386/i386.md (zero_extendsidi2): Remove expansion.
31893 * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
31897 * config/sh/sh.c (sh_dwarf_register_span): Don't apply
31902 * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
31917 * config/sh/sh.c (sh_register_move_cost): Increase cost between
31923 * config/sh/sh.md (negdi2): Add TARGET_SH1 condition.
31929 * config/sh/sync.md (atomic_exchange<mode>): New expander.
31934 * config/sh/sync.md: Update copyright notice dates.
31942 * config/sh/sh.h (LOOP_ALIGN): Move logic to sh_loop_align.
31943 * config/sh/sh.c: Update copyright notice dates.
31970 * config/rs6000/dfp.md (floatdidd2): New define_insn.
31974 * config/i386/i386.c (ix86_cc_modes_compatible): Declare CCZmode
31979 * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
31983 * config/arm/arm.c (arm_sat_operator_match): New function.
31984 * config/arm/arm-protos.h (arm_sat_operator_match): Add prototype.
31985 * config/arm/arm.md ("insn" attribute): Add "sat" value.
31990 * config/arm/arm-fixed.md ("arm_ssatsihi_shift"): Add "insn"
31993 * config/arm/predicates.md (sat_shift_operator): Allow multiplication
31999 * config/i386/i386.c (construct_container): Use gen_reg_or_parallel
32016 (compute_affine_dependence): Make dumps easier to read and
32024 * config/arm/arm-ldmstm.ml (write_ldm_commutative_peephole):
32027 * config/arm/ldmstm.md: Regenerated.
32035 * config.gcc (obsolete): Add all ARM targets using the FPA.
32041 * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
32051 * config/sh/sh-protos.h: Update copyright notice dates.
32052 * config/sh/sh.h: Likewise.
32053 * config/sh/sh.md: Likewise.
32054 * config/sh/constraints.md: Likewise.
32055 * config/sh/predicates.md: Likewise.
32059 * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
32060 * config/sh/sh.c (tertiary_reload_operand): Likewise.
32064 * config/sh/constraints.md: Fix comment typo.
32069 * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
32075 * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
32093 * config/mn10300/mn10300-modes.def: Fix copyright notice.
32094 * config/v850/v850-modes.def: Fix copyright notice.
32101 * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
32102 * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
32104 * config/avr/avr.c (avr_init_builtins): Add local variables:
32128 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
32141 * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
32173 * config/avr/avr.c: Move definition of TARGET macros to end of file.
32177 * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
32178 * config/avr/avr.c (avr_output_bld): Remove unused function.
32183 * config/avr/avr.md: Untabify.
32187 * config/avr/avr.md (eqne): New code iterator.
32195 * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
32219 STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing outer loops.
32247 * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
32249 * config/arm/arm_neon.h: Regenerate.
32250 * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
32253 * config/arm/neon.ml (s_8_32, u_8_32): New lists.
32259 * config/i386/i386.c (ix86_expand_vector_set): Fix element
32266 * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
32281 * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
32298 * config/avr/builtins.def: New file.
32299 * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
32300 * config/avr/avr.c (enum avr_builtin_id): Use it.
32315 * config/avr/avr.md (movmem_<mode>): Replace match_operand that
32318 * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
32329 * config/avr/avr.h (base_arch_s): Remove field n_segments.
32331 * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
32334 * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
32335 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
32337 * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
32352 * config/i386/i386.md (*movabs<mode>_1): Enable only for TARGET_LP64.
32358 * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
32372 * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
32378 * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
32380 * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
32384 * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
32388 * config/sh/predicates.md: Remove blank lines.
32389 * config/sh/sh.c: Fix typos in comments.
32390 * config/sh/constraints.md: Likewise.
32391 * config/sh/sh.md: Remove blank lines.
32396 * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
32419 * config/i386/i386.c (ix86_delegitimize_address): Handle
32425 * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
32483 * config/avr/avr.md (code_stdname): Add ior, xor.
32499 * config.in: Regenerate.
32501 * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
32507 * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
32513 * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
32518 * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
32519 * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
32542 * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
32544 * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
32562 * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
32566 * config/avr/avr.md
32572 * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
32574 * config/avr/avr.h: ...here.
32587 * config/i386/bdver1.md (bdver1_call, bdver1_push,
32632 * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
32650 * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
32666 * config/vms/vms-ld.c (main): Fix IDENTIFICATION padding.
32670 * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
32690 outer loops.
32721 * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
32729 * config/mips/mips.c (mips16_build_call_stub): Add CFI information
32754 * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
32755 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
32765 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
32785 * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
32805 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
32818 * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
32821 * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
32829 * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
32836 * config/avr/predicates.md (io_address_operand): Take into
32840 * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
32842 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
32850 * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
32866 * config/avr/multilib.h: Regenerate.
32867 * config/avr/t-multilib: Regenerate.
32868 * config/avr/avr-tables.opt: Regenerate.
32883 * config/avr/avr.md (map_bitsqi, map_bitshi): Remove.
32889 * config/avr/constraints.md (Cxf,C0f): New.
32890 * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in
32893 * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define.
32917 * config/c6x/c6x.md (reserve_cycles): New attribute.
32918 * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate
32967 * config.gcc: Handle tilegx and tilepro.
32983 * common/config/tilegx/tilegx-common.c: New file.
32984 * common/config/tilepro/tilepro-common.c: New file.
32985 * config/tilegx/constraints.md: New file.
32986 * config/tilegx/linux.h: New file.
32987 * config/tilegx/mul-tables.c: New file.
32988 * config/tilegx/predicates.md: New file.
32989 * config/tilegx/sync.md: New file.
32990 * config/tilegx/t-tilegx: New file.
32991 * config/tilegx/tilegx-builtins.h: New file.
32992 * config/tilegx/tilegx-c.c: New file.
32993 * config/tilegx/tilegx-generic.md: New file.
32994 * config/tilegx/tilegx-modes.def: New file.
32995 * config/tilegx/tilegx-multiply.h: New file.
32996 * config/tilegx/tilegx-protos.h: New file.
32997 * config/tilegx/tilegx.c: New file.
32998 * config/tilegx/tilegx.h: New file.
32999 * config/tilegx/tilegx.md: New file.
33000 * config/tilegx/tilegx.opt: New file.
33001 * config/tilepro/constraints.md: New file.
33002 * config/tilepro/gen-mul-tables.cc: New file.
33003 * config/tilepro/linux.h: New file.
33004 * config/tilepro/mul-tables.c: New file.
33005 * config/tilepro/predicates.md: New file.
33006 * config/tilepro/t-tilepro: New file.
33007 * config/tilepro/tilepro-builtins.h: New file.
33008 * config/tilepro/tilepro-c.c: New file.
33009 * config/tilepro/tilepro-generic.md: New file.
33010 * config/tilepro/tilepro-modes.def: New file.
33011 * config/tilepro/tilepro-multiply.h: New file.
33012 * config/tilepro/tilepro-protos.h: New file.
33013 * config/tilepro/tilepro.c: New file.
33014 * config/tilepro/tilepro.h: New file.
33015 * config/tilepro/tilepro.md: New file.
33016 * config/tilepro/tilepro.opt: New file.
33058 * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
33060 * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
33061 * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
33092 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
33129 * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
33130 * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
33143 * config/i386/i386.c (ix86_legitimate_address_p): Disallow
33166 * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
33168 * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
33169 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
33189 * config/arm/arm.c (output_move_double): In one case properly
33223 * config/avr/avr.md (SREG_ADDR): Remove constant definition.
33226 * config/avr/avr.c (avr_addr_t): New typedef.
33270 * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
33276 * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
33298 * config/freebsd-spec.h: Add comment about what macros can be defined
33301 * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But
33313 * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
33324 * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
33330 * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
33343 * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after
33349 * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
33358 * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
33360 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
33397 * config/mips/mips.md (sibcall_internal, sibcall_value_internal)
33478 * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
33491 * config.gcc: Add cr16-* support.
33498 * common/config/cr16/cr16-common.c: New file.
33499 * config/cr16/cr16.c: New file.
33500 * config/cr16/cr16.h: New file.
33501 * config/cr16/cr16.md: New file.
33502 * config/cr16/cr16.opt: New file.
33503 * config/cr16/cr16-protos.h: New file.
33504 * config/cr16/predicates.md: New file.
33505 * config/cr16/constraints.md: New file.
33506 * config/cr16/t-cr16: New file.
33511 * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check
33520 * config/avr/avr.c: Resolve all AS1 and AS2 macros.
33521 * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove.
33557 * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
33562 * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
33589 * config/avr/avr.md: Resolve all AS1 and AS2 macros.
33597 * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
33645 * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE
33653 * config/avr/avr.c (out_movqi_mr_r): Fix length computation.
33662 * config/alpha/alpha.c (alpha_option_override): Default to
33667 * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
33673 * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
33684 * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
33700 * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
33702 * config/avr/avr.c: Ditto.
33704 * config/avr/avr.md (*cpse.ne): New peephole.
33709 * config/microblaze.c (microblaze_emit_compare): Correct
33784 * config/rs6000/rs6000.c (rs6000_option_override_internal):
33795 * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
33796 * config/m68k/sync.md (atomic_test_and_set): Rename from
33803 * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
33804 * config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
33859 * config/s390/s390.h: Make BRANCH_COST an option.
33860 * config/s390/s390.opt: New option -mbranch-cost.
33876 * config/mips/mips.c (mips_small_data_pattern_1): Don't process
33891 * config/avr/avr.c (avr_addrspace): Ditto.
33893 * config/avr/avr-protos.h
33896 * config/avr/predicates.md: Ditto.
33897 * config/avr/avr.c Ditto, and
33901 * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH.
33908 * config/avr/avr.c: Ditto.
33909 * config/avr/avr.md: Ditto.
33965 * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf)
33986 * config/alpha/alpha.c (alpha_set_memflags_1): Likewise.
33988 * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify.
34010 * config/frv/frv.c (frv_registers_conflict_p_1): Likewise.
34026 * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.
34031 * config/arm/arm.c (neon_split_vcombine): Emit deleted note
34081 (AVR Variable Attributes): Add example how to read data located
34104 * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
34111 * config/i386/predicates.md (symbolic_operand): Allow
34113 * config/i386/winnt.c (i386_pe_binds_local_p): Reworked.
34114 * config/i386/i386.c (ix86_delegitimize_address): Handle
34180 * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
34186 * config/interix3.h: Delete and move bits to..
34187 * config/interix.h: Delete and move bits to..
34188 * config/i386/i386-interix3.h: Delete and move bits to..
34189 * config/i386/i386-interix.h: ..here.
34209 * config/interix.opt: Delete and move bits to..
34210 * config/i386/interix.opt: ..here. New.
34212 * config/i386/t-interix: Add copyright header.
34233 * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro.
34250 * config/i386/i386.c: Fix checks for !TARGET_MACHO.
34251 * config/rs6000/rs6000.c: Likewise.
34256 * config/arm/arm.c (arm_count_output_move_double_insns): Call
34279 * config/arm/arm.c (arm_print_operand): Correct output of alignment
34308 * config/arm/arm.c (arm_load_pic_register): Use
34314 * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
34377 * config/arm/neon.md (*neon_vswp<mode>): Fix up operand
34397 * config/initfini-array.h: Guard content of the header
34402 * config.gcc: Don't add initfini-array.h to tm_file here.
34443 * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function.
34448 * config/rx/rx.c (rx_can_use_simple_return): New function.
34449 * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype.
34450 * config/rx/rx.md (return): Predicate on rx_can_use_simple_return.
34499 * config/s390/s390.c (s390_chunkify_start): Don't skip
34512 * config/mips/mips.c (mips16_build_call_stub): Don't use a stub
34519 * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
34522 * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
34524 * config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
34539 * config/mips/predicates.md (symbolic_operand_with_high)
34542 * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
34557 * config/avr/avr-protos.h: Revert change of 2012-01-09.
34558 * config/avr/avr.c: Likewise.
34559 * config/avr/avr.h: Likewise.
34593 * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare.
34594 * config/avr/avr.c (avr_can_eliminate): Simplify.
34603 * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer,
34617 * config/avr/avr.c (avr_encode_section_info): Test for absence of
34628 * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
34696 * config/arm/arm.md (mov_notscc): Use MVN for false condition.
34700 * config/rx/rx.md (return): Define pattern.
34731 * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
34746 * config.in: Regenerate.
34752 * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
34760 * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
34783 * config/i386/constraints.md ("L"): Return true for 0xffffffff.
34784 * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
34794 * config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
34800 * config/arm/arm-protos.h: Update.
34801 * config/arm/neon.md (UNSPEC_VCONCAT): New.
34805 * config/arm/vec-common.md (vec_perm_const<VALL>): New.
34810 * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
34824 * config/arm/arm-protos.h: Update.
34825 * config/arm/arm.h (enum arm_sync_generator_tag): Remove.
34827 * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
34836 * config/arm/constraints.md (Ua): New.
34837 * config/arm/prediates.md (mem_noofs_operand): New.
34871 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF
34874 * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be
34912 * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
34914 * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
35016 * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
35089 * config/avr/avr.c (avr_replace_prefix): Remove.
35127 * config/mips/mips.md (size): Add SI and DI.
35130 * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
35140 * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
35141 * config/mips/mips.c (mips_lx_address_p): New function.
35145 * config/mips/mips.h (ISA_HAS_LBX): New define.
35156 * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
35158 * config.build (*-*-*vms*): Handle all OpenVMS targets.
35161 * config/vms/xm-vms64.h: Delete.
35189 * config/avr/avr.md (cc): Add alternative "ldi".
35191 * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
35274 * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
35286 * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
35301 * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
35305 * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
35312 * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
35314 * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
35316 * config/mips/mips.c (mips_move_by_pieces_p): New function.
35329 * config/avr/avr.opt (-mbranch-cost): Fix double definition of
35335 * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
35338 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
35340 * config/avr/genmultilib.awk: New file.
35341 * config/avr/t-multilib: New auto-generated file.
35342 * config/avr/multilib.h: New auto-generated file.
35343 * config/avr/t-avr (AVR_MCUS): New variable.
35352 * config/avr/genopt.sh: Don't use hard coded file name;
35357 * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
35362 * config/avr/avr-dimode.md: New file.
35363 * config/avr/avr.md: Include it.
35370 * config/avr/avr-protos.h (avr_have_dimode): New.
35372 * config/avr/avr.c (avr_out_compare): Handle DImode.