summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* vxworks fixupskorbb2012-10-287-6/+316
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192898 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-28 Vladimir Makarov <vmakarov@redhat.com>vmakarov2012-10-286-10/+39
| | | | | | | | | | | | | | * rtl.h (struct rtx_def): Add a comment for member unchanging. * lra-int.h (LRA_TEMP_CLOBBER_P): New macro. (lra_hard_reg_substitution): Rename to lra_final_code_change. * lra-constraints.c (match_reload): Mark temporary clobbers. * lra-spill.c (lra_hard_reg_substitution): Rename to lra_final_code_change. Remove temporary clobbers. * lra.c (lra): Rename to lra_final_code_change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192897 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-28 Tobias Burnus <burnus@net-b.de>burnus2012-10-2811-36/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/54958 * gfortran.h (gfc_resolve_iterator_expr, gfc_check_vardef_context): Update prototype. * expr.c (gfc_check_vardef_context): Add own_scope argument and honour it. * resolve.c (gfc_resolve_iterator_expr): Add own_scope argument and honour it. (resolve_deallocate_expr, resolve_allocate_expr, resolve_data_variables, resolve_transfer resolve_lock_unlock, resolve_code): Update calls. * array.c (resolve_array_list): Ditto. * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto. * interface.c (compare_actual_formal): Ditto. * intrinsic.c (check_arglist): Ditto. * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): * Ditto. 2012-10-28 Tobias Burnus <burnus@net-b.de> PR fortran/54958 * gfortran.dg/do_check_6.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192896 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-28 Tobias Burnus <burnus@net-b.de>burnus2012-10-28120-805/+352
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * m4/bessel.m4: Remove useless statement. * m4/ifunction.m4: Remove unreachable code. * generated/bessel_r10.c: Regenerated. * generated/bessel_r16.c: Regenerated. * generated/bessel_r4.c: Regenerated. * generated/bessel_r8.c: Regenerated. * generated/iall_i1.c: Regenerated. * generated/iall_i16.c: Regenerated. * generated/iall_i2.c: Regenerated. * generated/iall_i4.c: Regenerated. * generated/iall_i8.c: Regenerated. * generated/iany_i1.c: Regenerated. * generated/iany_i16.c: Regenerated. * generated/iany_i2.c: Regenerated. * generated/iany_i4.c: Regenerated. * generated/iany_i8.c: Regenerated. * generated/iparity_i1.c: Regenerated. * generated/iparity_i16.c: Regenerated. * generated/iparity_i2.c: Regenerated. * generated/iparity_i4.c: Regenerated. * generated/iparity_i8.c: Regenerated. * generated/maxloc1_16_i1.c: Regenerated. * generated/maxloc1_16_i16.c: Regenerated. * generated/maxloc1_16_i2.c: Regenerated. * generated/maxloc1_16_i4.c: Regenerated. * generated/maxloc1_16_i8.c: Regenerated. * generated/maxloc1_16_r10.c: Regenerated. * generated/maxloc1_16_r16.c: Regenerated. * generated/maxloc1_16_r4.c: Regenerated. * generated/maxloc1_16_r8.c: Regenerated. * generated/maxloc1_4_i1.c: Regenerated. * generated/maxloc1_4_i16.c: Regenerated. * generated/maxloc1_4_i2.c: Regenerated. * generated/maxloc1_4_i4.c: Regenerated. * generated/maxloc1_4_i8.c: Regenerated. * generated/maxloc1_4_r10.c: Regenerated. * generated/maxloc1_4_r16.c: Regenerated. * generated/maxloc1_4_r4.c: Regenerated. * generated/maxloc1_4_r8.c: Regenerated. * generated/maxloc1_8_i1.c: Regenerated. * generated/maxloc1_8_i16.c: Regenerated. * generated/maxloc1_8_i2.c: Regenerated. * generated/maxloc1_8_i4.c: Regenerated. * generated/maxloc1_8_i8.c: Regenerated. * generated/maxloc1_8_r10.c: Regenerated. * generated/maxloc1_8_r16.c: Regenerated. * generated/maxloc1_8_r4.c: Regenerated. * generated/maxloc1_8_r8.c: Regenerated. * generated/maxval_i1.c: Regenerated. * generated/maxval_i16.c: Regenerated. * generated/maxval_i2.c: Regenerated. * generated/maxval_i4.c: Regenerated. * generated/maxval_i8.c: Regenerated. * generated/maxval_r10.c: Regenerated. * generated/maxval_r16.c: Regenerated. * generated/maxval_r4.c: Regenerated. * generated/maxval_r8.c: Regenerated. * generated/minloc1_16_i1.c: Regenerated. * generated/minloc1_16_i16.c: Regenerated. * generated/minloc1_16_i2.c: Regenerated. * generated/minloc1_16_i4.c: Regenerated. * generated/minloc1_16_i8.c: Regenerated. * generated/minloc1_16_r10.c: Regenerated. * generated/minloc1_16_r16.c: Regenerated. * generated/minloc1_16_r4.c: Regenerated. * generated/minloc1_16_r8.c: Regenerated. * generated/minloc1_4_i1.c: Regenerated. * generated/minloc1_4_i16.c: Regenerated. * generated/minloc1_4_i2.c: Regenerated. * generated/minloc1_4_i4.c: Regenerated. * generated/minloc1_4_i8.c: Regenerated. * generated/minloc1_4_r10.c: Regenerated. * generated/minloc1_4_r16.c: Regenerated. * generated/minloc1_4_r4.c: Regenerated. * generated/minloc1_4_r8.c: Regenerated. * generated/minloc1_8_i1.c: Regenerated. * generated/minloc1_8_i16.c: Regenerated. * generated/minloc1_8_i2.c: Regenerated. * generated/minloc1_8_i4.c: Regenerated. * generated/minloc1_8_i8.c: Regenerated. * generated/minloc1_8_r10.c: Regenerated. * generated/minloc1_8_r16.c: Regenerated. * generated/minloc1_8_r4.c: Regenerated. * generated/minloc1_8_r8.c: Regenerated. * generated/minval_i1.c: Regenerated. * generated/minval_i16.c: Regenerated. * generated/minval_i2.c: Regenerated. * generated/minval_i4.c: Regenerated. * generated/minval_i8.c: Regenerated. * generated/minval_r10.c: Regenerated. * generated/minval_r16.c: Regenerated. * generated/minval_r4.c: Regenerated. * generated/minval_r8.c: Regenerated. * generated/product_c10.c: Regenerated. * generated/product_c16.c: Regenerated. * generated/product_c4.c: Regenerated. * generated/product_c8.c: Regenerated. * generated/product_i1.c: Regenerated. * generated/product_i16.c: Regenerated. * generated/product_i2.c: Regenerated. * generated/product_i4.c: Regenerated. * generated/product_i8.c: Regenerated. * generated/product_r10.c: Regenerated. * generated/product_r16.c: Regenerated. * generated/product_r4.c: Regenerated. * generated/product_r8.c: Regenerated. * generated/sum_c10.c: Regenerated. * generated/sum_c16.c: Regenerated. * generated/sum_c4.c: Regenerated. * generated/sum_c8.c: Regenerated. * generated/sum_i1.c: Regenerated. * generated/sum_i16.c: Regenerated. * generated/sum_i2.c: Regenerated. * generated/sum_i4.c: Regenerated. * generated/sum_i8.c: Regenerated. * generated/sum_r10.c: Regenerated. * generated/sum_r16.c: Regenerated. * generated/sum_r4.c: Regenerated. * generated/sum_r8.c: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192895 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/55041redi2012-10-282-4/+21
| | | | | | | | * python/libstdcxx/v6/printers.py (Tr1UnorderedMapPrinter): Update to handle hashtable as member of unordered_map not base class. (Tr1UnorderedSetPrinter): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192894 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/ipa/inlinehint-3.c: New testcase.hubicka2012-10-284-6/+67
| | | | | | | | | | * ipa-inline.c (edge_badness): Fix overflow. (inline_small_functions): Initialize SCCs correctly. (do_estimate_edge_time, do_estimate_edge_hints): Skip self recursive functions in SCC hints. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192891 138bc75d-0d04-0410-961f-82ee72b054a4
* PR rtl-optimization/38711steven2012-10-283-2/+27
| | | | | | | | | | | | | * ira.c (ira): Remove DF_LIVE if the problem is in the stack. (do_reload): Add it back at the end for -O2 and higher. * function.c (thread_prologue_and_epilogue_insns): Use REG_SET_TO_HARD_REG_SET instead of CLEAR_HARD_REG_SET and reg_set_to_hard_reg_set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192890 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix previous commit.hubicka2012-10-281-0/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192889 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-inline.c (edge_badness): Reduce precision; use scc hints.hubicka2012-10-284-13/+61
| | | | | | | | | | | | | | (inline_small_functions): Fix dumps; update all callees after inlining. * ipa-inline.h (INLINE_HINT_in_scc, INLINE_HINT_same_scc): New constants. (inline summary): Add SCC_NO. * ipa-inline-analysis.c (dump_inline_hints): Dump SCC hints. (reset_inline_summary): Reset scc_no. (estimate_node_size_and_time): Set in_scc hint. (do_estimate_edge_time): Add same_scc hint. (do_estimate_edge_hints): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192888 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/cppopts.texi: Fix use of @item vs. @itemx inside @table.schwab2012-10-287-31/+38
| | | | | | | | | | | * doc/extend.texi: Likewise. * doc/generic.texi: Likewise. * doc/invoke.texi: Likewise. * doc/md.texi: Likewise. * doc/sourcebuild.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192887 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/tm.texi.in (Misc): Add newline before @end.schwab2012-10-283-2/+9
| | | | | | | * doc/tm.texi: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192886 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2012-10-281-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192884 138bc75d-0d04-0410-961f-82ee72b054a4
* * lra-assigns.c (find_hard_regno_for): Fix use of WORDS_BIG_ENDIAN.amylaar2012-10-272-9/+10
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192879 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/55034gjl2012-10-272-3/+5
| | | | | | | | * config/avr/avr.c (avr_out_lpm): Remove unused regno_dest. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192878 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/55042olegendo2012-10-272-0/+8
| | | | | | | | * config/sh/sh.c (sh1_builtin_p): Comment out unused function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192877 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-27 François Dumont <fdumont@gcc.gnu.org>fdumont2012-10-275-124/+1230
| | | | | | | | | | | | | | | | | | | | | | * include/bits/unordered_map.h (unordered_map<>): Prefer aggregation to inheritance with _Hashtable. (unordered_multimap<>): Likewise. * include/bits/unordered_set.h (unordered_set<>(const unordered_set&)): Use default implementation. (unordered_set<>(unordered_set&&)): Likewise. (unordered_set<>::operator=(const unordered_set&)): Likewise. (unordered_set<>::operator=(unordered_set&&)): Likewise. (unordered_multiset<>(const unordered_multiset&)): Likewise. (unordered_multiset<>(unordered_multiset&&)): Likewise. (unordered_multiset<>::operator=(const unordered_multiset&)): Likewise. (unordered_multiset<>::operator=(unordered_multiset&&)): Likewise. * include/debug/unordered_map (operator==): Adapt. * include/profile/unordered_map (operator==): Adapt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192876 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-27 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2012-10-272-16/+17
| | | | | | | | | | * trans.c (gfc_allocate_allocatable): Revert accidental commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192875 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite:iains2012-10-273-2/+10
| | | | | | | | | | | | | | 2012-10-27 Dominique Dhumieres <dominiq@lps.ens.fr> Jack Howarth <howarth@bromo.med.uc.edu> PR target/54404 * g++.dg/other/darwin-cfstring1.C: Add -ftrack-macro-expansion=0 to dg-options. * obj-c++.dg/strings/const-cfstring-2.mm: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192874 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.md (*lea<mode>): Remove unneeded temporary.uros2012-10-272-3/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192873 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/34283uros2012-10-272-0/+17
| | | | | | | | * gcc.target/i386/pr34283.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192872 138bc75d-0d04-0410-961f-82ee72b054a4
* Update sparc constraint comments and documentation.davem2012-10-273-14/+25
| | | | | | | | | * config/sparc/constraints.md: Update unused letter list, move "w" near other memory constraints. Remove no longer relevant comment. * doc/md.texi: Sync sparc constraint documentation with reality. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192871 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2012-10-271-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192870 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rl78/rl78.c (rl78_as_legitimate_address): Do not allowdj2012-10-262-0/+12
| | | | | | | reg+addend addresses for the _far namespace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192866 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/segher2012-10-262-1/+5
| | | | | | | * config/rs6000/sync.md (ATOMIC): Correct DI condition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192863 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/55081jakub2012-10-264-5/+29
| | | | | | | | | | * typeck2.c (store_init_value): Call fold_non_dependent_expr and maybe_constant_init even for C++98. * g++.dg/opt/pr55081.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192862 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/55087ian2012-10-265-7/+31
| | | | | | | | | | | | * posix.c (backtrace_open): Add does_not_exist parameter. * elf.c (phdr_callback): Do not warn if shared library could not be opened. * fileline.c (fileline_initialize): Update calls to backtrace_open. * internal.h (backtrace_open): Update declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192861 138bc75d-0d04-0410-961f-82ee72b054a4
* PR debug/54970jakub2012-10-267-4/+101
| | | | | | | | | | | | | | | | * cfgexpand.c (expand_debug_expr): Expand &MEM_REF[&var, n] as DEBUG_IMPLICIT_PTR + n if &var expands to DEBUG_IMPLICIT_PTR. * tree-sra.c (create_access_replacement): Allow also MEM_REFs with ADDR_EXPR first operand in DECL_DEBUG_EXPR expressions. * var-tracking.c (track_expr_p): Handle MEM_REFs in DECL_DEBUG_EXPR expressions. * dwarf2out.c (add_var_loc_to_decl): Likewise. PR debug/54971 * gcc.dg/guality/pr54970.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192860 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyrightschwab2012-10-261-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192859 138bc75d-0d04-0410-961f-82ee72b054a4
* * ChangeLog: Fix whitespace.uros2012-10-262-40/+26
| | | | | | | * testsute/ChangeLog: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192856 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.uros2012-10-263-19/+32
| | | | | | | | | | | Clear only fxsave.mxcsr_mask. Use saved mxcsr from fxsave structure when appropriate. Correct structure element types. * config/i386/t-crtfm (crtfastmath.o): Compile with -mfxsr, remove -minline-all-stringops from compile flags. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192855 138bc75d-0d04-0410-961f-82ee72b054a4
* syscall: fix creds_test to reliably close os.Fileian2012-10-261-2/+6
| | | | | | | | | | | | | | | | | | | | Uncovered by Uros Bizjak. Before this patch the test would close the file descriptor but not the os.File. When the os.File was GC'ed, the finalizer would close the file descriptor again. That would cause problems if the same file descriptor were returned by a later call to open in another test. On my system: > GOGC=30 go test --- FAIL: TestPassFD (0.04 seconds) passfd_test.go:62: FileConn: dup: bad file descriptor FAIL git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192854 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/55061ian2012-10-263-5/+40
| | | | | | | | * configure.ac: Check for _Unwind_GetIPInfo function declaration. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192853 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-threadedge.c (cond_arg_set_in_bb): Use last stmt.law2012-10-262-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192852 138bc75d-0d04-0410-961f-82ee72b054a4
* Author: Gunther Nikl <gnikl@users.sourceforge.net>schwab2012-10-262-1/+10
| | | | | | | | * common/config/m68k/m68k-common.c (m68k_handle_option): Set gcc_options fields of opts_set for -m68020-40 and -m68020-60. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192851 138bc75d-0d04-0410-961f-82ee72b054a4
* Avoid conservative behavior in REE by allowing removal of redundant extendstejohnson2012-10-264-1/+97
| | | | | | | | | | | | | | | | | | when the def feeds another extend with a different mode. This works because in merge_def_and_ext only calls combine_set_extension if the candidate for removal has a wider mode than the def extend's mode, otherwise the def extend mode is preserved. In combine_set_extension the def is modified to use the wider candidate's mode. 2012-10-26 Teresa Johnson <tejohnson@google.com> * ree.c (add_removable_extension): Remove unnecessary mode check with other extension. * testsuite/gcc.c-torture/execute/20111227-2.c: New test. * testsuite/gcc.c-torture/execute/20111227-3.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192850 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-inline-transform.c (inline_call): Only account size changeshubicka2012-10-262-1/+9
| | | | | | | for !DECL_EXTERNAL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192849 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-26 Martin Jambor <mjambor@suse.cz>jamborm2012-10-262-14/+166
| | | | | | | | | | | | | | | | | | PR debug/54971 * tree-sra.c (struct access): New flag grp_to_be_debug_replaced. (dump_access): Dump the new flag. (analyze_access_subtree): Set the new flag when appropriate. (create_access_replacement): Handle debug replacements differently. (generate_subtree_copies): Handle the grp_to_be_debug_replaced flag. (init_subtree_with_zero): Likewise. (sra_modify_expr): Likewise. (load_assign_lhs_subreplacements): Likewise. (sra_modify_assign): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192848 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2012-10-264-1/+41
| | | | | | | | | | | | | | | | | | 2012-10-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/54984 * init.c (build_new): Don't turn a null *init into a pointer to empty vector orig_init. /testsuite 2012-10-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/54984 * g++.dg/template/new11.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192846 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (insn_is_function_arg) : Add check on CALLkyukhin2012-10-262-11/+30
| | | | | | | | | | | instruction. (ix86_dependencies_evaluation_hook): Insert dependencies in all predecessors of call block for non-trivial region avoiding creation of loop-carried dependency to avoid cross-block motion of HW registers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192842 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-26 Richard Biener <rguenther@suse.de>rguenth2012-10-264-0/+46
| | | | | | | | | | | PR middle-end/54824 * tree-optimize.c (execute_fixup_cfg): Insert __builtin_unreachable at the end of blocks with no successors. * gcc.dg/torture/pr54824.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192841 138bc75d-0d04-0410-961f-82ee72b054a4
* ChangeLog/kyukhin2012-10-2633-38/+812
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc/common/config/i386/i386-common.c (OPTION_MASK_ISA_FXSR_SET): New. (OPTION_MASK_ISA_XSAVE_SET): Likewise. (OPTION_MASK_ISA_XSAVEOPT_SET): Likewise. (ix86_handle_option): Handle mfxsr, mxsave, mxsaveopt options. * gcc/config.gcc (i[34567]86-*-*): Add fxsrintrin.h, xsaveintrin.h, xsaveoptintrin.h. (x86_64-*-*): Likewise. * config/i386/fxsrintrin.h: New header. * config/i386/xsaveintrin.h: Likewise. * config/i386/xsaveoptintrin.h: Likewise. * gcc/config/i386/driver-i386.c (host_detect_local_cpu): Detect FXSR/XSAVE/XSAVEOPT support. * gcc/config/i386/i386-builtin-types.def (VOID_FTYPE_PVOID_INT64): New function type. * gcc/config/i386/i386-c.c: Define __FXSR__, __XSAVE__ and __XSAVEOPT__ if needed. * gcc/config/i386/i386.c (ix86_target_string): Define -mfxsr, -mxsave and -mxsaveopt options. (PTA_FXSR): New. (PTA_XSAVE): Likewise. (PTA_XSAVEOPT): Likewise. (ix86_option_override_internal): Handle new option. (processor_alias_table): Added PTA_FXSR, PTA_XSAVE, PTA_XSAVEOPT. (ix86_valid_target_attribute_inner_p): Add OPT_mfxsr, OPT_mxsave, OPT_mxsaveopt. (ix86_builtins): Add IX86_BUILTIN_FXSAVE, IX86_BUILTIN_FXRSTOR, IX86_BUILTIN_FXSAVE64, IX86_BUILTIN_XSAVE, IX86_BUILTIN_XSAVE64, IX86_BUILTIN_XRSTOR, IX86_BUILTIN_XRSTOR64, IX86_BUILTIN_XSAVEOPT, IX86_BUILTIN_XSAVEOPT64. (ix86_expand_builtin): Handle these built-ins. * gcc/config/i386/i386.h (TARGET_FXSR): New. (TARGET_XSAVE): Likewise. (TARGET_XSAVEOPT): Likewise. * gcc/config/i386/i386.md (ANY_XSAVE): New int iterator. (ANY_XSAVE64): Likewise. (xsave): New int attribute. (fxsave): New instruction. (fxsave64): Likewise. (fxrstor): Likewise. (fxrstor64): Likewise. (<xsave>): Likewise. (<xsave>_rex64): Likewise. (xrstor): Likewise. (xrstor_rex64): Likewise. (xrstor64): Likewise. * gcc/config/i386/i386.opt (mfxsr): New. (mxsave): Likewise. (mxsaveopt): Likewise. * gcc/config/i386/x86intrin.h: Include xsaveintrin.h, fxsrintrin.h, xsaveoptintrin.h. testsuite/ChangeLog * gcc.target/i386/fxsave-1.c: New. * gcc.target/i386/fxsave64-1.c: Ditto. * gcc.target/i386/fxrstor-1.c: Ditto. * gcc.target/i386/fxrstor64-1.c: Ditto. * gcc.target/i386/xsave-1.c: Ditto. * gcc.target/i386/xsave64-1.c: Ditto. * gcc.target/i386/xrstor-1.c: Ditto. * gcc.target/i386/xrstor64-1.c: Ditto. * gcc.target/i386/xsaveopt-1.c: Ditto. * gcc.target/i386/xsaveopt64-1.c: Ditto. * gcc.target/i386/sse-12.c: Add -mfxsr, -mxsaveopt. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. * g++.dg/other/i386-2.C: Ditto. * g++.dg/other/i386-3.C: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192840 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-26 Ralf Corsépius <ralf.corsepius@rtems.org>corsepiu2012-10-262-2/+5
| | | | | | | | * config/avr/t-rtems: Revert previous commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192838 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2012-10-265-481/+595
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR bootstrap/55049 * Makefile.in (rtlanal.o): Add dependency on addresses.h. * rtl.h (address_info): New structure. (strip_address_mutations, decompose_address, decompose_lea_address) (decompose_mem_address, update_address, get_index_scale) (get_index_code): Declare. * rtlanal.c: Include addresses.h. (strip_address_mutations, must_be_base_p, must_be_index_p) (set_address_segment, set_address_base, set_address_index) (set_address_disp, decompose_incdec_address, decompose_automod_address) (extract_plus_operands, baseness, decompose_normal_address) (decompose_address, decompose_lea_address, decompose_mem_address) (update_address, get_index_scale, get_index_code): New functions. * lra-constraints.c (strip_subreg): New function. (address, extract_loc_address_regs, extract_address_regs) (get_index_scale): Delete. (process_addr_reg): Apply strip_subreg to the location. (uses_hard_regs_p): Use decompose_mem_address. (valid_address_p, base_plus_disp_to_reg, can_add_disp_p) (equiv_address_substitution): Take an address_info rather than an address. Remove other arguments. Avoid using Pmode. (process_address): Use decompose_mem_address and decompose_lea_address. Update calls to above functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192837 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2012-10-262-6/+11
| | | | | | | | * lra-constraints.c (process_address): Tighten arguments to base_reg_class. Use simplify_gen_binary to generate PLUS rtxes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192836 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2012-10-262-8/+66
| | | | | | | | * lra-constraints.c (get_index_scale, can_add_disp_p): New functions. (equiv_address_substitution): Use them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192835 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2012-10-262-34/+42
| | | | | | | | * lra-constraints.c (valid_address_p): New function, split out from... (process_address): ...here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192834 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2012-10-262-13/+44
| | | | | | | | * lra-constraints.c (process_address): Describe the kinds of address that we might see. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192833 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-25 Vladimir Makarov <vmakarov@redhat.com>vmakarov2012-10-263-9/+7
| | | | | | | | | | * lra-int.h (lra_assert): Redefine it gcc_checking_assert. * lra-constraints.c (check_and_process_move): Remove #if ENABLE_ASSERT_CHECKING. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192832 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-26 Ralf Corsépius <ralf.corsepius@rtems.org>corsepiu2012-10-263-2/+8
| | | | | | | | | | * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove __USE_INIT_FINI__. * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192828 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2012-10-261-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192827 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud