summaryrefslogtreecommitdiff
path: root/gcc/config
Commit message (Collapse)AuthorAgeFilesLines
* made rs6000 port support CONST_WIDE_INTzadeck2013-10-166-36/+47
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@203710 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge in trunk.mrs2013-09-20104-3195/+9764
|\ | | | | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@202802 138bc75d-0d04-0410-961f-82ee72b054a4
| * Work around buggy gas not properly sign-extending a 64bit value on a 32bit hostjbglaw2013-09-202-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR target/56875 2013-09-20 Martin Husemann <martin@NetBSD.org> Jan-Benedict Glaw <jbglaw@lug-owl.de> gcc/ * config/vax/vax.c (vax_output_int_move): Use D format specifier. * config/vax/vax.md (ashldi3, <unnamed>): Ditto. gcc/testsuite/ * gcc.target/vax/vax.exp: New. * gcc.target/vax/pr56875.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202796 138bc75d-0d04-0410-961f-82ee72b054a4
| * gcc/yufeng2013-09-201-0/+2
| | | | | | | | | | | | | | | | * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Call aarch64_simd_expand_args to update op[argc]. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202784 138bc75d-0d04-0410-961f-82ee72b054a4
| * [AArch64] Use plus_constant.mshawcroft2013-09-201-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | 2013-09-20 Renlin Li <renlin.li@arm.com> * config/aarch64/aarch64.c (aarch64_expand_prologue): Use plus_constant. (aarch64_expand_epilogue): Likewise. (aarch64_legitimize_reload_address): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202780 138bc75d-0d04-0410-961f-82ee72b054a4
| * * i386.c (generic_memcpy, generic_memset): Fix 32bit template.hubicka2013-09-191-2/+4
| | | | | | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202747 138bc75d-0d04-0410-961f-82ee72b054a4
| * * i386.h (TARGET_GENERIC32, TARGET_GENERIC64): Remove.hubicka2013-09-197-240/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (TARGET_GENERIC): Use PROCESOR_GENERIC (enum processor_type): Unify generic32 and 64. * i386.md (cpu): Likewise. * x86-tune.def (use_leave): Enable for generic32. (avoid_vector_decode, slow_imul_imm32_mem, slow_imul_imm8): Likewise. * athlon.md: Change generic64 to generic in all occurences. * i386-c.c (ix86_target_macros_internal): Unify generic64 and 32. (ix86_target_macros_internal): Likewise. * driver-i386.c (host_detect_local_cpu): Likewise. * i386.c (generic64_memcpy, generic64_memset, generic64_cost): Rename to .. (generic_memcpy, generic_memset, generic_cost): This one. (generic32_memcpy, generic32_memset, generic32_cost): Remove. (m_GENERIC32, m_GENERIC64): Remove. (m_GENERIC): Turn into one flag. (processor_target): Unify generic tunnings. (ix86_option_override_internal): Replace generic32/64 by generic. (ix86_issue_rate): Likewise. (ix86_adjust_cost): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202741 138bc75d-0d04-0410-961f-82ee72b054a4
| * 2013-09-18 Michael Meissner <meissner@linux.vnet.ibm.com>meissner2013-09-181-2/+2
| | | | | | | | | | | | | | | | | | | | PR target/58452 * config/rs6000/paired.md (movmisalignv2sf): Fix to allow memory operands. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202719 138bc75d-0d04-0410-961f-82ee72b054a4
| * * arm.c (arm_get_frame_offsets): Validate architecture supportsrearnsha2013-09-181-3/+6
| | | | | | | | | | | | | | | | | | LDRD/STRD before accepting the tuning preference. (arm_expand_prologue): Likewise. (arm_expand_epilogue): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202702 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/msp430/msp430.h (ASM_SPEC): Pass -md on to the assembler.nickc2013-09-181-0/+5
| | | | | | | | | | | | | | (ASM_DECLARE_FUNCTION_NAME): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202681 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/arm/arm.c (thumb1_reorg): Search for flag setting insnamker2013-09-181-12/+26
| | | | | | | | | | | | | | | | | | before branch in same basic block. Check both src and dest of the move insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202678 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/rl78/rl78-real.md (bf): New pattern.dj2013-09-183-6/+64
| | | | | | | | | | | | | | | | | | | | (bt): New pattern. * config/rl78/rl78.c (rl78_print_operand_1): Handle %B. (rl78_print_operand): Do not put a # before a %B. * config/rl78/rl78.opt: Tweak doc strings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202676 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/rl78/constraints.md (Wcv): Allow up to $r31.dj2013-09-174-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | * config/rl78/rl78.c (rl78_asm_file_start: Likewise. (rl78_option_override): Likewise, if -mallregs. (is_virtual_register): Likewise. * config/rl78/rl78.h (reg_class): Extend VREGS to $r31. (REGNO_OK_FOR_BASE_P): Likewise. * config/rl78/rl78.opt (-mallregs): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202669 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/rl78/rl78.c (need_to_save): Change return type to bool.dj2013-09-171-20/+31
| | | | | | | | | | | | | | | | | | | | | | For interrupt functions: save all call clobbered registers if the interrupt handler is not a leaf function. (rl78_expand_prologue): Always recompute the frame information. For interrupt functions: only select bank 0 if one of the bank 0 registers is going to be psuhed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202667 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/rl78/constraints.md: For each W* constraint, rename to C*dj2013-09-174-17/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and create a W* constraint that checks for an optional ES: prefix pattern also. * config/rl78/rl78.md (UNS_ES_ADDR): New. (es_addr): New. Used to wrap far addresses. * config/rl78/rl78-protos.h (rl78_es_addr): New. (rl78_es_base): New. * config/rl78/rl78.c (rl78_as_legitimate_address): Accept "unspec" wrapped far addresses. (rl78_print_operand_1): Unwrap far addresses before processing. (rl78_lo16): Wrap far addresses in unspecs. (rl78_es_addr): New. (rl78_es_base): New. (insn_ok_now): Check for not-yet-wrapped far addresses. (transcode_memory_rtx): Properly re-wrap far addresses. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202666 138bc75d-0d04-0410-961f-82ee72b054a4
| * 2013-09-17 Sebastian Huber <sebastian.huber@embedded-brains.de>joel2013-09-171-2/+2
| | | | | | | | | | | | | | | | * config/sparc/t-rtems: Add leon3 multilibs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202664 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/i386/i386.c (distance_agu_use_in_bb) : Proper initializationkyukhin2013-09-171-1/+11
| | | | | | | | | | | | | | | | of 'prev' var to get better distance estimation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202649 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/msp430/msp430-protos.h: Add prototypes for new functions.nickc2013-09-175-20/+365
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/msp430/msp430.c (msp430_preserve_reg_p): Add support for interrupt handlers. (is_attr_func): New function. (msp430_is_interrupt_func): New function. (is_naked_func): New function. (is_reentrant_func): New function. (is_critical_func): New function. (msp430_start_function): Add annotations for function attributes. (msp430_attr): New function. (msp430_attribute_table): New. (msp430_function_section): New function. (TARGET_ASM_FUNCTION_SECTION): Define. (msp430_builtin): New enum. (msp430_init_builtins): New function. (msp430_builtin_devl): New function. (msp430_expand_builtin): New function. (TARGET_INIT_BUILTINS): Define. (TARGET_EXPAND_BUILTINS): Define. (TARGET_BUILTIN_DECL): Define. (msp430_expand_prologue): Add support for naked, interrupt, critical and reentrant functions. (msp430_expand_epilogue): Likewise. (msp430_print_operand): Handle 'O' character. * config/msp430/msp430.h (TARGET_CPU_CPP_BUILTINS): Define NO_TRAMPOLINES. * config/msp430/msp430.md (unspec): Add UNS_DINT, UNS_EINT, UNS_PUSH_INTR, UNS_POP_INTR, UNS_BIC_SR, UNS_BIS_SR. (pushm): Use a 'n' rather than an 'i' constraint. (msp_return): Add generation of the interrupt return instruction. (disable_interrupts): New pattern. (enable_interrupts): New pattern. (push_intr_state): New pattern. (pop_intr_state): New pattern. (bic_SR): New pattern. (bis_SR): New pattern. * doc/extend.texi: Document MSP430 function attributes and builtin functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202645 138bc75d-0d04-0410-961f-82ee72b054a4
| * PR target/57589amodra2013-09-171-1/+1
| | | | | | | | | | | | | | | | * config/rs6000/driver-rs6000.c (elf_platform): Revert 2013-06-11 patch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202642 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/rl78/rl78.c (rl78_asm_file_start): Specify alternatedj2013-09-164-15/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vregs location for RL78/G10. (rl78_expand_prologue): Avoid SEL on G10. (rl78_expand_epilogue): Likewise. (rl78_peep_movhi_p): Can't move a constant to memory in HImode. * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define __RL78_G10__ when appropriate. (ASM_SPEC): Pass -mg10 along to the assembler. * config/rl78/rl78.md (sel_rb): Disable for G10. * config/rl78/rl78.opt: Add -mg10 option. * config/rl78/t-rl78: Add -mg10 multilib. * config/rl78/lib2mul.c: Enable for RL78/G10. * config/rl78/lib2div.c: Likewise. * config/rl78/lshrsi3.S: Use vregs.h. * config/rl78/cmpsi2.S: Likewise. * config/rl78/trampoline.S: Likewise. * config/rl78/mulsi2.S: Likewise. Disable for RL78/G10. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202637 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/alpha.c: Include tree-ssanames.h.uros2013-09-161-1/+1
| | | | | | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202631 138bc75d-0d04-0410-961f-82ee72b054a4
| * [AArch64] Improve arm_neon.h vml<as>_lane handling.jgreenhalgh2013-09-164-561/+702
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * config/aarch64/aarch64-simd-builtins.def (fma): New. * config/aarch64/aarch64-simd.md (aarch64_mla_elt<mode>): New. (aarch64_mla_elt_<vswap_width_name><mode>): Likewise. (aarch64_mls_elt<mode>): Likewise. (aarch64_mls_elt_<vswap_width_name><mode>): Likewise. (aarch64_fma4_elt<mode>): Likewise. (aarch64_fma4_elt_<vswap_width_name><mode>): Likewise. (aarch64_fma4_elt_to_128v2df): Likewise. (aarch64_fma4_elt_to_64df): Likewise. (fnma<mode>4): Likewise. (aarch64_fnma4_elt<mode>): Likewise. (aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise. (aarch64_fnma4_elt_to_128v2df): Likewise. (aarch64_fnma4_elt_to_64df): Likewise. * config/aarch64/iterators.md (VDQSF): New. * config/aarch64/arm_neon.h (vfm<as><sdq>_lane<q>_f<32, 64>): Convert to C implementation. (vml<sa><q>_lane<q>_<fsu><16, 32, 64>): Likewise. gcc/testsuite/ * gcc.target/aarch64/fmla-intrinsic.c: New. * gcc.target/aarch64/mla-intrinsic.c: Likewise. * gcc.target/aarch64/fmls-intrinsic.c: Likewise. * gcc.target/aarch64/mls-intrinsic.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202625 138bc75d-0d04-0410-961f-82ee72b054a4
| * [AArch64] Implement vmul<q>_lane<q>_<fsu><16,32,64> intrinsics in Cjgreenhalgh2013-09-163-287/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * config/aarch64/aarch64-simd.md (aarch64_mul3_elt<mode>): New. (aarch64_mul3_elt_<vswap_width_name><mode>): Likewise. (aarch64_mul3_elt_to_128df): Likewise. (aarch64_mul3_elt_to_64v2df): Likewise. * config/aarch64/iterators.md (VEL): Also handle DFmode. (VMUL): New. (VMUL_CHANGE_NLANES) Likewise. (h_con): Likewise. (f): Likewise. * config/aarch64/arm_neon.h (vmul<q>_lane<q>_<suf><16,32,64>): Convert to C implementation. gcc/testsuite/ * gcc.target/aarch64/mul_intrinsic_1.c: New. * gcc.target/aarch64/fmul_intrinsic_1.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202624 138bc75d-0d04-0410-961f-82ee72b054a4
| * [AArch64] Fix parameters to vcvtx_highjgreenhalgh2013-09-161-2/+2
| | | | | | | | | | | | | | | | | | * config/aarch64/arm_neon.h (vcvtx_high_f32_f64): Fix parameters. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202623 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/alpha.c: Include tree-ssa.h.uros2013-09-161-0/+1
| | | | | | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202621 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/vax/constraints.md (T): Add missing CONSTANT_P check.jbglaw2013-09-151-2/+3
| | | | | | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202600 138bc75d-0d04-0410-961f-82ee72b054a4
| * PR target/58382danglin2013-09-141-2/+4
| | | | | | | | | | | | | | | | | | * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC calls to word_mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202594 138bc75d-0d04-0410-961f-82ee72b054a4
| * gcc:iains2013-09-141-15/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR target/48094 * config/darwin.c (darwin_objc2_section): Note if ObjC Metadata is seen. (darwin_objc1_section): Likewise. (darwin_file_end): Emit Image Info section when required. gcc/c-family: PR target/48094 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version, fobjc-gc, freplace-objc-classes): Accept for LTO. gcc/objc: PR target/48094 * objc-next-runtime-abi-01.c (generate_objc_image_info): Remove. (objc_generate_v1_next_metadata): Remove generation of ImageInfo. * objc-next-runtime-abi-02.c (generate_v2_objc_image_info): Remove. (objc_generate_v2_next_metadata): Remove generation of ImageInfo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202593 138bc75d-0d04-0410-961f-82ee72b054a4
| * gcc:iains2013-09-141-11/+3
| | | | | | | | | | | | | | | | | | | | PR target/58269 config/i386/i386.c (ix86_function_arg_regno_p): Make Darwin use the xmm register set described in the psABI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202590 138bc75d-0d04-0410-961f-82ee72b054a4
| * 2013-09-13 Jacek Caban <jacek@codeweavers.com>ktietz2013-09-132-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-target.def: New hook gcc/ChangeLog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * config.gcc: Use new winnt-c.c target hooks * config/t-winnt: New file * config/winnt-c.c: New file * doc/tm.texi.in: Document new hook * doc/tm.texi: Regenerated gcc/cp/Changelog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * decl.c: Use new cxx_implicit_extern_c hook gcc/testsuite/ChangeLog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * g++.dg/abi/main.C: Added implicit C linkage tests git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202573 138bc75d-0d04-0410-961f-82ee72b054a4
| * 2013-09-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>ktkachov2013-09-131-6/+8
| | | | | | | | | | | | | | | | | | * config/arm/arm.md (arm_cmpsi_insn): Split rI alternative. Set type attribute correctly. Set predicable_short_it attribute. (cmpsi_shiftsi): Remove %? from output template. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202560 138bc75d-0d04-0410-961f-82ee72b054a4
| * 2013-09-13 Christian Bruel <christian.bruel@st.com>chrbr2013-09-131-8/+12
| | | | | | | | | | | | | | | | | | PR target/58314 * config/sh/sh.md (mov<mode>_reg_reg): Allow memory reloads. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202557 138bc75d-0d04-0410-961f-82ee72b054a4
| * 2013-09-13 Kai Tietz <ktietz@redhat.com>ktietz2013-09-132-0/+12
| | | | | | | | | | | | | | | | | | | | | | * config/i386/winnt-cxx.c (i386_pe_type_dllexport_p): Don't dll-export inline-functions. * config/i386/winnt.c (i386_pe_determine_dllexport_p): Likewise. Additional fix ChangeLog-date of prior commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202555 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/rl78/rl78-virt.md: Change from | to \; for asm linedj2013-09-121-53/+53
| | | | | | | | | | | | | | separators. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202545 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/rl78/rl78.opt (mrelax): New.dj2013-09-122-0/+14
| | | | | | | | | | | | | | | | * config/rl78/rl78.h (ASM_SPEC): New, pass on -mrelax to gas. * config/rl78/rl78.h (LINK_SPEC): New, pass on -mrelax to ld. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202543 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/rl78/rl78.c (rl78_expand_prologue): Use AX to copydj2013-09-121-3/+9
| | | | | | | | | | | | | | | | between SP and FP. (rl78_expand_epilogue): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202542 138bc75d-0d04-0410-961f-82ee72b054a4
| * * MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430dj2013-09-1211-0/+3687
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | maintainers. [gcc] * config/msp430/: New port. * config.gcc (msp430): Added. * doc/invoke.texi: Document MSP430 options. * doc/install.texi: Document msp430-elf * doc/md.texi: Document msp430-elf * doc/contrib.texi: Document msp430-elf [libgcc] * config.host (msp*-*-elf): New. * config/msp430/: New port. [contrib] * config-list.mk: Add msp430-elf. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202535 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/i386/x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVEkyukhin2013-09-121-1/+2
| | | | | | | | | | | | | | | | for SLM. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202520 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/rs6000/rs6000.c (toc_relative_expr_p): Use add_cint_operand.amodra2013-09-121-1/+1
| | | | | | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202515 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/rl78/predicates.md (rl78_cmp_operator_signed): New.dj2013-09-128-293/+1531
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (rl78_stack_based_mem): New. * config/rl78/constraints.md (Iv08): New. (Iv16): New. (Iv24): New. (Is09): New. (Is17): New. (Is25): New. (ISsi): New. (IShi): New. (ISqi): New. * config/rl78/rl78-expand.md (movqi): Reject more SUBREG operands. (movhi): Likewise. (movsi): Change from expand to insn-and-split. (ashrsi3): Clobber AX. (lshrsi3): New. (ashlsi3): New. (cbranchsi4): New. * config/rl78/rl78.md (CC_REG): Fix. (addsi3): Allow memory and immediate operands. (addsi3_internal): Split into... (addsi3_internal_virt): ...new, and ... (addsi3_internal_real): ...new. (subsi): New. (subsi3_internal_virt): New. (subsi3_internal_real): New. (mulsi3): Add memory operand. (mulsi3_rl78): Likewise. (mulsi3_g13): Likewise. * config/rl78/rl78-real.md (cbranchqi4_real_signed): New. (cbranchqi4_real): Add more constraint options. (cbranchhi4_real): Expand pattern. (cbranchhi4_real_signed): New. (cbranchhi4_real_inverted): New. (cbranchsi4_real_lt): New. (cbranchsi4_real_ge): New. (cbranchsi4_real_signed): New. (cbranchsi4_real): New. (peephole2): New. * config/rl78/rl78-virt.md (ashrsi3_virt): Add custom cases for constant shifts. (lshrsi3_virt): Likewise. (ashlsi3_virt): Likewise. (cbranchqi4_virt_signed): New. (cbranchhi4_virt_signed): New. (cbranchsi4_virt): New. * config/rl78/rl78.c: Whitespace fixes throughout. (move_elim_pass): New. (pass_data_rl78_move_elim): New. (pass_rl78_move_elim): New. (make_pass_rl78_move_elim): New. (rl78_devirt_info): Run devirt earlier. (rl78_move_elim_info): New. (rl78_asm_file_start): Register it. (rl78_split_movsi): New. (rl78_as_legitimate_address): Allow virtual base registers when appropriate. (rl78_addr_space_convert): Remove spurious debug stuff. (rl78_print_operand_1): Add z,s,S,r,E modifiers. (rl78_print_operand): More cases for not printing '#'. (rl78_expand_compare): Remove most of the logic. (content_memory): New. (clear_content_memory): New. (get_content_index): New. (get_content_name): New. (display_content_memory): New. (update_content): New. (record_content): New. (already_contains): New. (insn_ok_now): Re-recog insns with virtual registers. (add_postponed_content_update): New. (process_postponed_content_update): New. (gen_and_emit_move): New. (transcode_memory_rtx): Record new location content. Use gen_and_emit_move. (force_into_acc): New. (move_to_acc): Use gen_and_emit_move. (move_from_acc): Likewise. (move_acc_to_reg): Likewise. (move_to_x): Likewise. (move_to_hl): Likewise. (move_to_de): Likewise. (rl78_alloc_physical_registers_op1): Record location content. (has_constraint): New. (rl78_alloc_physical_registers_op2): Record location content. Optimize use of HL. (rl78_alloc_physical_registers_ro1): Likewise. (rl78_alloc_physical_registers_cmp): Likewise. (rl78_alloc_physical_registers_umul): Likewise. (rl78_alloc_address_registers_macax): New. (rl78_alloc_physical_registers): Initialize and set location content memory as needed. (rl78_reorg): Make sure split2 is called. (rl78_rtx_costs): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202511 138bc75d-0d04-0410-961f-82ee72b054a4
| * [gcc/]ktkachov2013-09-111-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | * config/arm/arm.md (arm_shiftsi3): New alternative l/l/M. [gcc/testsuite] * gcc.target/arm/thumb-ifcvt-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202493 138bc75d-0d04-0410-961f-82ee72b054a4
| * * config/i386/constraints.md (k): New.kyukhin2013-09-115-62/+317
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Yk): Ditto. * config/i386/i386.c (const regclass_map): Add new mask registers. (dbx_register_map): Ditto. (dbx64_register_map): Ditto. (svr4_dbx_register_map): Ditto. (ix86_conditional_register_usage): Squash mask registers if AVX512F is disabled. (ix86_preferred_reload_class): Disable constants for mask registers. (ix86_secondary_reload): Do spill of mask register using 32-bit insn. (ix86_hard_regno_mode_ok): Support new mask registers. (x86_order_regs_for_local_alloc): Ditto. * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Update. (FIXED_REGISTERS): Add new mask registers. (CALL_USED_REGISTERS): Ditto. (REG_ALLOC_ORDER): Ditto. (VALID_MASK_REG_MODE): New. (FIRST_MASK_REG): Ditto. (LAST_MASK_REG): Ditto. (reg_class): Add MASK_EVEX_REGS, MASK_REGS. (MAYBE_MASK_CLASS_P): New. (REG_CLASS_NAMES): Add MASK_EVEX_REGS, MASK_REGS. (REG_CLASS_CONTENTS): Ditto. (MASK_REGNO_P): New. (ANY_MASK_REG_P): Ditto. (HI_REGISTER_NAMES): Add new mask registers. * config/i386/i386.md (MASK0_REG, MASK1_REG, MASK2_REG, MASK3_REG, MASK4_REG, MASK5_REG, MASK6_REG, MASK7_REG): Constants for new mask registers. (attribute "type"): Add mskmov, msklog. (attribute "length_immediate"): Support them. (attribute "memory"): Ditto. (attribute "prefix_0f"): Ditto. (*movhi_internal): Support new mask registers. (*movqi_internal): Ditto. (define_split): Split out clobber pattern is a logic insn on mask registers. (*k<logic><mode>): New. (*andhi_1): Extend to support mask regs. (*andqi_1): Extend to support mask regs. (kandn<mode>): New. (define_split): Split and-not to and and not if operands are not mask regs. (*<code><mode>_1): Separate HI mode to new pattern... (*<code>hi_1): This. (*<code>qi_1): Extend to support mask regs. (kxnor<mode>): New. (kortestzhi): Ditto. (kortestchi): Ditto. (kunpckhi): Ditto. (*one_cmpl<mode>2_1): Remove HImode and handle it... (*one_cmplhi2_1): ...Here, now with mask registers support. (*one_cmplqi2_1): Support new mask registers. (HI/QImode arithmetics splitter): Don't split if mask registers are used. (HI/QImode not splitter): Ditto. * config/i386/predicated.md (mask_reg_operand): New. (general_reg_operand): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202491 138bc75d-0d04-0410-961f-82ee72b054a4
| * PR target/58361rearnsha2013-09-101-13/+16
| | | | | | | | | | | | | | | | | | * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to support conditional execution. (combine_vcvt_f64_<FCVTI32typename>): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202475 138bc75d-0d04-0410-961f-82ee72b054a4
| * [AArch64] Prevent generic pipeline description from dominating other ↵jgreenhalgh2013-09-102-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | pipeline descriptions. gcc/ * config/aarch64/aarch64.md (generic_sched): New. * config/aarch64/aarch64-generic.md (load): Make conditional on generic_sched attribute. (nonload): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202448 138bc75d-0d04-0410-961f-82ee72b054a4
| * * doc/invoke.texi (fms-extensions): Document changedktietz2013-09-101-0/+6
| | | | | | | | | | | | | | | | | | | | behavior for ms-abi targets. * config/i386/i386.c (ix86_option_override_internal): Set default value of option -fms-extension for ms-abi targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202429 138bc75d-0d04-0410-961f-82ee72b054a4
| * gcc:kyukhin2013-09-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | * config/i386/i386.c (ix86_expand_movmem): Fix epilogue generation. gcc/testsuite: * gcc.dg/torture/memcpy-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202423 138bc75d-0d04-0410-961f-82ee72b054a4
| * PR target/58330amodra2013-09-091-1/+3
| | | | | | | | | | | | | | | | | | | | | | gcc/ * config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems. gcc/testsuite/ * gcc.target/powerpc/pr58330.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202418 138bc75d-0d04-0410-961f-82ee72b054a4
| * gcc/amodra2013-09-092-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/rs6000/predicates.md (add_cint_operand): New. (reg_or_add_cint_operand, small_toc_ref): Use add_cint_operand. * config/rs6000/rs6000.md (largetoc_high_plus): Restrict offset using add_cint_operand. (largetoc_high_plus_aix): Likewise. gcc/testsuite/ * gcc.target/powerpc/medium_offset.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202417 138bc75d-0d04-0410-961f-82ee72b054a4
| * [AArch64] obvious - Fix parameter to vrsqrte_f64jgreenhalgh2013-09-091-4/+4
| | | | | | | | | | | | | | | | | | | | gcc/ * config/aarch64/arm_neon.h (vrsqrte_f64): Fix parameter type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202407 138bc75d-0d04-0410-961f-82ee72b054a4
| * Improve handling of constants destined for FP_REGS on AArch64ibolton2013-09-091-3/+11
| | | | | | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202403 138bc75d-0d04-0410-961f-82ee72b054a4