Uros Bizjak [Tue, 1 Nov 2011 22:46:07 +0000 (23:46 +0100)]
i386.md (splitters for int-float conversion): Use SUBREG_REG on SUBREGs in splitter constraints.
* config/i386/i386.md (splitters for int-float conversion): Use
SUBREG_REG on SUBREGs in splitter constraints.
From-SVN: r180748
Andrew Stubbs [Tue, 1 Nov 2011 21:57:39 +0000 (21:57 +0000)]
bpabi.h (BE8_LINK_SPEC): Recognize generic-armv7 tuning.
2011-11-01 Andrew Stubbs <ams@codesourcery.com>
* config/arm/bpabi.h (BE8_LINK_SPEC): Recognize generic-armv7 tuning.
From-SVN: r180747
Tom de Vries [Tue, 1 Nov 2011 21:48:22 +0000 (21:48 +0000)]
re PR tree-optimization/50908 (building emacs-23.3; gives msg: indent.c:1140:1: internal compiler error: in verify_dominators, at dominance.c:1041)
2011-11-01 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/50908
* gcc.dg/pr50908.c: New test.
* gcc.dg/pr50908-2.c: Same.
* gcc.dg/pr50908-3.c: Same.
From-SVN: r180746
Uros Bizjak [Tue, 1 Nov 2011 21:36:30 +0000 (22:36 +0100)]
i386.md (splitters for int-float conversion): Use reg_or_subregno in splitter constraints.
* config/i386/i386.md (splitters for int-float conversion): Use
reg_or_subregno in splitter constraints.
From-SVN: r180745
Jakub Jelinek [Tue, 1 Nov 2011 20:16:20 +0000 (21:16 +0100)]
i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si): New prototype.
* config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si): New
prototype.
* config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): New
function.
* config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Use
it.
(ssepackfltmode): New mode attr.
(vec_pack_ufix_trunc_<mode>): New expander.
From-SVN: r180743
Uros Bizjak [Tue, 1 Nov 2011 19:48:34 +0000 (20:48 +0100)]
i386.md (floatsi<mode>2_vector_sse_with_temp splitter): Compare <ssevecmode>mode with V4SFmode, not V4SImode.
* config/i386/i386.md (floatsi<mode>2_vector_sse_with_temp splitter):
Compare <ssevecmode>mode with V4SFmode, not V4SImode.
From-SVN: r180742
Peter Bergner [Tue, 1 Nov 2011 18:53:46 +0000 (13:53 -0500)]
config.gcc (powerpc*-*-linux*): Add powerpc*-*-linux*ppc476* variant.
* config.gcc (powerpc*-*-linux*): Add powerpc*-*-linux*ppc476* variant.
* config/rs6000/476.h: New file.
* config/rs6000/476.opt: Likewise.
* config/rs6000/rs6000.h (TARGET_LINK_STACK): New define.
(SET_TARGET_LINK_STACK): Likewise.
(TARGET_ASM_CODE_END): Define.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Enable
TARGET_LINK_STACK for -mtune=476 and -mtune=476fp.
(rs6000_legitimize_tls_address): Emit the link stack preserving GOT
code if TARGET_LINK_STACK.
(rs6000_emit_load_toc_table): Likewise.
(output_function_profiler): Likewise
(macho_branch_islands): Likewise
(machopic_output_stub): Likewise
(get_ppc476_thunk_name): New function.
(rs6000_code_end): Likewise.
* config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
Convert to a define_expand.
(load_toc_v4_PIC_1_normal): New define_insn.
(load_toc_v4_PIC_1_476): Likewise.
(load_toc_v4_PIC_1b_normal): Likewise.
(load_toc_v4_PIC_1b_476): Likewise.
From-SVN: r180741
Georg-Johann Lay [Tue, 1 Nov 2011 14:10:13 +0000 (14:10 +0000)]
re PR target/50910 ([avr] inefficient division by 2)
PR target/50910
* config/avr/avr.opt (-mbranch-cost=): New option.
* config/avr/avr.h (BRANCH_COST): Define to avr_branch_cost.
* config/avr/avr.c (avr_rtx_costs_1): Adjust [U]DIV/[U]MOD costs.
* config/avr/avr.md (*addqi3.lt0, *addhi3.lt0, *addsi3.lt0): New insns.
(*addhi3_zero_extend1): Remov % in constraint of operand 1.
(*addhi3.sign_extend1, *subhi3.sign_extend2): New insns.
From-SVN: r180739
Jason Merrill [Tue, 1 Nov 2011 13:48:16 +0000 (09:48 -0400)]
re PR c++/50500 ([C++0x] [DR 1082] move constructor should cause copy constructor to be deleted, but still declared)
PR c++/50500
DR 1082
* search.c (lookup_fnfields_idx_nolazy): Split out from...
(lookup_fnfields_1): ...here.
(lookup_fnfields_slot_nolazy): Use it.
* cp-tree.h: Declare it.
* class.c (type_has_move_assign): Use it.
(type_has_user_declared_move_assign): Likewise.
From-SVN: r180738
Tom de Vries [Tue, 1 Nov 2011 12:42:01 +0000 (12:42 +0000)]
re PR tree-optimization/50908 (building emacs-23.3; gives msg: indent.c:1140:1: internal compiler error: in verify_dominators, at dominance.c:1041)
2011-11-01 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/50908
* tree-ssa-tail-merge.c (update_vuses): Now that edges are removed
before update_vuses, test for 1 predecessor rather than two.
(delete_block_update_dominator_info): New function, part of it factored
out of ...
(replace_block_by): Use delete_block_update_dominator_info. Call
update_vuses after deleting bb1 and updating dominator info, instead of
before.
From-SVN: r180737
Janne Blomqvist [Tue, 1 Nov 2011 12:03:38 +0000 (14:03 +0200)]
Copyright years and whitespace fix for r180734
From-SVN: r180736
Ira Rosen [Tue, 1 Nov 2011 11:48:24 +0000 (11:48 +0000)]
no-scevccp-outer-6-global.c: Expect to vectorize the outer loop.
* gcc.dg/vect/no-scevccp-outer-6-global.c: Expect to vectorize
the outer loop. Remove comment. Don't check for widen-mult.
From-SVN: r180735
Janne Blomqvist [Tue, 1 Nov 2011 11:44:12 +0000 (13:44 +0200)]
Cleanup NEWUNIT allocation.
2011-11-01 Janne Blomqvist <jb@gcc.gnu.org>
* io/io.h (next_available_newunit): Remove prototype.
* io/unit.h (next_available_newunit): Make variable static,
initialize it.
(init_units): Don't initialize next_available_newunit.
(get_unique_unit_number): Use atomic builtin if available.
From-SVN: r180734
David S. Miller [Tue, 1 Nov 2011 08:42:57 +0000 (08:42 +0000)]
Add vcond/vcondu patterns to sparc backend.
* config/sparc/sparc.c (sparc_expand_vcond): New function.
* config/sparc/sparc-protos.h (sparc_expand_vcond): Declare it.
* config/sparc/sparc.md (vcond<mode><mode>): New VIS3 expander.
(vconduv8qiv8qi): Likewise.
From-SVN: r180733
Ian Lance Taylor [Tue, 1 Nov 2011 05:20:40 +0000 (05:20 +0000)]
runtime: Don't ask mmap for wrapping memory.
From-SVN: r180732
Ian Lance Taylor [Tue, 1 Nov 2011 04:55:15 +0000 (04:55 +0000)]
runtime: Correct test of mmap return value.
From-SVN: r180731
Ian Lance Taylor [Tue, 1 Nov 2011 04:12:01 +0000 (04:12 +0000)]
syscall: Portability code for epoll_event on GNU/Linux.
From-SVN: r180729
Jason Merrill [Tue, 1 Nov 2011 04:02:56 +0000 (00:02 -0400)]
* c.opt (-fdeduce-init-list): Off by default.
From-SVN: r180728
Jason Merrill [Tue, 1 Nov 2011 04:02:45 +0000 (00:02 -0400)]
Makefile.am (install-freestanding-headers): Install c++0x_warning.h.
* include/Makefile.am (install-freestanding-headers): Install
c++0x_warning.h.
* libsupc++/initializer_list: Include it.
From-SVN: r180727
Jason Merrill [Tue, 1 Nov 2011 04:02:31 +0000 (00:02 -0400)]
* doc/invoke.texi: Update for -std=c++11.
From-SVN: r180726
Alexandre Oliva [Tue, 1 Nov 2011 02:09:00 +0000 (02:09 +0000)]
re PR debug/50869 (ice in vt_expand_var_loc_chain)
PR debug/50869
* cselib.c (cfa_base_preserved_regno): Initialize.
(cselib_expand_value_rtx_1): Don't expand it.
* var-tracking.c (vt_expand_var_loc_chain): Initialize depth.
Check it's only zero if result is NULL.
From-SVN: r180725
Jakub Jelinek [Tue, 1 Nov 2011 01:09:58 +0000 (02:09 +0100)]
sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New expander.
* config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New
expander.
From-SVN: r180724
Jakub Jelinek [Tue, 1 Nov 2011 01:09:07 +0000 (02:09 +0100)]
sse.md (sseintvecmode): Remove duplicate modes.
* config/i386/sse.md (sseintvecmode): Remove duplicate modes.
(sseintvecmodelower): New mode iterator.
(floatv8siv8sf2, floatunsv4siv4sf2): Macroize into...
(float<sseintvecmodelower><mode>2): ... this using VF1 iterator.
(floatunsv4siv4sf2): Macroize into...
(floatuns<sseintvecmodelower><mode>2): ... this using VF1 iterator.
From-SVN: r180723
GCC Administrator [Tue, 1 Nov 2011 00:18:07 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r180721
Gerald Pfeifer [Tue, 1 Nov 2011 00:02:45 +0000 (00:02 +0000)]
acinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux.
* acinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux.
* configure: Regenerate.
From-SVN: r180717
Ian Lance Taylor [Mon, 31 Oct 2011 22:09:21 +0000 (22:09 +0000)]
syscall: Use sched_yield rather than pthread_yield.
From-SVN: r180716
David S. Miller [Mon, 31 Oct 2011 22:09:12 +0000 (22:09 +0000)]
Allow zero operand in sparc VIS3 cmask patterns.
* config/sparc/sparc.md (cmask patterns): Allow zero operand.
From-SVN: r180715
Ian Lance Taylor [Mon, 31 Oct 2011 21:55:22 +0000 (21:55 +0000)]
syscall: Fix Errstr on systems without strerror_r.
From-SVN: r180714
David S. Miller [Mon, 31 Oct 2011 21:51:22 +0000 (21:51 +0000)]
Invalidate cached next real insn in dwarf2out_end_epilogue().
* dwarf2out.c (cached_next_real_insn): New.
(dwarf2out_end_epilogue): Set it to NULL_RTX.
(dwarf2out_var_location): Remove cached_next_real_insn local static.
From-SVN: r180713
Ian Lance Taylor [Mon, 31 Oct 2011 21:47:30 +0000 (21:47 +0000)]
syscall: Remove a couple more 3-parameter match's in mksyscall.awk.
From-SVN: r180712
Richard Henderson [Mon, 31 Oct 2011 19:36:57 +0000 (12:36 -0700)]
i386: Remove TARGET_VECTORIZE_BUILTIN_CONVERSION.
Renaming all of the insn patterns as needed to the standard
optab forms. Sadly, only one of the builtins is unused by
the various header files, so most of them must stay around.
* config/i386/sse.md (floatv8siv8sf2): Rename from avx_cvtdq2ps256.
(floatv4siv4sf2): Rename from sse2_cvtdq2ps.
(floatunsv4siv4sf2): Rename from sse2_cvtudq2ps.
(fix_truncv8sfv8si2): Rename from avx_cvttps2dq256.
(fix_truncv4sfv4si2): Rename from sse2_cvttps2dq.
(floatv4siv4df2): Rename from avx_cvtdq2pd256.
(fix_truncv4dfv4si2): Rename from avx_cvttpd2dq256.
(vec_unpacku_float_hi_v8si): Update for insn pattern name changes.
* config/i386/i386.md (splitters for int-float conversion): Likewise.
* config/i386/i386.c (ix86_split_convert_uns_si_sse): Likewise.
(bdesc_args): Likewise.
(enum ix86_builtins) [IX86_BUILTIN_CVTUDQ2PS]: Remove.
(ix86_vectorize_builtin_conversion): Remove.
(TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove.
From-SVN: r180709
Jason Merrill [Mon, 31 Oct 2011 19:34:26 +0000 (15:34 -0400)]
re PR libstdc++/1773 (__cplusplus defined to 1, should be 199711L)
PR libstdc++/1773
* init.c (cpp_init_builtins): Set __cplusplus for C++11.
From-SVN: r180708
Jason Merrill [Mon, 31 Oct 2011 19:34:14 +0000 (15:34 -0400)]
re PR c++/50920 (add a -std=c++11 option to the driver)
PR c++/50920
gcc/c-family
* c-common.h (cxx_dialect): Add cxx11 and cxx03.
* c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
and -Wc++11-compat.
* c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
gcc/cp
* class.c (check_field_decl): Change c++0x in diags to c++11.
* error.c (maybe_warn_cpp0x): Likewise.
* parser.c (cp_parser_diagnose_invalid_type_name): Likewise.
* pt.c (check_default_tmpl_args): Likewise.
libcpp
* include/cpplib.h (enum c_lang): Rename CLK_CXX0X to CLK_CXX11,
CLK_GNUCXX0X to CLK_GNUCXX11.
libstdc++-v3
* include/bits/c++0x_warning.h: Change -std=c++0x to -std=c++11.
From-SVN: r180707
Martin Jambor [Mon, 31 Oct 2011 17:43:25 +0000 (18:43 +0100)]
ipa-prop.c (mark_modified): Moved up in the file.
2011-10-31 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (mark_modified): Moved up in the file.
(is_parm_modified_before_call): Renamed to
is_parm_modified_before_stmt, moved up in the file.
(load_from_unmodified_param): New function.
(compute_complex_assign_jump_func): Also attempt to create pass
through jump functions for values loaded from (addressable)
parameters.
* testsuite/gcc.dg/ipa/ipcp-4.c: New test.
From-SVN: r180705
Jakub Jelinek [Mon, 31 Oct 2011 16:52:19 +0000 (17:52 +0100)]
tree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def in a loop and has different type from op0...
* tree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def
in a loop and has different type from op0, cast it to op0's type
before the loop first. For slp give up. Don't crash if op1_vectype
is NULL.
* gcc.dg/vshift-3.c: New test.
* gcc.dg/vshift-4.c: New test.
* gcc.dg/vshift-5.c: New test.
From-SVN: r180704
Janne Blomqvist [Mon, 31 Oct 2011 14:59:19 +0000 (16:59 +0200)]
Update file position for inquire lazily.
libgfortran ChangeLog:
2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
* io/inquire.c (inquire_via_unit): Check whether we're at the
beginning or end if the position is unspecified. If the position
is not one of the 3 standard ones, return unspecified.
* io/io.h (update_position): Remove prototype.
* io/transfer.c (next_record): Set the position to unspecified,
letting inquire figure it out more exactly when needed.
* io/unit.c (update_position): Remove function.
testsuite ChangeLog:
2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
* gfortran.dg/inquire_5.f90: Update testcase to match the standard
and current implementation.
From-SVN: r180703
Janne Blomqvist [Mon, 31 Oct 2011 14:52:26 +0000 (16:52 +0200)]
Introduce a size member function to struct stream.
2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
* io/unix.h (struct stream): Add size function pointer.
(ssize): New inline function.
(file_length): Remove prototype.
* io/unix.c (raw_size): New function.
(raw_init): Initialize st.size pointer.
(buf_size): New function.
(buf_init): Initialize st.size pointer.
(open_internal): Likewise.
(open_internal4): Likewise.
(file_length): Remove function.
* io/file_pos.c (st_rewind): Use ssize instead of file_length.
* io/open.c (test_endfile): Likewise.
* io/transfer.c (data_transfer_init): Likewise.
(next_record_r): Likewise.
(next_record_w): Likewise.
* io/unit.c (update_position): Likewise.
From-SVN: r180702
Janne Blomqvist [Mon, 31 Oct 2011 14:45:50 +0000 (16:45 +0200)]
Simplify handling of special files.
2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
* io/file_pos.c (st_rewind): Handle regular and special files
identically.
* io/intrinsics.c (fseek_sub): Don't check whether we think the
file is seekable, just do what the caller says.
* io/transfer.c (skip_record): First try to seek, then fallback to
reading and throwing away what we read.
* io/unit.c (update_position): Don't check whether file is
seekable, just try to do what we're told.
(unit_truncate): Likewise.
* io/unix.c (struct unix_stream): Remove special_file flag.
(buf_flush): Remove code for handling unseekable files.
(buf_seek): Likewise.
(fd_to_stream): Use buffered IO only for regular files.
(file_length): Remove is_seekable() call.
(is_seekable): Remove function.
(is_special): Likewise.
* io/unix.h: Remove prototypes for is_seekable and is_special.
From-SVN: r180701
Paul Brook [Mon, 31 Oct 2011 14:26:38 +0000 (14:26 +0000)]
cgraphunit.c: Don't mark clones as static constructors.
2011-10-31 Paul Brook <paul@codesourcery.com>
gcc/
* cgraphunit.c: Don't mark clones as static constructors.
gcc/testsuite/
* gcc.dg/constructor-1.c: New test.
From-SVN: r180700
David Edelsohn [Mon, 31 Oct 2011 14:04:50 +0000 (10:04 -0400)]
gcc-ar: Do not include stdio.h.
* gcc-ar: Do not include stdio.h.
From-SVN: r180699
Diego Novillo [Mon, 31 Oct 2011 14:04:19 +0000 (10:04 -0400)]
mangle.c (get_mangled_id): Factor from ...
* mangle.c (get_mangled_id): Factor from ...
(mangle_decl): ... here.
Call get_mangled_id.
From-SVN: r180698
Diego Novillo [Mon, 31 Oct 2011 14:03:32 +0000 (10:03 -0400)]
tree-streamer-out.c (pack_ts_base_value_fields): Emit TYPE_ADDR_SPACE.
* tree-streamer-out.c (pack_ts_base_value_fields): Emit
TYPE_ADDR_SPACE.
* tree-streamer-in.c (unpack_ts_base_value_fields): Read
TYPE_ADDR_SPACE.
From-SVN: r180697
David S. Miller [Mon, 31 Oct 2011 06:24:26 +0000 (06:24 +0000)]
Slight improvements to vec_init code gen on sparc.
* config/sparc/sparc.c (vector_init_bshuffle): New function.
(vector_init_fpmerge): New function.
(sparc_expand_vector_init): Use them to improve non-const cases.
From-SVN: r180696
David S. Miller [Mon, 31 Oct 2011 01:48:15 +0000 (01:48 +0000)]
Handle many consecutive location notes more efficiently in dwarf2.
* dwarf2out.c (dwarf2out_var_location): When processing several
consecutive location notes, cache the result of next_real_insn().
From-SVN: r180695
GCC Administrator [Mon, 31 Oct 2011 00:18:12 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r180694
Steven G. Kargl [Sun, 30 Oct 2011 22:31:10 +0000 (22:31 +0000)]
symbol.c (gfc_free_charlen): Whitespace.
2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
* symbol.c (gfc_free_charlen): Whitespace.
From-SVN: r180687
Steven G. Kargl [Sun, 30 Oct 2011 21:59:24 +0000 (21:59 +0000)]
re PR other/50573 (configure lists --with-gnu-ld twice)
2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/50573
* check.c (gfc_check_dshift): Update argument checking for BOZ.
Update checking SHIFT against BITSIZE of I or J.
* intrinsic.texi: Update docs for DSHIFTL and DSHIFTR.
2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/50573
* gfortran.dg/dshift_3.f90: New test.
From-SVN: r180686
Uros Bizjak [Sun, 30 Oct 2011 17:48:46 +0000 (18:48 +0100)]
i386.md (avx2_vec_dup<mode>): Macroize insn from avx2_vec_dup{v8sf,v4sf} using VF1 mode iterator.
* config/i386/i386.md (avx2_vec_dup<mode>): Macroize insn from
avx2_vec_dup{v8sf,v4sf} using VF1 mode iterator.
(vec_dupv4sf): Remove expander.
(vec_dupv4sf): Merge from *vec_dupv4sf and *vec_dupv4sf_avx.
(vec_dupv2df): Remove expander.
(vec_dupv2df): Merge from *vec_dupv2df and *vec_dupv2df_sse3.
(*vec_concatv2df): Merge *vec_concatv2df_sse3.
(*vec_dupv4si): Merge *vec_dupv4si_avx.
(*vec_dupv2di): Merge *vec_dupv2di_sse3.
From-SVN: r180685
Dmitry Plotnikov [Sun, 30 Oct 2011 17:12:02 +0000 (17:12 +0000)]
tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions.
2011-10-30 Dmitry Plotnikov <dplotnikov@ispras.ru>
* tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions.
* optabs.c (supportable_convert_operation): New function.
* optabs.h (supportable_convert_operation): New prototype.
* tree-vect-stmts.c (vectorizable_conversion): Change condition and
behavior for NONE modifier case.
* tree.h (VECTOR_INTEGER_TYPE_P): New macro.
From-SVN: r180684
Joseph Myers [Sun, 30 Oct 2011 16:28:46 +0000 (16:28 +0000)]
* ja.po: Update.
From-SVN: r180682
Gerald Pfeifer [Sun, 30 Oct 2011 15:33:11 +0000 (15:33 +0000)]
prerequisites.xml: Refer to GCC (instead of gcc) and GNU/Linux.
* prerequisites.xml: Refer to GCC (instead of gcc) and GNU/Linux.
Remove an obsolete reference to a Red Hat release we do not
support any longer.
Refer to Debian GNU/Linux.
From-SVN: r180681
John David Anglin [Sun, 30 Oct 2011 14:33:33 +0000 (14:33 +0000)]
scal-to-vec2.c (dg-options): Add -fno-common to options on hppa*-*-hpux*.
* gcc.dg/scal-to-vec2.c (dg-options): Add -fno-common to options on
hppa*-*-hpux*.
* gcc.dg/torture/vshuf-v8hi.c: Likewise.
* gcc.dg/torture/vshuf-v4si.c: Likewise.
* gcc.dg/torture/vshuf-v8si.c: Likewise.
* gcc.dg/torture/vshuf-v32qi.c: Likewise.
* gcc.dg/torture/vshuf-v4di.c: Likewise.
* gcc.dg/torture/vshuf-v2df.c: Likewise.
* gcc.dg/torture/vshuf-v16qi.c: Likewise.
* gcc.dg/torture/vshuf-v4sf.c: Likewise.
* gcc.dg/torture/vshuf-v8sf.c: Likewise.
* gcc.dg/torture/vshuf-v2di.c: Likewise.
* gcc.dg/torture/vshuf-v16hi.c: Likewise.
* gcc.dg/torture/vshuf-v4df.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-31.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-33.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-34.c: Likewise.
* gcc.dg/vector-compare-2.c: Likewise.
From-SVN: r180680
Gerald Pfeifer [Sun, 30 Oct 2011 14:29:15 +0000 (14:29 +0000)]
faq.xml (Who's in charge of it?): Refer to the Linux kernel instead of just Linux.
* faq.xml (Who's in charge of it?): Refer to the Linux kernel
instead of just Linux.
(How do I install libstdc++?): Refer to GNU/Linux instead of
just Linux.
From-SVN: r180679
Gerald Pfeifer [Sun, 30 Oct 2011 14:17:22 +0000 (14:17 +0000)]
NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux.
* NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux.
(EGCS 1.0): Ditto.
From-SVN: r180678
Jakub Jelinek [Sun, 30 Oct 2011 12:16:01 +0000 (13:16 +0100)]
tree-vectorizer.h (NUM_PATTERNS): Bump to 9.
* tree-vectorizer.h (NUM_PATTERNS): Bump to 9.
* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): New
function.
(vect_vect_recog_func_ptrs): Add it.
From-SVN: r180677
Eric Botcazou [Sun, 30 Oct 2011 09:16:23 +0000 (09:16 +0000)]
Fix minor issues
From-SVN: r180675
David S. Miller [Sun, 30 Oct 2011 07:48:05 +0000 (07:48 +0000)]
Properly limit backwards label scanning in reorg.
* reorg.c (label_before_next_insn): New function.
(relax_delay_slots): Use it instead of prev_label.
* rtl.h (prev_label): Delete declaration.
* emit-rtl.c (prev_label): Remove.
From-SVN: r180674
Revital Eres [Sun, 30 Oct 2011 05:12:53 +0000 (05:12 +0000)]
Fix marking of SMSed loops as BB_DISABLE_SCHEDULE
From-SVN: r180673
Paolo Carlini [Sun, 30 Oct 2011 00:22:53 +0000 (00:22 +0000)]
re PR c++/50901 (ICE: in build_new_op, at cp/call.c:5016)
/cp
2011-10-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50901
* call.c (build_new_op_1): Handle ABS_EXPR together with the
other unary EXPR.
/testsuite
2011-10-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50901
* g++.dg/cpp0x/pr50901.C: New.
From-SVN: r180670
GCC Administrator [Sun, 30 Oct 2011 00:17:43 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r180669
John David Anglin [Sat, 29 Oct 2011 18:58:48 +0000 (18:58 +0000)]
re PR target/50617 (ICE: RTL flag check: INSN_ANNULLED_BRANCH_P used with unexpected rtx code 'simplify_immed_subreg' in output_bb, at config/pa/pa.c:6631)
PR target/50617
* config/pa/protos.h (attr_length_save_restore_dltp): Delete.
(cmpib_comparison_operator): Likewise.
(following_cal, output_and, output_ior, output_move_double,
output_fp_move_double, output_block_move, output_block_clear,
output_cbranch, output_lbranch, output_bb, output_bvb, output_dbra,
output_movb, output_parallel_movb, output_parallel_addb, output_call,
output_indirect_call, output_millicode_call, output_mul_insn,
output_div_insn, output_mod_insn, singlemove_string,
output_arg_descriptor, output_global_address, print_operand,
legitimize_pic_address, hppa_encode_label, symbolic_expression_p,
fmpyaddoperands, fmpysuboperands, emit_bcond_fp, emit_move_sequence,
emit_hpdiv_const, is_function_label_plus_const, jump_in_call_delay,
hppa_fpstore_bypass_p, attr_length_millicode_call, attr_length_call,
attr_length_indirect_call, return_addr_rtx, function_arg_padding,
insn_refs_are_delayed, get_deferred_plabel, ldil_cint_p, zdepi_cint_p,
output_ascii, compute_frame_size, and_mask_p, cint_ok_for_move,
hppa_expand_prologue, hppa_expand_epilogue, ior_mask_p,
compute_zdepdi_operands, output_64bit_and, output_64bit_ior,
reloc_needed, magic_milli, shadd_constant_p): Consistently prefix
exported functions and variables with "pa_".
* config/pa/predicates.md: Likewise.
* config/pa/pa64-hpux.h: likewise.
* config/pa/som.h: Likewise.
* config/pa/elf.h: Likewise.
* config/pa/pa64-linux.h: Likewise.
* config/pa/pa.md: Likewise.
* config/pa/pa.c: Likewise.
* config/pa/pa-linux.h: Likewise.
* config/pa/pa.h: Likewise.
* config/pa/constraints.md: Likewise.
From-SVN: r180660
Uros Bizjak [Sat, 29 Oct 2011 18:38:27 +0000 (20:38 +0200)]
i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
* config/i386/i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
Update all uses.
(xop_shl<mode>3): Rename from xop_lshl<mode>3. Update all uses.
* config/i386/i386.c: Update all uses.
From-SVN: r180659
Uros Bizjak [Sat, 29 Oct 2011 17:51:24 +0000 (19:51 +0200)]
i386.md (lshlv16qi3): Remove expander.
* config/i386/i386.md (lshlv16qi3): Remove expander.
(lshrv16qi3): New expander.
(<shift_insn>v16qi3): Macroize expander from ashrv16qi3 and lshrv16qi3
using any_shiftrt code iterator. Cleanup.
(ashlv16qi3): Cleanup.
(ashrv2di3): Ditto.
From-SVN: r180657
Uros Bizjak [Sat, 29 Oct 2011 17:26:48 +0000 (19:26 +0200)]
fma-check.h (main): Use return 0 instead of exit (0).
* gcc.target/i386/fma-check.h (main): Use return 0 instead of exit (0).
* gcc.target/i386/fma4-check.h (main): Ditto.
* gcc.target/i386/xop-check.h (main): Ditto.
From-SVN: r180656
John David Anglin [Sat, 29 Oct 2011 15:57:00 +0000 (15:57 +0000)]
re PR target/50691 (Incorrect argument evaluation in call with __thread argument)
PR target/50691
config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
(pa_legitimate_constant_p): Return false for TLS_MODEL_GLOBAL_DYNAMIC
and TLS_MODEL_LOCAL_DYNAMIC symbol references.
From-SVN: r180655
Georg-Johann Lay [Sat, 29 Oct 2011 14:35:59 +0000 (14:35 +0000)]
re PR target/50887 ([avr] Support ACCUMULATE_OUTGOING_ARGS)
PR target/50887
* config/avr/avr.opt (-maccumulate-args): New option.
* config/avr/avr.h (STARTING_FRAME_OFFSET): Redefine to
avr_starting_frame_offset.
(ACCUMULATE_OUTGOING_ARGS): Define to avr_accumulate_outgoing_args.
* config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): Remove.
(UNSPECV_WRITE_SP_IRQ_OFF): Remove.
(UNSPECV_WRITE_SP): New constant.
(*addhi3_sp_R): Rewrite to...
(*addhi3_sp): ...this new insn.
(movhi_sp_r_irq_off, movhi_sp_r_irq_on): Combine to...
(movhi_sp_r): ...this new insn.
* config/avr/avr-protos.h (avr_accumulate_outgoing_args): New.
(avr_starting_frame_offset): New.
* config/avr/avr.c (avr_accumulate_outgoing_args): New function.
(avr_starting_frame_offset): New function.
(avr_outgoing_args_size): New static function.
(avr_initial_elimination_offset): Use it.
(avr_simple_epilogue): Use it.
(avr_asm_function_end_prologue): Use it.
(expand_epilogue): Use it.
(expand_prologue): Use it. Break out code to...
(avr_prologue_setup_frame): ...this new static function.
(avr_can_eliminate): Allow eliminating to frame pointer if there
is one.
(avr_frame_pointer_required_p): Use frame pointer if target has a
nonlocal label.
* config/avr/constraints.md (R): Remove.
(Csp): New constraint.
* config/avr/predicates.md (avr_sp_immediate_operand): Use it.
From-SVN: r180654
Iain Sandoe [Sat, 29 Oct 2011 12:59:30 +0000 (12:59 +0000)]
re PR target/47997 (gcc on macosx: "ld: warning: -fwritable-strings not compatible with literal CF/NSString")
gcc/objc:
PR target/47997
* objc-act.c (objc_build_string_object): Remove redundant second
call to fix_string_type (). Add a checking assert that we are,
indeed, passed a STRING_CST.
From-SVN: r180653
Andi Kleen [Sat, 29 Oct 2011 09:23:23 +0000 (09:23 +0000)]
Fix cross compilation build in gcc-ar
gcc/:
2011-10-29 Andi Kleen <ak@linux.intel.com>
* gcc-ar.c (target_machine): Add.
From-SVN: r180652
Anatoly Sokolov [Sat, 29 Oct 2011 09:08:13 +0000 (13:08 +0400)]
cris.c (reg_ok_for_base_p, [...]): New functions.
* config/cris/cris.c (reg_ok_for_base_p, reg_ok_for_index_p,
cris_constant_index_p, cris_base_p, cris_index_p,
cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p,
cris_legitimate_address_p): New functions.
(TARGET_LEGITIMATE_ADDRESS_P): Define.
(cris_pic_symbol_type, cris_valid_pic_const): Change arguments type
from rtx to const_rtx.
(cris_print_operand_address, cris_address_cost,
cris_side_effect_mode_ok): Use
cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
cris_biap_index_p and cris_bdap_index_p.
* config/cris/cris.h (CONSTANT_INDEX_P, BASE_P, BASE_OR_AUTOINCR_P,
BDAP_INDEX_P, BIAP_INDEX_P, GO_IF_LEGITIMATE_ADDRESS,
REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Remove.
(EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_R, EXTRA_CONSTRAINT_T): Use
cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
cris_biap_index_p and cris_bdap_index_p.
* config/cris/cris.md (moversideqi movemsideqi peephole2): Use
cris_base_p.
* config/cris/cris-protos.h (cris_constant_index_p, cris_base_p,
cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p): New
prototype.
(cris_pic_symbol_type, cris_valid_pic_const): Update prototype.
From-SVN: r180651
Andi Kleen [Sat, 29 Oct 2011 01:02:35 +0000 (01:02 +0000)]
Use more efficient alignment in ggc
Jakub had some concerns about the performance of page alignments in
ggc-page, which use a hardware division instructions currently.
This patch changes them all to use a new PAGE_ALIGN macro, which
exploits that pages are a power of two.
gcc/:
2011-10-21 Andi Kleen <ak@linux.intel.com>
* ggc-page (PAGE_ALIGN): Add.
(alloc_page, ggc_pch_total_size, ggc_pch_this_base, ggc_pch_read):
Replace ROUND_UP with PAGE_ALIGN.
From-SVN: r180650
Andi Kleen [Sat, 29 Oct 2011 01:02:14 +0000 (01:02 +0000)]
Add a fragmentation fallback in ggc-page v2
There were some concerns that the earlier munmap patch could lead
to address space being freed that cannot be allocated again
by ggc due to fragmentation. This patch adds a fragmentation
fallback to solve this: when a GGC_QUIRE_SIZE sized allocation fails,
try again with a page sized allocation.
Passes bootstrap and testing on x86_64-linux with the fallback
forced artificially.
v2: fix missed initialization bug added in last minute edit.
gcc/:
2011-10-20 Andi Kleen <ak@linux.intel.com>
* ggc-page (alloc_anon): Add check argument.
(alloc_page): Add fallback to 1 page allocation.
Adjust alloc_anon calls to new argument.
From-SVN: r180649
Andi Kleen [Sat, 29 Oct 2011 01:01:54 +0000 (01:01 +0000)]
Free large chunks in ggc v2
This implements the freeing back of large chunks in the ggc madvise path
Richard Guenther asked for. This way on systems with limited
address space malloc() and other allocators still have
a chance to get back at some of the memory ggc freed. The
fragmented pages are still just given back, but the address space
stays allocated.
I tried freeing only aligned 2MB areas to optimize for 2MB huge
pages, but the hit rate was quite low, so I switched to 1MB+
unaligned areas.
v2: Hardcode free unit size instead of param
gcc/:
2011-10-18 Andi Kleen <ak@linux.intel.com>
* ggc-page (release_pages): First free large continuous
chunks in the madvise path.
From-SVN: r180648
Andi Kleen [Sat, 29 Oct 2011 01:01:34 +0000 (01:01 +0000)]
Add missing page rounding of a page_entry
This one place in ggc forgot to round page_entry->bytes to the
next page boundary, which lead to all the heuristics in freeing to
check for continuous memory failing. Round here too, like all other
allocators already do. The memory consumed should be the same
for MMAP because the kernel would round anyways. It may slightly
increase memory usage when malloc groups are used.
This will also increase the hitrate on the free page list
slightly.
gcc/:
2011-10-18 Andi Kleen <ak@linux.intel.com>
* ggc-page.c (alloc_pages): Always round up to entry_size.
From-SVN: r180647
GCC Administrator [Sat, 29 Oct 2011 00:18:56 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r180646
Andi Kleen [Sat, 29 Oct 2011 00:10:36 +0000 (00:10 +0000)]
Add gcc-ar/nm/ranlib wrappers for slim LTO v2
gcc/:
2011-10-19 Andi Kleen <ak@linux.intel.com>
* Makefile.in (MOSTLYCLEANFILES): Add gcc-ar/nm/ranlib.
(native): Add gcc-ar, gcc-nm, gcc-ranlib.
(AR_LIBS, gcc-ar, gcc-ar.o, gcc-ranlib, gcc-ranlib.o,
gcc-nm, gcc-nm.o, gcc-ranlib.c, gcc-nm.c): Add.
(install): Depend on install-gcc-ar.
(install-gcc-ar): Add.
(uninstall): Uninstall gcc-ar, gcc-nm, gcc-ranlib.
* gcc-ar.c: Add new file.
From-SVN: r180642
Ian Lance Taylor [Sat, 29 Oct 2011 00:09:39 +0000 (00:09 +0000)]
* setproctitle.c (setproctitle): Use "GNU/Linux" in comment.
From-SVN: r180641
Paolo Carlini [Sat, 29 Oct 2011 00:06:34 +0000 (00:06 +0000)]
2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
Revert Fix for c++/50864.
From-SVN: r180640
Paolo Carlini [Sat, 29 Oct 2011 00:04:55 +0000 (00:04 +0000)]
2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
Revert Fix for c++/50864.
From-SVN: r180639
Ian Lance Taylor [Fri, 28 Oct 2011 22:06:24 +0000 (22:06 +0000)]
Add rune as an alias for int.
From-SVN: r180634
Ian Lance Taylor [Fri, 28 Oct 2011 22:03:56 +0000 (22:03 +0000)]
morestack.S: Correct CFI information to do proper returns throughout function.
* config/i386/morestack.S: Correct CFI information to do proper
returns throughout function. In 32-bit mode, save %ebx so that it
is restored on unwind.
From-SVN: r180633
Pat Haugen [Fri, 28 Oct 2011 21:38:56 +0000 (21:38 +0000)]
rs6000.md (define_attr "type"): Add vecdouble.
* config/rs6000/rs6000.md (define_attr "type"): Add vecdouble.
* config/rs6000/vsx.md (VStype_simple, VStype_mul): Use
* vecdouble
type for V2DF.
(VStype_div): Use vector types for V2DF/V4SF.
(VStype_sqrt): Use *sqrt types.
(VS_spdp_type): Change type to vecdouble.
(*vsx_fmav2df4, *vsx_nfmsv2df4, vsx_xvcvdpsxws, vsx_xvcvdpuxws,
vsx_xvcvuxdsp, vsx_xvcvsxwdp, vsx_xvcvuxwdp, vsx_xvcvspsxds,
vsx_xvcvspuxds): Likewise.
(*vsx_fms<mode>4): Set type via <VStype_mul>.
(*vsx_eq_<mode>_p, *vsx_gt_<mode>_p, *vsx_ge_<mode>_p): Set type
via
<VStype_simple>.
* config/rs6000/power7.md (power7-vecstore): Correct VSU pipe.
(power7-fpcompare, power7-sdiv, power7-ddiv, power7-sqrt,
power7-dsqrt): Correct insn latency.
(power7-vecsimple): Add veccmp type and correct dispatch/VSU
values.
(power7-veccmp): Delete.
(power7-vecfloat): Correct latency/dispatch/VSU values.
(define_bypass "power7-vecfloat"): Correct latency and types.
(power7-veccomplex, power7-vecperm): Correct dispatch/VSU
values.
(power7-vecdouble, power7-vecfdiv, power7-vecdiv): New.
From-SVN: r180632
Jason Merrill [Fri, 28 Oct 2011 20:27:53 +0000 (16:27 -0400)]
* c-c++-common/dfp/pr33466.c: Adjust for user-defined literals.
From-SVN: r180627
Paolo Carlini [Fri, 28 Oct 2011 20:05:38 +0000 (20:05 +0000)]
pt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg.
2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg.
From-SVN: r180626
Uros Bizjak [Fri, 28 Oct 2011 19:16:17 +0000 (21:16 +0200)]
* config/i386/sse.md (<shift_insn><mode>3): Fix asm template.
From-SVN: r180625
Uros Bizjak [Fri, 28 Oct 2011 19:05:32 +0000 (21:05 +0200)]
i386.md (shift_insn): Rename code attribute from shiftrt_insn.
* config/i386/i386.md (shift_insn): Rename code attribute from
shiftrt_insn. Also handle ashift RTX.
(shift): Rename code attribute from shiftrt. Also handle ashift RTX.
(vshift): New code attribute.
(<shift_insn>*): Rename from <shiftrt_insn>*. Update asm templates.
(any_lshift): Move and rename code iterator from ...
* config/i386/sse.md (lshift): ... here.
(lshift_insn): Remove code attribute.
(lshift): Remove code attribute.
(vlshr<mode>3): Use lshiftrt RTX.
(vashr<mode>3, ashrv16qi3, ashrv2di3): Use ashiftrt RTX.
(vashl<mode>3, ashlv16qi3): Use ashift RTX.
(avx2_<lshift>v<mode>): Rename from avx2_<shift_insn>v<mode>. Use
any_lshift code iterator. Update asm template.
(<shift_insn><mode>3): Macroize insn from lshr<mode>3 and ashl<mode>3
usign any_lshift code iterator.
* config/i386/mmx.md (mmx_<shift_insn><mode>3): Macroize insn from
mmx_lshr<mode>3 and mmx_ashl<mode>3 usign any_lshift code iterator.
* config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update.
From-SVN: r180624
Paolo Carlini [Fri, 28 Oct 2011 18:40:22 +0000 (18:40 +0000)]
re PR c++/50864 (ICE with decltype and "declval" from another namespace)
/cp
2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50864
* pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error
call in case COMPONENT_REF.
/testsuite
2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50864
* g++.dg/template/crash109.C: New.
From-SVN: r180623
Uros Bizjak [Fri, 28 Oct 2011 18:17:51 +0000 (20:17 +0200)]
i386.md (shift_insn): Rename code attribute from shiftrt_insn.
* config/i386/i386.md (shift_insn): Rename code attribute from
shiftrt_insn. Also handle ashift RTX.
(shift): Rename code attribute from shiftrt. Also handle ashift RTX.
(<shift_insn>*): Rename from <shiftrt_insn>*. Update asm templates.
* config/i386/sse.md (any_lshift): Rename code iterator from lshift.
(lshift_insn): Remove code attribute.
(lshift): Remove code attribute.
(vlshr<mode>3): Use lshiftrt RTX.
(vashr<mode>3): Use ashiftrt RTX.
(vashl<mode>3): Use ashift RTX.
(avx2_<lshift>v<mode>): Rename from avx2_<shift_insn>v<mode>. Use
any_lshift code iterator. Update asm template.
* config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update.
From-SVN: r180622
Georg-Johann Lay [Fri, 28 Oct 2011 17:47:56 +0000 (17:47 +0000)]
re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
* config/avr/avr.md (parityhi2): Expand allowing pseudos.
(*parityhi2): New pre-reload insn-and-split to map 16-bit parity
to the libgcc insn.
(*parityqihi2): Same for 8-bit parity.
From-SVN: r180620
Steven G. Kargl [Fri, 28 Oct 2011 15:15:25 +0000 (15:15 +0000)]
check.c (gfc_check_atan_2): Typo in comment.
2011-10-28 Steven G. Kargl <kargl@gcc.gnu.org>
* check.c (gfc_check_atan_2): Typo in comment.
(gfc_check_nearest): If 's' is constant, check that it is not 0.
* simplify.c (simplify_dshift, gfc_simplify_ibclr, gfc_simplify_ibits,
gfc_simplify_ibset, simplify_shift, gfc_simplify_ishftc,
gfc_simplify_nearest): Remove dead code.
2011-10-28 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/nearest_5.f90: New test.
From-SVN: r180618
Paolo Carlini [Fri, 28 Oct 2011 14:33:21 +0000 (14:33 +0000)]
50862.cc: Trivial formatting fixes.
2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/30_threads/condition_variable_any/50862.cc: Trivial
formatting fixes.
From-SVN: r180617
Iain Sandoe [Fri, 28 Oct 2011 11:59:07 +0000 (11:59 +0000)]
re PR target/50678 (FAIL: c52104y on x86_64-apple-darwin10)
ada:
PR target/50678
* init.c (Darwin/__gnat_error_handler): Apply a work-around to the
bug [filed as radar #
10302855], which is inconsistent unwind data
for sigtramp.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r180613
Paolo Carlini [Fri, 28 Oct 2011 11:54:04 +0000 (11:54 +0000)]
count.cc: New.
2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/unordered_map/operations/count.cc: New.
* testsuite/23_containers/multimap/operations/count.cc: Likewise.
* testsuite/23_containers/set/operations/count.cc: Likewise.
* testsuite/23_containers/unordered_multimap/operations/count.cc:
Likewise.
* testsuite/23_containers/unordered_set/operations/count.cc: Likewise.
* testsuite/23_containers/multiset/operations/count.cc: Likewise.
* testsuite/23_containers/unordered_multiset/operations/count.cc:
Likewise.
* testsuite/23_containers/map/operations/count.cc: Likewise.
From-SVN: r180612
Julian Brown [Fri, 28 Oct 2011 10:48:32 +0000 (10:48 +0000)]
re PR rtl-optimization/47918 (noreturn discovery broke non local gotos on m68k and i386)
PR rtl-optimization/47918
* reload1.c (set_initial_label_offsets): Use initial offsets
for labels on the nonlocal_goto_handler_labels chain.
From-SVN: r180611
Iain Sandoe [Fri, 28 Oct 2011 10:33:55 +0000 (10:33 +0000)]
Implement out-of-line FPR and GPR saves for PPC/Darwin
gcc:
* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
Move darwin-fpsave.asm from here to ... LIB2FUNCS_EXTRA.
(LIB2FUNCS_EXTRA): Add darwin-gpsave.asm.
(TARGET_LIBGCC2_CFLAGS): Ensure that fPIC and -pipe are inherited from
config/t-darwin.
* config/rs6000/darwin.h (FP_SAVE_INLINE): Adjust to enable.
(GP_SAVE_INLINE): Likewise.
(SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
RESTORE_FP_SUFFIX): Set to empty strings.
* config/rs6000/rs6000.c (rs6000_savres_strategy): Implement for Darwin.
(debug_stack_info): Print savres_strategy.
(rs6000_savres_routine_name): Implement for Darwin.
(rs6000_make_savres_rtx): Adjust used register for Darwin.
(rs6000_emit_prologue): Implement out-of-line saves for Darwin.
(rs6000_output_function_prologue): Don't emit .extern for Mach-O.
(rs6000_emit_epilogue): Implement out-of-line saves for Darwin.
* config/rs6000/darwin-gpsave.asm: New file.
From-SVN: r180610
Jakub Jelinek [Fri, 28 Oct 2011 10:28:40 +0000 (12:28 +0200)]
sse.md (VI4SD_AVX2): Removed.
* config/i386/sse.md (VI4SD_AVX2): Removed.
(VI48_AVX2, VI128_128, VI48_128, VI48_256): New mode iterators.
(vashl<mode>3): Use VI12_128 iterator instead of VI124_128.
Add another expander using VI48_128 iterator for
TARGET_AVX2 || TARGET_XOP and another using VI48_256 iterator
for TARGET_AVX2.
(vlshr<mode>3): Likewise. Change register_operand predicate to
nonimmediate_operand on last operand in the VI12_128 expander.
(vashr<mode>3): Use VI128_128 iterator instead of VI124_128.
(vashrv4si3, vashrv8si3): New expanders.
(avx2_ashrvv8si, avx2_ashrvv4si, avx2_<lshift>vv8si,
avx2_<lshift>vv2di): Removed.
(avx2_ashrv<mode>): New insn with VI4_AVX2 iterator.
(avx2_<lshift>v<mode>): Macroize using VI48_AVX2
iterator. Simplify pattern.
* gcc.dg/vshift-1.c: New test.
* gcc.dg/vshift-2.c: New test.
* gcc.target/i386/xop-vshift-1.c: New test.
* gcc.target/i386/xop-vshift-2.c: New test.
* gcc.target/i386/avx2-vshift-1.c: New test.
From-SVN: r180609
Richard Guenther [Fri, 28 Oct 2011 09:46:26 +0000 (09:46 +0000)]
re PR driver/50876 (unrecognized command line option '-Zmultiply_defined suppress regressions for lto.exp on x86_64-apple-darwin11)
2010-10-28 Richard Guenther <rguenther@suse.de>
PR driver/50876
* lto-wrapper.c (get_options_from_collect_gcc_options):
Properly count arguments.
(run_gcc): Use an obstack to collect argv, properly separate
switches and their arguments.
From-SVN: r180608
Richard B. Kreckel [Fri, 28 Oct 2011 09:34:52 +0000 (09:34 +0000)]
complex (__complex_acosh): Just use '< _Tp()'.
2011-10-28 Richard B. Kreckel <kreckel@ginac.de>
* include/std/complex (__complex_acosh): Just use '< _Tp()'.
* include/tr1/complex (__complex_acosh): Likewise.
From-SVN: r180607
Jakub Jelinek [Fri, 28 Oct 2011 09:25:18 +0000 (11:25 +0200)]
tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different vector mode from vectype's mode.
* tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different
vector mode from vectype's mode.
From-SVN: r180606
Eric Botcazou [Fri, 28 Oct 2011 07:13:44 +0000 (07:13 +0000)]
re PR ada/50842 (gnatmake fails to link in stage3 with undefined symbol _iconv_close)
PR ada/50842
* gcc-interface/Makefile.in (SYMDEPS): Delete.
(LIBICONV): New variable.
(LIBICONV_DEP): Likewise.
(LIBS): Add $(LIBICONV).
(LIBDEPS): Add $(LIBICONV_DEP).
(EXTRA_GNATTOOLS_OBJS): Merge into...
(TOOLS_LIBS): ...this. Add $(LIBICONV).
From-SVN: r180605
Chung-Lin Tang [Fri, 28 Oct 2011 06:35:31 +0000 (06:35 +0000)]
re PR rtl-optimization/49720 (Infinite recursion compiling gold binary_test.cc testcase)
2011-10-28 Chung-Lin Tang <cltang@codesourcery.com>
PR rtl-optimization/49720
* simplify-rtx.c (simplify_relational_operation_1): Detect
infinite recursion condition in "(eq/ne (plus x cst1) cst2)
simplifies to (eq/ne x (cst2 - cst1))" case.
testsuite/
* g++.dg/torture/pr49720.C: New test.
From-SVN: r180604