summaryrefslogtreecommitdiffstats
path: root/libgcc
Commit message (Collapse)AuthorAgeFilesLines
...
* * config/gthr.m4: New. Define GCC_AC_THREAD_HEADER.kyukhin2012-10-153-12/+11
| | | | | | | | | | | | | | | | | | | | | | * libgcc/configure: Regenerate. * libgcc/configure.ac: Replace code with GCC_AC_THREAD_HEADER use. * libstdc++-v3/Makefile.in: Regenerate. * libstdc++-v3/acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use. * libstdc++-v3/configure: Regenerate. * libstdc++-v3/doc/Makefile.in: Regenerate. * libstdc++-v3/include/Makefile.am: Regenerate. * libstdc++-v3/include/Makefile.in: Rename variable. * libstdc++-v3/libsupc++/Makefile.in: Regenerate. * libstdc++-v3/po/Makefile.in: Regenerate. * libstdc++-v3/python/Makefile.in: Regenerate. * libstdc++-v3/src/Makefile.in: Regenerate. * libstdc++-v3/src/c++11/Makefile.in: Regenerate. * libstdc++-v3/src/c++98/Makefile.in: Regenerate. * libstdc++-v3/testsuite/Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192458 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSEuros2012-10-112-2/+7
| | | | | | | | instructions for 64bit targets only. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192355 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,uros2012-10-104-15/+39
| | | | | | | | | | | | FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX): Move to ... * config/i386/32/sfp-machine.h: ... here. * config/i386/64/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF, FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX): New defines. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192324 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typo in previous commit:doko2012-10-071-1/+1
| | | | | | | | | | | 2012-10-07 Matthias Klose <doko@ubuntu.com> * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused. (_Unwind_decode_typeinfo_ptr): Mark base as unused. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192182 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-07 Matthias Klose <doko@ubuntu.com>doko2012-10-072-2/+11
| | | | | | | | | * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused. (_Unwind_decode_typeinfo_ptr): Mark base as unused. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192181 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.gerald2012-10-053-2/+15
| | | | | | | | | * unwind-dw2-fde-dip.c: Don't include <elf.h> on OpenBSD. (USE_PT_GNU_EH_FRAME): Define for OpenBSD. (ElfW): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192148 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/53889redi2012-10-052-3/+11
| | | | | | | * config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy): Fix parameter names. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192114 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/33135olegendo2012-10-044-4/+8
| | | | | | | | | | * config/sh/t-sh (HOST_LIBGCC2_CFLAGS): Delete. * config/sh/t-netbsd (HOST_LIBGCC2_CFLAGS): Delete. * config/sh/t-linux (HOST_LIBGCC2_CFLAGS): Remove mieee option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192097 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/50457olegendo2012-10-034-228/+98
| | | | | | | | | | | | | | | | | | | | | | * config/sh/sh.c (parse_validate_atomic_model_option): Handle name strings in sh_atomic_model. * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation to ... * config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function. Add __SH1__ and __SH2__ defines. Add __SH_ATOMIC_MODEL_*__ define. * config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name variables. (sh_cpu_cpp_builtins): Declare new function. PR target/50457 * config/sh/linux-atomic.S: Delete. * config/sh/linux-atomic.c: New. * config/sh/t-linux (LIB2ADD): Replace linux-atomic.S with linux-atomic.c. Add cflags to disable warnings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192051 138bc75d-0d04-0410-961f-82ee72b054a4
* libgcc:redi2012-10-0211-16/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR other/53889 * gthr.h (__gthread_recursive_mutex_destroy): Document new required function. * gthr-posix.h (__gthread_recursive_mutex_destroy): Define. * gthr-single.h (__gthread_recursive_mutex_destroy): Likewise. * config/gthr-rtems.h (__gthread_recursive_mutex_destroy): Likewise. * config/gthr-vxworks.h (__gthread_recursive_mutex_destroy): Likewise. * config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy): Likewise. * config/mips/gthr-mipssde.h (__gthread_recursive_mutex_destroy): Likewise. * config/pa/gthr-dce.h (__gthread_recursive_mutex_destroy): Likewise. * config/s390/gthr-tpf.h (__gthread_recursive_mutex_destroy): Likewise. libstdc++-v3: PR other/53889 * include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base): Use __gthread_recursive_mutex_destroy. (__recursive_mutex_base::_S_destroy): Remove. (__recursive_mutex_base::_S_destroy_win32): Likewise. * include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex): Use __gthread_recursive_mutex_destroy. (__recursive_mutex::_S_destroy): Remove. (__recursive_mutex::_S_destroy_win32): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192002 138bc75d-0d04-0410-961f-82ee72b054a4
* libgcc/:danglin2012-09-203-0/+17
| | | | | | | | | | | | | | | | | * config.host (hppa-*-openbsd*): New target. * config/pa/t-openbsd: New file. gcc:/ * config.gcc (hppa*-*-openbsd*): New target. * config/pa/pa-openbsd.h: New file. * config/pa/pa32-openbsd.h: New file. * config/host-openbsd.c: Update copyright year. (TRY_EXCEPT_VM_SPACE): Define for OpenBSD/hppa. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191508 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/gjl2012-09-154-16/+290
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR target/54222 * config/avr/avr-fixed.md (ALL2S, ALL4S, ALL24S, ALL124S, ALL124U): New mode iterators. (<code_stdname><mode>3): New insns for SS_PLUS, SS_MINUS. (<code_stdname><mode>3): New insns for US_PLUS, US_MINUS. (usneg<mode>2): New insns. (<code_stdname><mode>2): New expanders for SS_NEG, SS_ABS. (*<code_stdname><mode>2): New insns for SS_NEG, SS_ABS. * config/avr/avr-dimode.md (ALL8U, ALL8S): New mode iterators. (avr_out_plus64, avr_out_minus64): Use avr_out_plus instead. (<code_stdname><mode>3): New expanders for SS_PLUS, SS_MINUS. (<code_stdname><mode>3): New expanders for US_PLUS, US_MINUS. (<code_stdname><mode>3_insn): New insns. (<code_stdname><mode>3_const_insn): New insns. * config/avr/avr.md (cc): Add: plus. Remove: out_plus, out_plus_noclobber, minus. (length): Add: plus. Remove: out_plus, out_plus_noclobber, plus64, minus, minus64. (abelian): New code_attr. (code_stdname): Handle: ss_plus, ss_minus, ss_neg, ss_abs, us_plus, us_minus, us_neg. (*add<mode>3, add<mode>3_clobber, add<mode>3, addpsi3, sub<mode>3): Use avr_out_plus to output. * config/avr/avr-protos.h (avr_out_plus): Change prototype. (avr_out_plus_noclobber, avr_out_minus): Remove. (avr_out_plus64, avr_out_minus64): Remove. * config/avr/avr.c (avr_out_plus_1): Add new default arguments code_sat, sign. Saturate after operation if code_sat != UNKNOWN. (avr_out_plus_symbol): New static function. (avr_out_plus): Rewrite. (adjust_insn_length): Handle: ADJUST_LEN_PLUS. Remove handling of: ADJUST_LEN_OUT_PLUS, ADJUST_LEN_PLUS64, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64, ADJUST_LEN_OUT_PLUS_NOCLOBBER. (notice_update_cc): Handle: CC_PLUS. Remove handling of: CC_MINUS, CC_OUT_PLUS, CC_OUT_PLUS_NOCLOBBER (avr_out_plus_noclobber, avr_out_minus): Remove. (avr_out_plus64, avr_out_minus64): Remove. (avr_print_operand): Print raw REGNO if 'r' is used with REG. libgcc/ PR target/54222 * config/avr/lib1funcs-fixed.S (__ssneg_2, __ssabs_2, __ssneg_4, __ssabs_4, __clr_8, __ssneg_8, __ssabs_8, __usadd_8, __ussub_8, __ssadd_8, __sssub_8): New functions. (__divsa3): Use __negsi2 to negate r_quoL. * config/avr/lib1funcs.S (FALIAS): New macro. (__divmodsi4): Break out and use __divmodsi4_neg1 as... (__negsi2): ...this new function. * config/avr/t-avr (LIB1ASMFUNCS): Add _negsi2, _clr_8, _ssneg_2, _ssneg_4, _ssneg_8, _ssabs_2, _ssabs_4, _ssabs_8, _ssadd_8, _sssub_8, _usadd_8, _ussub_8. (LIB2FUNCS_EXCLUDE): Fix typo for _add _sub. Add: _ssadd*, _sssub*, _ssneg*, _ssabs* for signed fixed modes. Add: _usadd*, _ussub*, _usneg* for unsigned fixed modes. gcc/testsuite/ PR target/54222 * gcc.target/avr/torture/fix-types.h: New. * gcc.target/avr/torture/vals-hr.def: New. * gcc.target/avr/torture/vals-r.def: New. * gcc.target/avr/torture/vals-k.def: New. * gcc.target/avr/torture/vals-ur.def: New. * gcc.target/avr/torture/vals-uk.def: New. * gcc.target/avr/torture/vals-uhr.def: New. * gcc.target/avr/torture/vals-llk.def: New. * gcc.target/avr/torture/vals-ullk.def: New. * gcc.target/avr/torture/sat-hr-plus-minus.c: New. * gcc.target/avr/torture/sat-r-plus-minus.c: New. * gcc.target/avr/torture/sat-k-plus-minus.c: New. * gcc.target/avr/torture/sat-ur-plus-minus.c: New. * gcc.target/avr/torture/sat-uk-plus-minus.c: New. * gcc.target/avr/torture/sat-uhr-plus-minus.c: New. * gcc.target/avr/torture/sat-llk-plus-minus.c: New. * gcc.target/avr/torture/sat-ullk-plus-minus.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191345 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/54089olegendo2012-09-102-208/+249
| | | | | | | | | | | | | | | | | | | | | | | * config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if dynamic shifts are available. (SHIFT_COUNT_TRUNCATED): Always define to 0. Correct comment. * config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments. * config/sh/predicates.md (shift_count_operand): Allow arith_reg_operand even if TARGET_DYNSHIFT is false. * config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns if needed. (ashlsi3_d_call, lshrsi3_d_call): New insns. PR target/54089 * config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0. (lshrsi3): Reimplement as lshrsi3_r0. PR target/54089 * gcc.target/sh/pr54089-3.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191161 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/46191schwab2012-09-102-1/+7
| | | | | | | | * config/t-slibgcc-libgcc (SHLIB_MAKE_SOLINK): Use -lgcc instead of libgcc.a. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191160 138bc75d-0d04-0410-961f-82ee72b054a4
* This fixes part of the issue described in PR gcov-profile/54487 wheretejohnson2012-09-072-1/+13
| | | | | | | | | | | | | | | | | there were warnings about mismatches due to slight differences in the merged histograms in different object files. This can happen due to the truncating integer division in the merge routine, which could result in slightly different histograms when summaries are merged in different orders. 2012-09-07 Teresa Johnson <tejohnson@google.com> PR gcov-profile/54487 * libgcc/libgcov.c (gcov_exit): Avoid warning on histogram differences. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191074 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/54461gjl2012-09-054-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (noconfigdirs,target=avr-*-*): Add target-newlib, target-libgloss if not configured --with-avrlibc=no. * configure: Regenerate. libgcc/ PR target/54461 * config.host (tmake_file,host=avr-*-*): Add avr/t-avrlibc if not configured --with-avrlibc=no. * config/avr/t-avrlibc: New file. * Makefile.in (FPBIT_FUNCS): filter-out LIB2FUNCS_EXCLUDE. (DPBIT_FUNCS): Ditto. (TPBIT_FUNCS): Ditto. gcc/ PR target/54461 * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if not configured --with-avrlibc=no. (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if not configured --with-avrlibc=no. * config/avr/avrlibc.h: New file. * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if not configured --with-avrlibc=no. * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190967 138bc75d-0d04-0410-961f-82ee72b054a4
* Adding change log entries for r190952:tejohnson2012-09-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enhances the gcov program summary by adding a histogram of arc counter entries. This is used to compute working set information in the compiler for use by optimizations that need information on hot vs cold counter values or the rough working set size in terms of the number of counters. Each working set data point is the minimum counter value and number of counters required to reach a given percentage of the cumulative counter sum across the profiled execution (sum_all in the program summary). 2012-09-04 Teresa Johnson <tejohnson@google.com> * libgcc/libgcov.c (struct gcov_summary_buffer): New structure. (gcov_histogram_insert): New function. (gcov_compute_histogram): Ditto. (gcov_exit): Invoke gcov_compute_histogram, and perform merging of histograms during summary merging. * gcc/gcov-io.c (gcov_write_summary): Write out non-zero histogram entries to function summary along with an occupancy bit vector. (gcov_read_summary): Read in the histogram entries. (gcov_histo_index): New function. (void gcov_histogram_merge): Ditto. * gcc/gcov-io.h (gcov_type_unsigned): New type. (struct gcov_bucket_type): Ditto. (struct gcov_ctr_summary): Include histogram. (GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries. (GCOV_HISTOGRAM_SIZE): New macro. (GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto. * gcc/profile.c (NUM_GCOV_WORKING_SETS): Ditto. (gcov_working_sets): New global variable. (compute_working_sets): New function. (find_working_set): Ditto. (get_exec_counts): Invoke compute_working_sets. * gcc/coverage.c (read_counts_file): Merge histograms, and fix bug with accessing summary info for non-summable counters. * gcc/basic-block.h (gcov_type_unsigned): New type. (struct gcov_working_set_info): Ditto. (find_working_set): Declare. * gcc/gcov-dump.c (tag_summary): Dump out histogram. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190953 138bc75d-0d04-0410-961f-82ee72b054a4
* Enhances the gcov program summary by adding a histogram of arc countertejohnson2012-09-041-8/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | entries. This is used to compute working set information in the compiler for use by optimizations that need information on hot vs cold counter values or the rough working set size in terms of the number of counters. Each working set data point is the minimum counter value and number of counters required to reach a given percentage of the cumulative counter sum across the profiled execution (sum_all in the program summary). 2012-09-04 Teresa Johnson <tejohnson@google.com> * libgcc/libgcov.c (struct gcov_summary_buffer): New structure. (gcov_histogram_insert): New function. (gcov_compute_histogram): Ditto. (gcov_exit): Invoke gcov_compute_histogram, and perform merging of histograms during summary merging. * gcc/gcov-io.c (gcov_write_summary): Write out non-zero histogram entries to function summary along with an occupancy bit vector. (gcov_read_summary): Read in the histogram entries. (gcov_histo_index): New function. (void gcov_histogram_merge): Ditto. * gcc/gcov-io.h (gcov_type_unsigned): New type. (struct gcov_bucket_type): Ditto. (struct gcov_ctr_summary): Include histogram. (GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries. (GCOV_HISTOGRAM_SIZE): New macro. (GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto. * gcc/profile.c (NUM_GCOV_WORKING_SETS): Ditto. (gcov_working_sets): New global variable. (compute_working_sets): New function. (find_working_set): Ditto. (get_exec_counts): Invoke compute_working_sets. * gcc/coverage.c (read_counts_file): Merge histograms, and fix bug with accessing summary info for non-summable counters. * gcc/basic-block.h (gcov_type_unsigned): New type. (struct gcov_working_set_info): Ditto. (find_working_set): Declare. * gcc/gcov-dump.c (tag_summary): Dump out histogram. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190952 138bc75d-0d04-0410-961f-82ee72b054a4
* libgcc/gerald2012-09-022-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.host (x86_64-*-openbsd*): New target. gcc/ * config.gcc (x86_64-*-openbsd*): New target. * config.host (*-*-openbsd*): New target. * config/openbsd.h (TARGET_C99_FUNCTIONS): Define. * config/i386/openbsdelf.h: Remove some superfluous defines and group things together in a more logical fashion. (DBX_REGISTER_NUMBER): Provide a definition that works on both 32-bit and 64-bit targets. (WCHAR_TYPE_SIZE): Hardcode as 32. (NO_DOLLAR_IN_LABEL): Remove undef. (TARGET_DEFAULT): Remove. (SET_ASM_OP): Remove. (DEFAULT_PCC_STRUCT_RETURN): Undef first to prevent warning. (ASM_OUTPUT_MAX_SKIP_ALIGN): Synch with x86-64.h (DWARF2_UNWIND_INFO): Remove define. (HAVE_ENABLE_EXECUTE_STACK): Define. * config/host-openbsd.c: New file. * config/t-openbsd (USER_H): Add EXTRA_HEADERS. * config/x-openbsd: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190863 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>cltang2012-08-292-1/+6
| | | | | | | | | | libgcc/ * config/mips/crtfastmath.c (set_fast_math): Add 'nomips16' attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190773 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/54222gjl2012-08-242-5/+10
| | | | | | | | * config/avr/t-avr (conv_X): Rename to func_X. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190646 138bc75d-0d04-0410-961f-82ee72b054a4
* libgcc/gjl2012-08-245-150/+1308
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR target/54222 * config/avr/lib1funcs-fixed.S: New file. * config/avr/lib1funcs.S: Include it. Undefine some divmodsi after they are used. (neg2, neg4): New macros. (__mulqihi3,__umulqihi3,__mulhi3): Rewrite non-MUL variants. (__mulhisi3,__umulhisi3,__mulsi3): Rewrite non-MUL variants. (__umulhisi3): Speed up MUL variant if there is enough flash. * config/avr/avr-lib.h (TA, UTA): Adjust according to gcc's avr-modes.def. * config/avr/t-avr (LIB1ASMFUNCS): Add: _fractqqsf, _fractuqqsf, _fracthqsf, _fractuhqsf, _fracthasf, _fractuhasf, _fractsasf, _fractusasf, _fractsfqq, _fractsfuqq, _fractsfhq, _fractsfuhq, _fractsfha, _fractsfsa, _mulqq3, _muluqq3, _mulhq3, _muluhq3, _mulha3, _muluha3, _mulsa3, _mulusa3, _divqq3, _udivuqq3, _divhq3, _udivuhq3, _divha3, _udivuha3, _divsa3, _udivusa3. (LIB2FUNCS_EXCLUDE): Add supported functions. gcc/ PR target/54222 * avr-modes.def (HA, SA, DA, TA, UTA): Adjust modes. * avr/avr-fixed.md: New file. * avr/avr.md: Include it. (cc): Add: minus. (adjust_len): Add: minus, minus64, ufract, sfract. (ALL1, ALL2, ALL4, ORDERED234): New mode iterators. (MOVMODE): Add: QQ, UQQ, HQ, UHQ, HA, UHA, SQ, USQ, SA, USA. (MPUSH): Add: HQ, UHQ, HA, UHA, SQ, USQ, SA, USA. (pushqi1, xload8_A, xload_8, movqi_insn, *reload_inqi, addqi3, subqi3, ashlqi3, *ashlqi3, ashrqi3, lshrqi3, *lshrqi3, *cmpqi, cbranchqi4, *cpse.eq): Generalize to handle all 8-bit modes in ALL1. (*movhi, reload_inhi, addhi3, *addhi3, addhi3_clobber, subhi3, ashlhi3, *ashlhi3_const, ashrhi3, *ashirhi3_const, lshrhi3, *lshrhi3_const, *cmphi, cbranchhi4): Generalize to handle all 16-bit modes in ALL2. (subhi3, casesi, strlenhi): Add clobber when expanding minus:HI. (*movsi, *reload_insi, addsi3, subsi3, ashlsi3, *ashlsi3_const, ashrsi3, *ashrhi3_const, *ashrsi3_const, lshrsi3, *lshrsi3_const, *reversed_tstsi, *cmpsi, cbranchsi4): Generalize to handle all 32-bit modes in ALL4. * avr-dimode.md (ALL8): New mode iterator. (adddi3, adddi3_insn, adddi3_const_insn, subdi3, subdi3_insn, subdi3_const_insn, cbranchdi4, compare_di2, compare_const_di2, ashrdi3, lshrdi3, rotldi3, ashldi3_insn, ashrdi3_insn, lshrdi3_insn, rotldi3_insn): Generalize to handle all 64-bit modes in ALL8. * config/avr/avr-protos.h (avr_to_int_mode): New prototype. (avr_out_fract, avr_out_minus, avr_out_minus64): New prototypes. * config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to... (avr_fixed_point_supported_p): ...this new static function. (TARGET_BUILD_BUILTIN_VA_LIST): Define to... (avr_build_builtin_va_list): ...this new static function. (avr_adjust_type_node): New static function. (avr_scalar_mode_supported_p): Allow if ALL_FIXED_POINT_MODE_P. (avr_builtin_setjmp_frame_value): Use gen_subhi3 and return new pseudo instead of gen_rtx_MINUS. (avr_print_operand, avr_operand_rtx_cost): Handle: CONST_FIXED. (notice_update_cc): Handle: CC_MINUS. (output_movqi): Generalize to handle respective fixed-point modes. (output_movhi, output_movsisf, avr_2word_insn_p): Ditto. (avr_out_compare, avr_out_plus_1): Also handle fixed-point modes. (avr_assemble_integer): Ditto. (output_reload_in_const, output_reload_insisf): Ditto. (avr_compare_pattern): Skip all modes > 4 bytes. (avr_2word_insn_p): Skip movuqq_insn, movqq_insn. (avr_out_fract, avr_out_minus, avr_out_minus64): New functions. (avr_to_int_mode): New function. (adjust_insn_length): Handle: ADJUST_LEN_SFRACT, ADJUST_LEN_UFRACT, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64. * config/avr/predicates.md (const0_operand): Allow const_fixed. (const_operand, const_or_immediate_operand): New. (nonmemory_or_const_operand): New. * config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ): New constraints. * config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190644 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (fixed-funcs,fixed-conv-funcs): filter-outgjl2012-08-233-4/+14
| | | | | | | | | | | LIB2FUNCS_EXCLUDE before adding them to libgcc-objects, libgcc-s-objects. * fixed-obj.mk: Only expand dependency if $o is not in LIB2FUNCS_EXCLUDE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190624 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -mlong-double-64/-mlong-double-80 to i386hjl2012-08-222-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * doc/invoke.texi: Document -mlong-double-64/-mlong-double-80. * config/i386/i386.c (flag_opts): Add -mlong-double-64. (TARGET_HAS_BIONIC): Default long double to 64-bit for Bionic. * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if TARGET_LONG_DOUBLE_64 is true. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New macro. (WIDEST_HARDWARE_FP_SIZE): Defined to 80. * config/i386/i386.opt (mlong-double-80): New option. (mlong-double-64): Likewise. * config/i386/i386-c.c (ix86_target_macros): Define __LONG_DOUBLE_64__ for TARGET_LONG_DOUBLE_64. gcc/testsuite/ * gcc.target/i386/long-double-64-1.c: New file. * gcc.target/i386/long-double-64-2.c: Likewise. * gcc.target/i386/long-double-64-3.c: Likewise. * gcc.target/i386/long-double-64-4.c: Likewise. * gcc.target/i386/long-double-80-1.c: Likewise. * gcc.target/i386/long-double-80-2.c: Likewise. * gcc.target/i386/long-double-80-3.c: Likewise. * gcc.target/i386/long-double-80-4.c: Likewise. * gcc.target/i386/long-double-80-5.c: Likewise. * gcc.target/i386/long-double-80-6.c: Likewise. * gcc.target/i386/long-double-80-7.c: Likewise. libgcc/ * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190599 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (vis_hide, gen-hide-list): Do not make definitionsjsm282012-08-223-14/+22
| | | | | | | | | | | | depend on --enable-shared. ($(lib1asmfuncs-o)): Use %.vis files independent of --enable-shared. * static-object.mk ($(base)$(objext), $(base).vis) ($(base)_s$(objext)): Use same rules for visibility handling as in shared-object.mk. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190588 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/morestack.S (__morestack_non_split): Increase amountian2012-08-212-4/+14
| | | | | | | of space allocated for non-split code stack. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190574 138bc75d-0d04-0410-961f-82ee72b054a4
* * crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibcjsm282012-08-192-1/+20
| | | | | | | even if inhibit_libc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190517 138bc75d-0d04-0410-961f-82ee72b054a4
* libgcc/jules2012-08-173-2/+20
| | | | | | | | | | | | | | * Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Default to -fexceptions -fnon-call-exceptions if not defined. ($(lib2-divmod-o), $(lib2-divmod-s-o)): Use above. * config/arm/t-bpabi (LIB2_DIVMOD_EXCEPTION_FLAGS): Define. gcc/testsuite/ * gcc.target/arm/div64-unwinding.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190483 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/m68k/linux-atomic.c (__sync_lock_test_and_set_1): Fixschwab2012-08-172-2/+7
| | | | | | | type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190480 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.host (*-*-aix*): Move rs6000/t-ibm-ldouble afterdje2012-08-172-3/+8
| | | | | | | rs6000/t-slibgcc-aix. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190465 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>segher2012-08-162-10/+4
| | | | | | | | | libgcc/ * longlong.h: (powerpc): Delete _ARCH_PWR and _ARCH_COM handling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190434 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>segher2012-08-162-17/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * config/rs6000/aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. (RS6000_CALL_GLUE): Adjust for single assembler syntax. * config/rs6000/aix51.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto. * config/rs6000/aix52.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto. * config/rs6000/aix53.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto. * config/rs6000/aix61.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto. * config/rs6000/darwin.h (TARGET_DEFAULT): Ditto. * config/rs6000/darwin.md (whole file): Adjust to single assembler syntax. * config/rs6000/darwin64.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. * config/rs6000/default64.h (TARGET_DEFAULT): Ditto. * config/rs6000/dfp.md: (whole file): Adjust to single assembler syntax. * config/rs6000/eabi.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto. * config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto. * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto. * config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto. * config/rs6000/rs6000-cpus.def (whole file): Delete POWERPC_BASE_MASK. * config/rs6000/rs6000-tables.opt: Regenerate. * config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete. (num_insns_constant_wide): Adjust comments. (whole file): Adjust to single assembler syntax. (output_cbranch): Adjust comment. * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Delete. * config/rs6000/rs6000.md: (whole file): Adjust to single assembler syntax. * config/rs6000/rs6000.opt (mnew-mnemonics): Delete. (mold-mnemonics): Delete. * config/rs6000/spe.md: (whole file): Adjust to single assembler syntax. * config/rs6000/sync.md: (whole file): Adjust to single assembler syntax. * config/rs6000/sysv4.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. (ASM_OUTPUT_REG_PUSH): Adjust. (ASM_OUTPUT_REG_POP): Adjust. * config/rs6000/sysv4le.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. * config/rs6000/vsx.md: (whole file): Adjust to single assembler syntax. * config/rs6000/vxworks.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. * doc/invoke.texi: Adjust documentation to reflect the removal of -mnew-mnemonics and -mold-mnemonics. libgcc/ * longlong.h: (whole file, powerpc): Adjust to single assembler syntax. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190432 138bc75d-0d04-0410-961f-82ee72b054a4
* Replace top_srcdir with srcdirhjl2012-08-042-1/+6
| | | | | | | | PR driver/54171 * Makefile.in (version): Replace top_srcdir with srcdir. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190140 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (version): set to BASE-VER file from gcc directory.ian2012-08-032-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190136 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/m32c/lib2funcs.c (__clrsbhi2): New function.nickc2012-08-012-1/+20
| | | | | | | Implements __clrsb for an HImode argument. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190032 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/stormy16/lib2funcs.c (__clrsbhi2): New function.nickc2012-07-314-0/+26
| | | | | | | | | Implements __clrsb for an HImode argument. * config/stormy16/clrsbhi2.c: New file: * config/stormy16/t-stormy16 (LIB2ADD): Add clrsbhi2.c. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189997 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/steven2012-07-232-2/+5
| | | | | | | | | | | | | | | | | | | * coverage.c: Refer to "notes file" instead of "graph file" in all comments. Explain history of bbg prefix. * gcov-io.h: Likewise. * gcov.c: Likewise. (find_source): Likewise in fnotice. (read_graph_file): Likewise. (read_count_file): Likewise. * doc/gcov.texi: Document -fprofile-dir flag. Add "notes file" and "data file" explicitly in the explanation of the files. libgcc/ * libgcov.c (__gcov_ior_profiler): Benign comment fix. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189781 138bc75d-0d04-0410-961f-82ee72b054a4
* libstdc++-v3/gingold2012-07-198-2/+558
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libsupc++/eh_personality.cc (__gxx_personality_seh0): New function. Adjust for SEH. * config/abi/pre/gnu.ver: Add __gxx_personality_seh0. libobjc/ * exception.c (__gnu_objc_personality_seh0): New function. libjava/ * libgcj.ver: Add __gcj_personality_seh0. * exception.cc (__gcj_personality_seh0): New function. Adjust for SEH. libgcc/ * unwind-seh.c: New file. * unwind-generic.h: Include windows.h for SEH. (_Unwind_Exception): Use 6 private fields for SEH. (_GCC_specific_handler): Declare. * unwind-c.c (__gcc_personality_seh0): New function. Adjust for SEH. * config/i386/libgcc-cygming.ver: New file. * config/i386/t-seh-eh: New file. * config.host (x86_64-*-mingw*): Default to seh. gcc/ * opts.c (finish_options): Handle UI_SEH. * expr.c (build_personality_function): Handle UI_SEH. * dwarf2out.c (dwarf2out_begin_prologue): Handle UI_SEH. * coretypes.h (unwind_info_type): Add UI_SEH. * config/i386/winnt.c (i386_pe_seh_emit_except_personality): New function. (i386_pe_seh_init_sections): Likewise. * config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define. (TARGET_ASM_INIT_SECTIONS): Define. * common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define. (i386_except_unwind_info): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189644 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/t-darwin (crt3.0): Remove work-around for fixed PR26840.steven2012-07-142-3/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189479 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Useuros2012-06-173-2/+8
| | | | | | | | | __builtin_expect when checking for exceptions. * config/ia64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188705 138bc75d-0d04-0410-961f-82ee72b054a4
* * ChangeLog: Fix whitespace.uros2012-06-131-9/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188521 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/sfp-machine.h (__sfp_handle_exceptions): Newuros2012-06-134-44/+85
| | | | | | | | | | | | function declaration. (FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions. (FP_RND_MASK): New. * config/ia64/sfp-exceptions.c: New. * config/ia64/t-softfp (LIB2ADD): Add sfp-exceptions.c. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188520 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/32/sfp-machine.h (_FP_NANSIGN_S, _FP_NANSIGN_D,uros2012-06-134-20/+27
| | | | | | | | | | | | | _FP_NANSIGN_E, _FP_NANSIGN_Q): Move ... * config/i386/64/sfp-machine: ... (delete here) ... * config/i386/sfp-machine.h: ... to here. (FP_EX_MASK): Remove. (FP_RND_MASK): New. (FP_INIT_ROUNDMODE): Declare asm as volatile. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188518 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-11 Sriraman Tallam <tmsriram@google.com>tmsriram2012-06-124-0/+10
| | | | | | | | | | | | | | | | | | * config/i386/libgcc-bsd.ver: Version symbol __cpu_indicator_init. * config/i386/libgcc-sol2.ver: Ditto. * config/i386/libgcc-glibc.ver: Ditto. * gcc.target/i386/builtin_target.c (vendor_signatures): New enum. (check_intel_cpu_model): New function. (check_amd_cpu_model): New function. (check_features): New function. (__get_cpuid_output): New function. (check_detailed): New function. (fn1): Rename to quick_check. (main): Update to call quick_check and call check_detailed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188417 138bc75d-0d04-0410-961f-82ee72b054a4
* * gthr-posix.h [neither FreeBSD nor Solaris] (__gthread_active_p):rth2012-06-112-8/+39
| | | | | | | If __GLIBC__ is defined, refer to __pthread_key_create instead of pthread_cancel. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188400 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/32/sfp-machine.h (__gcc_CMPtype, CMPtype,uros2012-06-097-254/+185
| | | | | | | | | | | | | | | | | | | | | _FP_KEEPNANFRACP, _FP_CHOOSENAN, FP_EX_INVALID, FP_EX_DENORM, FP_EX_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT, FP_HANDLE_EXCEPTIONS, FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF, FP_RND_MINF, _FP_DEXL_EX, FP_INIT_ROUNDMODE, FP_ROUNDMODE, __LITTLE_ENDIAN, __BIG_ENDIAN, strong_alias): Move ... * config/i386/64/sfp-machine: ... (delete here) ... * config/i386/sfp-machine.h: ... to here. (FP_EX_MASK): New. (__sfp_handle_exceptions): New function declaration. (FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions. * config/i386/sfp-exceptions.c: New. * config/i386/t-softfp: New. * config.host (i[34567]86-*-* and x86_64-*-* soft-fp targets): Add i386/t-softfp to tmake_file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188361 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix bug added to sparc 64-bit sub_ddmmss() implementation.davem2012-06-042-1/+6
| | | | | | | * longlong.h [SPARC] (sub_ddmmss): Fix thinko in previous 64-bit change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188163 138bc75d-0d04-0410-961f-82ee72b054a4
* Sparc longlong.h enhancements.davem2012-06-012-25/+61
| | | | | | | | | | libgcc/ * longlong.h [SPARC] (umul_ppmm, udiv_qrnnd): Use hardware integer multiply and divide instructions on 32-bit when V9. (add_ssaaaa, sub_ddmmss): Convert to branchless code on 64-bit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188090 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/arm/ieee754-df.S: Fix typos.jsm282012-05-2928-28/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/arm/ieee754-sf.S: Fix typos. * config/c6x/libunwind.S: Fix typos. * config/epiphany/udivsi3-float.c: Fix typos. * config/microblaze/muldi3_hard.S: Fix typos. * config/picochip/adddi3.S: Fix typos. * config/picochip/ashlsi3.S: Fix typos. * config/picochip/ashrsi3.S: Fix typos. * config/picochip/clzsi2.S: Fix typos. * config/picochip/cmpsi2.S: Fix typos. * config/picochip/divmod15.S: Fix typos. * config/picochip/divmodhi4.S: Fix typos. * config/picochip/divmodsi4.S: Fix typos. * config/picochip/longjmp.S: Fix typos. * config/picochip/lshrsi3.S: Fix typos. * config/picochip/parityhi2.S: Fix typos. * config/picochip/popcounthi2.S: Fix typos. * config/picochip/setjmp.S: Fix typos. * config/picochip/subdi3.S: Fix typos. * config/picochip/ucmpsi2.S: Fix typos. * config/picochip/udivmodhi4.S: Fix typos. * config/picochip/udivmodsi4.S: Fix typos. * config/spu/divv2df3.c: Fix typos. * config/spu/mfc_multi_tag_release.c: Fix typos. * config/spu/mfc_tag_release.c: Fix typos. * configure.ac: Fix typos. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187967 138bc75d-0d04-0410-961f-82ee72b054a4
* libgcc/:ian2012-05-252-8/+45
| | | | | | | | | | * config/i386/morestack.S (__morestack_non_split): Check whether caller is varargs and needs %bp to hold the stack frame on return. gcc/testsuite/: * gcc.dg/split-6.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187894 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud