summaryrefslogtreecommitdiff
path: root/libgcc
Commit message (Collapse)AuthorAgeFilesLines
* * config/tilegx/t-crtstuff: Add -fno-asynchronous-unwind-tableswalt2013-03-262-0/+9
| | | | | | | | -mcmodel=large to CRTSTUFF_T_CFLAGS_S variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197083 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/cygwin.S: Replace use of _WIN64 by __x86_64__.ktietz2013-03-252-5/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197050 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-03-20 Robert Mason <rbmj@verizon.net>mkuvyrkov2013-03-202-1/+16
| | | | | | | | | | * config/vxlib-tls.c (__gthread_get_tsd_data,) (__gthread_set_tsd_data, __gthread_enter_tsd_dtor_context,) (__gthread_leave_tsd_dtor_context): Add prototypes. (tls_delete_hook): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196842 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/clm2013-03-204-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2013-03-20 Catherine Moore <clm@codesourcery.com> Maciej W. Rozycki <macro@codesourcery.com> Tom de Vries <tom@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Iain Sandoe <iain@codesourcery.com> Nathan Froyd <froydnj@codesourcery.com> Chao-ying Fu <fu@mips.com> * doc/extend.texi: (micromips, nomicromips, nocompression): Document new function attributes. * doc/invoke.texi (minterlink-compressed, mmicromips, m14k, m14ke, m14kec): Document new options. (minterlink-mips16): Update documentation. * doc/md.texi (ZC, ZD): Document new constraints. * configure.ac (gcc_cv_as_micromips): Check if linker supports the .set micromips directive. * configure: Regenerate. * config.in: Regenerate. * config/mips/mips-tables.opt: Regenerate. * config/mips/micromips.md: New file. * constraints.md (ZC, ZD): New constraints. * config/mips/predicates.md (movep_src_register): New predicate. (movep_src_operand): New predicate. (non_volatile_mem_operand): New predicate. * config/mips/mips.md (multimem): New type. (length): Differentiate between 17-bit and 18-bit branch offsets. (MOVEP1, MOVEP2): New mode iterator. (mov_<load>l): Use ZC constraint. (mov_<load>r): Likewise. (mov_<store>l): Likewise. (mov_<store>r): Likewise. (*branch_equality<mode>_inverted): Add microMIPS support. (*branch_equality<mode>): Likewise. (*jump_absolute): Likewise. (indirect_jump_<mode>): Likewise. (tablejump_<mode>): Likewise. (<optab>_internal): Likewise. (sibcall_internal): Likewise. (sibcall_value_internal): Likewise. (prefetch): Use constraint ZD. * config/mips/mips.opt (minterlink-compressed): New option. (minterlink-mips16): Now an alias for minterlink-compressed. (mmicromips): New option. * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint. (compare_and_swap_12): Likewise. (sync_add<mode>): Likewise. (sync_<optab>_12): Likewise. (sync_old_<optab>_12): Likewise. (sync_new_<optab>_12): Likewise. (sync_nand_12): Likewise. (sync_old_nand_12): Likewise. (sync_new_nand_12): Likewise. (sync_sub<mode>): Likewise. (sync_old_add<mode>): Likewise. (sync_old_sub<mode>): Likewise. (sync_new_add<mode>): Likewise. (sync_new_sub<mode>): Likewise. (sync_<optab><mode>): Likewise. (sync_old_<optab><mode>): Likewise. (sync_new_<optab><mode>): Likewise. (sync_nand<mode>): Likewise. (sync_old_nand<mode>): Likewise. (sync_new_nand<mode>): Likewise. (sync_lock_test_and_set<mode>): Likewise. (test_and_set_12): Likewise. (atomic_compare_and_swap<mode>): Likewise. (atomic_exchange<mode>_llsc): Likewise. (atomic_fetch_add<mode>_llsc): Likewise. * config/mips/mips-cpus.def (m14kc, m14k): New processors. * config/mips/mips-protos.h (umips_output_save_restore): New prototype. (umips_save_restore_pattern_p): Likewise. (umips_load_store_pair_p): Likewise. (umips_output_load_store_pair): Likewise. (umips_movep_target_p): Likewise. (umips_12bit_offset_address_p): Likewise. * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS. (mips_base_mips16): Rename this... (mips_base_compression_flags): ...to this. Update all uses. (mips_attribute_table): Add micromips, nomicromips and nocompression. (mips_mips16_decl_p): Delete. (mips_nomips16_decl_p): Delete. (mips_get_compress_on_flags): New function. (mips_get_compress_off_flags): New function. (mips_get_compress_mode): New function. (mips_get_compress_on_name): New function. (mips_get_compress_off_name): New function. (mips_insert_attributes): Support multiple compression types. (mips_merge_decl_attributes): Likewise. (umips_12bit_offset_address_p): New function. (mips_start_function_definition): Emit .set micromips directive. (mips_call_may_need_jalx_p): New function. (mips_function_ok_for_sibcall): Add microMIPS support. (mips_print_operand_punctuation): Support short delay slots and compact jumps. (umips_swm_mask, umips_swm_encoding): New. (umips_build_save_restore): New function. (mips_for_each_saved_gpr_and_fpr): Add microMIPS support. (was_mips16_p): Remove. (old_compression_mode): New. (mips_set_compression_mode): New function. (mips_set_current_function): Add microMIPS support. (mips_option_override): Likewise. (umips_save_restore_pattern_p): New function. (umips_output_save_restore): New function. (umips_load_store_pair_p_1): New function. (umips_load_store_pair_p): New function. (umips_output_load_store_pair_1): New function. (umips_output_load_store_pair): New function. (umips_movep_target_p) New function. (mips_prepare_pch_save): Add microMIPS support. * config/mips/mips.h (TARGET_COMPRESSION): New. (TARGET_CPU_CPP_BUILTINS): Update macro to use new compression flags and to support microMIPS. (MIPS_ISA_LEVEL_SPEC): Add m14k processors. (MIPS_ARCH_FLOAT_SPEC): Likewise. (ISA_HAS_LWXS): Include TARGET_MICROMIPS. (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS. (ASM_SPEC): Support mmicromips and mno-micromips. (M16STORE_REG_P): New macro. (MIPS_CALL): Support TARGET_MICROMIPS. (MICROMIPS_J): New macro. (mips_base_mips16): Rename this... (mips_base_compression_flags): ...to this. (UMIPS_12BIT_OFFSET_P): New macro. * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS. (MULTILIB_DIRNAMES): Likewise. libgcc/ 2013-03-20 Catherine Moore <clm@codesourcery.com> Joseph Myers <joseph@codesourcery.com> Chao-ying Fu <fu@mips.com> * config/mips/mips16.S: Don't build for microMIPS. * config/mips/linux-unwind.h: Handle microMIPS frame. * config/mips/crtn.S (fini, init): New labels. gcc/testsuite/ 2013-03-20 Catherine Moore <clm@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * gcc.target/mips/mips.exp: Add microMIPS support. * gcc.target/mips/umips-movep-2.c: New test. * gcc.target/mips/umips-lwp-2.c: New test. * gcc.target/mips/umips-swp-5.c: New test. * gcc.target/mips/umips-constraints-1.c: New test. * gcc.target/mips/umips-lwp-3.c: New test. * gcc.target/mips/umips-swp-6.c: New test. * gcc.target/mips/umips-constraints-2.c: New test. * gcc.target/mips/umips-save-restore-1.c: New test. * gcc.target/mips/umips-lwp-4.c: New test. * gcc.target/mips/umips-swp-7.c: New test. * gcc.target/mips/umips-save-restore-2.c: New test. * gcc.target/mips/umips-lwp-swp-volatile.c: New test. * gcc.target/mips/umips-lwp-5.c: New test. * gcc.target/mips/umips-save-restore-3.c: New test. * gcc.target/mips/umips-lwp-6.c: New test. * gcc.target/mips/umips-swp-1.c: New test. * gcc.target/mips/umips-lwp-7.c: New test. * gcc.target/mips/umips-swp-2.c: New test. * gcc.target/mips/umips-lwp-8.c: New test. * gcc.target/mips/umips-swp-3.c: New test. * gcc.target/mips/umips-movep-1.c: New test. * gcc.target/mips/umips-lwp-1.c: New test. * gcc.target/mips/umips-swp-4.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196828 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/53265jakub2013-03-142-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common.opt (Waggressive-loop-optimizations): New option. * tree-ssa-loop-niter.c: Include tree-pass.h. (do_warn_aggressive_loop_optimizations): New function. (record_estimate): Call it. Don't add !is_exit bounds to loop->bounds if number_of_latch_executions returned constant. (estimate_numbers_of_iterations_loop): Call number_of_latch_executions early. If number_of_latch_executions returned constant, set nb_iterations_upper_bound back to it. * cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations field. * Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H). * doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document. * gcc.dg/pr53265.c: New test. * gcc.dg/torture/pr49518.c: Add -Wno-aggressive-loop-optimizations to dg-options. * g++.dg/opt/longbranch2.C (EBCOTLut): Double sizes of a2 and a3 arrays. * gcc.dg/tree-ssa/cunroll-10.c (main): Rename to foo. Add argument n, use it as high bound instead of 4. * unwind-dw2.c (execute_cfa_program): Avoid -Waggressive-array-optimizations warnings for DW_CFA_GNU_window_save on targets with DWARF_FRAME_REGISTERS < 32. * testsuite/libmudflap.c/fail37-frag.c: Add optimization barrier. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196650 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/49880olegendo2013-03-132-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask. (musermode): Convert to Var(TARGET_USERMODE). * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY, MASK_ARCH): Add MASK_FPU_SINGLE_ONLY. * config/sh/sh.c (sh_option_override): Use TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case. * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4 condition. (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of TARGET_SH4. (udivsi3_i4_single, divsi3_i4_single): Use TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4. PR target/49880 * config/sh/lib1funcs.S (sdivsi3_i4, udivsi3_i4): Enable for SH2A. (sdivsi3, udivsi3): Remove SH4 check and always compile these functions. PR target/49880 * gcc.target/sh/pr49880-1.c: New. * gcc.target/sh/pr49880-2.c: New. * gcc.target/sh/pr49880-3.c: New. * gcc.target/sh/pr49880-4.c: New. * gcc.target/sh/pr49880-5.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196636 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-03-07 Sriraman Tallam <tmsriram@google.com>tmsriram2013-03-082-0/+6
| | | | | | | | | | * config/i386/cpuinfo.c (get_intel_cpu): Fix cpuid codes for sandybridge processors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196532 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/56529olegendo2013-03-062-2/+8
| | | | | | | | | | | | | | | | | | * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy to SH_DIV_CALL_TABLE for TARGET_SH2. * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib list. * doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp, call-table options. PR target/56529 * config/sh/lib1funcs.S (udivsi3_i4i, sdivsi3_i4i): Add __SH2A__ to inclusion list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196484 138bc75d-0d04-0410-961f-82ee72b054a4
* Setup stack protection at entry.eager2013-03-042-0/+14
| | | | | | | | | * config/microblaze/crti.S: Setup stack protection at entry git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196432 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/avr/lib1funcs.S (__ashrdi3, __lshrdi3, __ashldi3)gjl2013-03-042-62/+87
| | | | | | | | (__rotldi3): Shift bytewise if applicable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196431 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64/AArch64-4.7][libgcc] Silence warnings in sync-cache.cjgreenhalgh2013-03-012-2/+9
| | | | | | | | | | libgcc/ * config/aarch64/sync-cache.c (__aarch64_sync_cache_range): Silence warnings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196380 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-02-25 Catherine Moore <clm@codesourcery.com>clm2013-02-254-12/+11
| | | | | | | | Revert microMIPS patch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196259 138bc75d-0d04-0410-961f-82ee72b054a4
* libgcc/clm2013-02-244-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2013-02-24 Catherine Moore <clm@codesourcery.com> Joseph Myers <joseph@codesourcery.com> Chao-ying Fu <fu@mips.com> * config/mips/mips16.S: Don't build for microMIPS. * config/mips/linux-unwind.h: Handle microMIPS frame. * config/mips/crtn.S (fini, init): New labels. gcc/ 2013-02-24 Catherine Moore <clm@codesourcery.com> Maciej W. Rozycki <macro@codesourcery.com> Tom de Vries <tom@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Iain Sandoe <iain@codesourcery.com> Nathan Froyd <froydnj@codesourcery.com> Chao-ying Fu <fu@mips.com> * doc/extend.texi: (micromips, nomicromips, nocompression): Document new function attributes. * doc/invoke.texi (minterlink-compressed, mmicromips, m14k, m14ke, m14kec): Document new options. (minterlink-mips16): Update documentation. * doc/md.texi (ZC, ZD): Document new constraints. * configure.ac (gcc_cv_as_micromips): Check if linker supports the .set micromips directive. * configure: Regenerate. * config.in: Regenerate. * config/mips/mips-tables.opt: Regenerate. * config/mips/micromips.md: New file. * constraints.md (ZC, AD): New constraints. * config/mips/predicates.md (movep_src_register): New predicate. (movep_src_operand): New predicate. (non_volatile_mem_operand): New predicate. * config/mips/mips.md (multimem): New type. (length): Differentiate between 17-bit and 18-bit branch offsets. (MOVEP1, MOVEP2): New mode iterator. (mov_<load>l): Use ZC constraint. (mov_<load>r): Likewise. (mov_<store>l): Likewise. (mov_<store>r): Likewise. (*branch_equality<mode>_inverted): Add microMIPS support. (*branch_equality<mode>): Likewise. (*jump_absolute): Likewise. (indirect_jump_<mode>): Likewise. (tablejump_<mode>): Likewise. (<optab>_internal): Likewise. (sibcall_internal): Likewise. (sibcall_value_internal): Likewise. (prefetch): Use constraint ZD. * config/mips/mips.opt (minterlink-compressed): New option. (minterlink-mips16): Now an alias for minterlink-compressed. (mmicromips): New option. * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint. (compare_and_swap_12): Likewise. (sync_add<mode>): Likewise. (sync_<optab>_12): Likewise. (sync_old_<optab>_12): Likewise. (sync_new_<optab>_12): Likewise. (sync_nand_12): Likewise. (sync_old_nand_12): Likewise. (sync_new_nand_12): Likewise. (sync_sub<mode>): Likewise. (sync_old_add<mode>): Likewise. (sync_old_sub<mode>): Likewise. (sync_new_add<mode>): Likewise. (sync_new_sub<mode>): Likewise. (sync_<optab><mode>): Likewise. (sync_old_<optab><mode>): Likewise. (sync_new_<optab><mode>): Likewise. (sync_nand<mode>): Likewise. (sync_old_nand<mode>): Likewise. (sync_new_nand<mode>): Likewise. (sync_lock_test_and_set<mode>): Likewise. (test_and_set_12): Likewise. (atomic_compare_and_swap<mode>): Likewise. (atomic_exchange<mode>_llsc): Likewise. (atomic_fetch_add<mode>_llsc): Likewise. * config/mips/mips-cpus.def (m14kc, m14k): New processors. * config/mips/mips-protos.h (umips_output_save_restore): New prototype. (umips_save_restore_pattern_p): Likewise. (umips_load_store_pair_p): Likewise. (umips_output_load_store_pair): Likewise. (umips_movep_target_p): Likewise. (umips_12bit_offset_address_p): Likewise. * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS. (mips_base_mips16): Rename this... (mips_base_compression_flags): ...to this. Update all uses. (mips_attribute_table): Add micromips, nomicromips and nocompression. (mips_mips16_decl_p): Delete. (mips_nomips16_decl_p): Delete. (mips_get_compress_on_flags): New function. (mips_get_compress_off_flags): New function. (mips_get_compress_mode): New function. (mips_get_compress_on_name): New function. (mips_get_compress_off_name): New function. (mips_insert_attributes): Support multiple compression types. (mips_merge_decl_attributes): Likewise. (umips_12bit_offset_address_p): New function. (mips_start_function_definition): Emit .set micromips directive. (mips_call_may_need_jalx_p): New function. (mips_function_ok_for_sibcall): Add microMIPS support. (mips_print_operand_punctuation): Support short delay slots and compact jumps. (umips_swm_mask, umips_swm_encoding): New. (umips_build_save_restore): New function. (mips_for_each_saved_gpr_and_fpr): Add microMIPS support. (was_mips16_p): Remove. (old_compression_mode): New. (mips_set_compression_mode): New function. (mips_set_current_function): Add microMIPS support. (mips_option_override): Likewise. (umips_save_restore_pattern_p): New function. (umips_output_save_restore): New function. (umips_load_store_pair_p_1): New function. (umips_load_store_pair_p): New function. (umips_output_load_store_pair_1): New function. (umips_output_load_store_pair): New function. (umips_movep_target_p) New function. (mips_prepare_pch_save): Add microMIPS support. * config/mips/mips.h (TARGET_COMPRESSION): New. (TARGET_CPU_CPP_BUILTINS): Update macro to use new compression flags and to support microMIPS. (MIPS_ISA_LEVEL_SPEC): Add m14k processors. (MIPS_ARCH_FLOAT_SPEC): Likewise. (ISA_HAS_LWXS): Include TARGET_MICROMIPS. (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS. (ASM_SPEC): Support mmicromips and mno-micromips. (M16STORE_REG_P): New macro. (MIPS_CALL): Support TARGET_MICROMIPS. (MICROMIPS_J): New macro. (mips_base_mips16): Rename this... (mips_base_compression_flags): ...to this. (UMIPS_12BIT_OFFSET_P): New macro. * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS. (MULTILIB_DIRNAMES): Likewise. gcc/testsuite/ 2013-02-24 Catherine Moore <clm@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * gcc.target/mips/mips.exp: Add microMIPS support. * gcc.target/mips/umips-movep-2.c: New test. * gcc.target/mips/umips-lwp-2.c: New test. * gcc.target/mips/umips-swp-5.c: New test. * gcc.target/mips/umips-constraints-1.c: New test. * gcc.target/mips/umips-lwp-3.c: New test. * gcc.target/mips/umips-swp-6.c: New test. * gcc.target/mips/umips-constraints-2.c: New test. * gcc.target/mips/umips-save-restore-1.c: New test. * gcc.target/mips/umips-lwp-4.c: New test. * gcc.target/mips/umips-swp-7.c: New test. * gcc.target/mips/umips-save-restore-2.c: New test. * gcc.target/mips/umips-lwp-swp-volatile.c: New test. * gcc.target/mips/umips-lwp-5.c: New test. * gcc.target/mips/umips-save-restore-3.c: New test. * gcc.target/mips/umips-lwp-6.c: New test. * gcc.target/mips/umips-swp-1.c: New test. * gcc.target/mips/umips-lwp-7.c: New test. * gcc.target/mips/umips-swp-2.c: New test. * gcc.target/mips/umips-lwp-8.c: New test. * gcc.target/mips/umips-swp-3.c: New test. * gcc.target/mips/umips-movep-1.c: New test. * gcc.target/mips/umips-lwp-1.c: New test. * gcc.target/mips/umips-swp-4.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196246 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/microblaze/modsi3.S (modsi3): Fix case with 0x80000000 eager2013-02-192-0/+6
| | | | | | | | as dividend. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196156 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/55431amodra2013-02-152-77/+33
| | | | | | | | | | | * config/rs6000/linux-unwind.h (ppc_linux_aux_vector): Delete. (ppc_fallback_frame_state): Always set up save locations for fp and altivec. Don't bother with non-callee-saved regs, r0-r13 except for r2 on ppc64, fr0-fr13, v0-v19, vscr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196077 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/gjl2013-02-124-24/+527
| | | | | | | | | | | | | | | | | | | | | | | | PR target/54222 * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders. (umulsidi3_insn, mulsidi3_insn): New insns. libgcc/ PR target/54222 * config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add: _usmulUHA, _usmulUSA, _ssmulHA, _ssmulSA. (LIB1ASMFUNCS): Add: _muldi3_6, _mulsidi3, _umulsidi3, _usmuluha3, _ssmulha3, _usmulusa3, _ssmulsa3. * config/avr/lib1funcs.S (__muldi3_6): Break out of __muldi3. (__muldi3): XCALL __muldi3_6 instead of rcall. (__umulsidi3, __mulsidi3): New functions. (do_prologue_saves, do_epilogue_restores): New .macros. (__divdi3_moddi3): Use them. * config/avr/lib1funcs-fixed.S (__usmuluha3, __ssmulha3) (__usmulusa3, __ssmulsa3): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195978 138bc75d-0d04-0410-961f-82ee72b054a4
* /libgccmrs2013-02-112-43/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2013-02-11 Iain Sandoe <iain@codesourcery.com> Jack Howarth <howarth@bromo.med.uc.edu> Patrick Marlier <patrick.marlier@gmail.com> PR libitm/55693 * config/darwin-crt-tm.c: Remove dummy functions hack. /gcc 2013-02-11 Iain Sandoe <iain@codesourcery.com> Jack Howarth <howarth@bromo.med.uc.edu> Patrick Marlier <patrick.marlier@gmail.com> PR libitm/55693 * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and define ENDFILE_SPEC as TM_DESTRUCTOR. * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR. /libitm 2013-02-11 Iain Sandoe <iain@codesourcery.com> Jack Howarth <howarth@bromo.med.uc.edu> Patrick Marlier <patrick.marlier@gmail.com> PR libitm/55693 * alloc_cpp.cc: Enable function declarations on darwin. * eh_cpp.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195960 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/gjl2013-02-086-8/+881
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR target/54222 * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add. * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators. (round<mode>3, round<mode>3_const): New expanders for fixed-mode. (*round<mode>3.libgcc): New insns for fixed-modes. * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME. (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs. (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs. * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline implementations. Define to __builtin_avr_absFX, __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively. (roundFX, countlsFX): Define to __builtin_avr_roundFX, __builtin_avr_countlsFX, respectively. * config/avr/avr-c.c (target.h): Include it. (enum avr_builtin_id): New enum. (avr_resolve_overloaded_builtin): New static function. (avr_register_target_pragmas): Use it to set targetm.resolve_overloaded_builtin. * config/avr/avr.c (avr_init_builtins): Supply myriads of local tree nodes used by DEF_BUILTIN. (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them. (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR. <AVR_BUILTIN_xxBITS>: Same. libgcc/ PR target/54222 * config/avr/lib2funcs.c: New C sources for modules for libgcc.a. * config/avr/lib2-object.mk: New iterator to build objects from it. * config/avr/t-avr: Iterate lib2-object.mk to build objects from lib2funcs.c. (LIB2FUNCS_EXCLUDE): Add _clrsbdi2. (LIB1ASMFUNCS): Add: _ssabs_1, _mask1, _ret, _roundqq3, _rounduqq3, _round_s2, _round_u2, _round_2_const, _addmask_2, _round_s4, _round_u4, _round_4_const, _addmask_4, _round_x8, _rounddq3 _roundudq3, _roundda3 _rounduda3, _roundta3 _rounduta3. * config/avr/lib1funcs-fixed.S: Implement them. gcc/testsuite/ PR target/54222 * gcc.target/avr/torture/builtins-4-roundfx.c: New test. * gcc.target/avr/torture/builtins-5-countlsfx.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195878 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright in libgcc.rsandifo2013-02-04586-693/+589
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195731 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/54601dje2013-02-018-1/+378
| | | | | | | | | | | | | | | | | | | | | | libgcc/ * config.host (powerpc-ibm-aix[56789]): Add t-aix-cxa to tmake_file. Add crtcxa to extra_parts. * config/rs6000/exit.h: New file. * config/rs6000/cxa_atexit.c: New file. * config/rs6000/cxa_finalize.c: New file. * config/rs6000/crtcxa.c: New file. * config/rs6000/t-aix-cxa: New file. * config/rs6000/libgcc-aix-cxa.ver: New file. gcc/ * configure.ac (cxa_atexit): Add AIX. * configure: Regenerate. * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195675 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/v850/lib1funcs.S: Add support for e3v5 architecturenickc2013-01-312-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | variant. * config/v850/constraints.md (Q): Define as a memory constraint. * config/v850/predicates.md (label_ref_operand): New predicate. (e3v5_shift_operand): New predicate. (ior_operator): New predicate. * config/v850/t-v850: Add e3v5 multilib. * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype. (v850_gen_movdi): Prototype. * config/v850/v850.c: Add support for e3v5 architecture. Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to TARGET_V850E_UP. (construct_save_jarl): Add e3v5 long JARL support. (v850_adjust_insn_length): New function. Adjust length of call insns when using e3v5 instructions. (v850_gen_movdi): New function: Generate instructions to move a DImode value. * config/v850/v850.h (TARGET_CPU_v850e3v5): Define. (CPP_SPEC): Define __v850e3v5__ as appropriate. (TARGET_USE_FPU): Enable for e3v5. (CONST_OK_FOR_W): New macro. (ADJUST_INSN_LENGTH): Define. * config/v850/v850.md (UNSPEC_LOOP): Define. (attr cpu): Add v850e3v5. Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP. (movdi): New pattern. (movdi_internal): New pattern. (cbranchsf4): Conditionalize on TARGET_USE_FPU. (cbranchdf4): Conditionalize on TARGET_USE_FPU. (cstoresf4): Likewise. (cstoredf4): Likewise. (insv): New pattern. (rotlso3_a): New pattern. (rotlsi3_b): New pattern (rotlsi3_v850e3v5): New pattern. (doloop_begin): New pattern. (fix_loop_counter): New pattern. (doloop_end): New pattern. (branch_normal): Add e3v5 long branch support. (branch_invert): Likewise. (branch_z_normal): Likewise. (branch_z_invert): Likewise. (branch_nz_normal): Likewise. (branch_nz_invert): Likewise. (call_internal_short): Add e3v5 register-indirect JARL support. (call_internal_long): Likewise. (call_value_internal_short): Likewise. (call_value_internal_long): Likewise. * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options. (mloop): New option. * config.gcc: Add support for configuring v840e3v5 target. * doc/invoke.texi: Document new v850 specific command line options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195623 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/54222gjl2013-01-292-0/+23
| | | | | | | | | | | | * config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add: _mulQQ, _mulHQ, _mulHA, _mulSA, _mulUQQ, _mulUHQ, _mulUHA, _mulUSA, _divQQ, _divHQ, _divHA, _divSA, _divUQQ, _divUHQ, _divUHA, _divUSA. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195532 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc: PR target/54663eager2013-01-263-1/+11
| | | | | | | | | | | | | | | * config.gcc (microblaze*-linux*): Add tmake_file to allow building of microblaze-c.o. libgcc: * config.host(microblaze*-linux*): tmake_file: Remove t-slibgcc-nolc-override, add t-slibgcc-libgcc. * config/microblaze/t-microblaze: Set LIB2FUNCS_EXCLUDE to exclude functions from being built with libgcc.c and use the microblaze assembly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195488 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update tm_file.eager2013-01-262-3/+8
| | | | | | | | libgcc/config.host (microblaze*-*-*): Rename microblaze*-*-elf, update extra_parts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195487 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-01-17 Yufeng Zhang <yufeng.zhang@arm.com>yufeng2013-01-172-2/+11
| | | | | | | | | | * config/aarch64/sync-cache.c (__aarch64_sync_cache_range): Cast the results of (dcache_lsize - 1) and (icache_lsize - 1) to the type __UINTPTR_TYPE__; also cast 'base' to the same type before the alignment operation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195266 138bc75d-0d04-0410-961f-82ee72b054a4
* [AARCH64] Fix __clear_cache.sofiane2013-01-152-2/+13
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195203 138bc75d-0d04-0410-961f-82ee72b054a4
* Reverted last patch.ian2013-01-142-6/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195174 138bc75d-0d04-0410-961f-82ee72b054a4
* * generic-morestack-thread.c: Change declaration ofian2013-01-142-3/+7
| | | | | | | __real_pthread_create to not be weak. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195172 138bc75d-0d04-0410-961f-82ee72b054a4
* * Fix typos. Remove trailing blanks. Fix coding style.gjl2013-01-143-52/+57
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195151 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/avr/avr-lib.h: Add GPL copyright notice.gjl2013-01-142-0/+27
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195145 138bc75d-0d04-0410-961f-82ee72b054a4
* * fixed-bit.c (SATFRACT) <FROM_TYPE=1, TO_TYPE=4>: Onlygjl2013-01-142-12/+14
| | | | | | | | | | declare / set min_low, min_high if TO_MODE_UNSIGNED == 0. (SATFRACT) <FROM_TYPE=TO_TYPE=4>: Only declare / set min_low, min_high if FROM_MODE_UNSIGNED == 0 and TO_MODE_UNSIGNED == 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195141 138bc75d-0d04-0410-961f-82ee72b054a4
* libgcc/gerald2013-01-072-1/+7
| | | | | | | | | | | | | * config.host (i[34567]86-*-openbsd* and x86_64-*-openbsd*): Add to lists of i[34567]86-*-* and x86_64-*-* soft-fp targets. gcc/ * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194999 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/v850/lib1funcs.S: Only provide CALLT support functions ifnickc2013-01-042-18/+24
| | | | | | | the CALLT instruction is supported. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194898 138bc75d-0d04-0410-961f-82ee72b054a4
* * gthr.h (__gthread_cond_timedwait_recursive): Do not require.redi2012-12-203-11/+5
| | | | | | * gthr-posix.h (__gthread_cond_timedwait_recursive): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194652 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/arm/fp16.c (__gnu_f2h_internal): Fix inaccuracy when aexpnickc2012-12-132-5/+8
| | | | | | | is 25. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194474 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libgcc/55451jakub2012-12-122-18/+17
| | | | | | | | * fixed-bit.c (FIXED_SSADD, FIXED_SSSUB, FIXED_SSNEG): Avoid undefined signed overflows. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194439 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/55344uros2012-12-092-0/+7
| | | | | | | | * config/alpha/linux-unwind.h: Disable when inhibit_libc is defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194334 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sfp-machine.h (FP_EX_ALL): Define.uros2012-12-064-10/+26
| | | | | | | | | | (FP_TRAPPING_EXCEPTIONS): Define. * config/i386/32/sfp-machine.h (FP_EX_SHIFT): Define. * config/i386/64/sfp-machine.h (FP_EX_SHIFT): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194243 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/55571rth2012-12-042-2/+7
| | | | | | * Makefile.in (libgcc_s.so): Depend on and link with libgcc.a. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194159 138bc75d-0d04-0410-961f-82ee72b054a4
* AArch64: Define FP_TRAPPING_EXCEPTIONS.mshawcroft2012-12-042-0/+12
| | | | | | | | | | | | 2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com> * config/aarch64/sfp-machine.h (FP_EX_ALL): Define. (FP_EX_SHIFT): Define. (FP_TRAPPING_EXCEPTIONS): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194151 138bc75d-0d04-0410-961f-82ee72b054a4
* aarch64: Refactor aarch64 sfp-machine.hmshawcroft2012-12-044-52/+96
| | | | | | | | | | | | | | 2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com> * config/aarch64/sfp-machine.h (FP_RND_MASK): Define. (FP_ROUNDMODE): Use FP_RND_MASK. * config/aarch64/sfp-exceptions.c: New. * config/aarch64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194142 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.host: (arm*-*-freebsd*): Remove.rearnsha2012-12-046-140/+34
| | | | | | | | | | | | | | | | | | | (arm*-*-linux*, arm*-*-uclinux*): Simplify logic. (arm*-*-elf*): Remove. (arm*-*-wince-pe*): Remove. * arm/unwind-arm.c (struct fpa_reg): Delete. (struct fpa_regs): Delete. (phase1_vrs): Remove fpa element. (_Unwind_VRS_Get): Remove _UVRSC_FPA. (_Unwind_VRS_Set, _Unwind_VRS_Pop): Likewise. * arm/pr-support.c (__gnu_unwind_execute): Remove FPA support. * ieee754-sf.S (floatundisf): Remove FPA support. (floatdisf): Likewise. * ieee75f-df.S (floatundidf): Likewise. (floatdidf): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194138 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/55445ktietz2012-11-294-6/+13
| | | | | | | | | * unwind-c.c (__SEH__): Make sure SjLj isn't active. * unwind-generic.h: Likewise. * unwind-seh.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193928 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libgcc/48076rth2012-11-282-2/+8
| | | | | | | * emutls.c (__emutls_get_address): Avoid race condition between obj->loc.offset read and emutls_key initialization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193907 138bc75d-0d04-0410-961f-82ee72b054a4
* libgcc/gjl2012-11-223-59/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adjust decimal point of signed accum mode to GCC default. PR target/54222 * config/avr/t-avr (LIB1ASMFUNCS): Add _fractsfsq _fractsfusq, _divqq_helper. * config/avr/lib1funcs-fixed.S (__fractqqsf, __fracthqsf) (__fractsasf, __fractsfha, __fractusqsf, __fractsfsa) (__mulha3, __mulsa3) (__divqq3, __divha3, __divsa3): Adjust to new position of decimal point of signed accum types. (__mulusa3_round): New function. (__mulusa3): Use it. (__divqq_helper): New function. (__udivuqq3): Use it. gcc/ Adjust decimal point of signed accum mode to GCC default. PR target/54222 * config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments. (TA): Move decimal point one bit to the right. * config/avr/avr.c (avr_out_fract): Rewrite. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193721 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/55370jakub2012-11-202-0/+9
| | | | | | | * libgcc-std.ver.in: Add GCC_4.8.0 and %inherit for it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193648 138bc75d-0d04-0410-961f-82ee72b054a4
* This patch addresses the bogus "Invocation mismatch" messages seen in paralleltejohnson2012-11-192-10/+33
| | | | | | | | | | | | | | | profiledbootstrap builds of gcc. See PR bootstrap/55051 for a discussion of why this is occurring and why this checking is inaccurate. Leave it in when !GCOV_LOCKED, to warn about concurrent update issues requiring locking. 2012-11-18 Teresa Johnson <tejohnson@google.com> PR bootstrap/55051 * libgcov.c (gcov_exit): Remove merged program summary comparison unless !GCOV_LOCKED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193612 138bc75d-0d04-0410-961f-82ee72b054a4
* soft-fp updated from GLIBC upstream.mshawcroft2012-11-153-29/+46
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193540 138bc75d-0d04-0410-961f-82ee72b054a4
* * generic-morestack.c (__generic_morestack): Align the returnedian2012-11-063-13/+46
| | | | | | | | | | | | | stack pointer to a 32 byte boundary. * config/i386/morestack.S (__morestack_non_split) [32-bit]: Don't increment the return address until we have decided that we don't have a varargs function. (__morestack) [32-bit]: Align stack correctly when calling C functions. (__morestack) [64-bit]: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193264 138bc75d-0d04-0410-961f-82ee72b054a4
* libgcc/config/libbid/tschwinge2012-11-044-2/+12
| | | | | | | | | | | | | | | | | | | * bid_functions.h: Check for __GLIBC__ additionally to LINUX when defining format specifiers. config/ * dfp.m4 (enable_decimal_float): Enable for i?86*-*-gnu*. gcc/ * configure: Regenerate. libdecnumber/ * configure: Regenerate. libgcc/ * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193143 138bc75d-0d04-0410-961f-82ee72b054a4