Commit Graph

112829 Commits

Author SHA1 Message Date
Diego Novillo
596c138175 mangle.c (get_mangled_id): Factor from ...
* mangle.c (get_mangled_id): Factor from ...
	(mangle_decl): ... here.
	Call get_mangled_id.

From-SVN: r180698
2011-10-31 10:04:19 -04:00
Diego Novillo
875b35b4da 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
2011-10-31 10:03:32 -04:00
David S. Miller
f6b29aeb1e 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
2011-10-30 23:24:26 -07:00
David S. Miller
ea2fa34166 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
2011-10-30 18:48:15 -07:00
GCC Administrator
9ceb54d132 Daily bump.
From-SVN: r180694
2011-10-31 00:18:12 +00:00
Steven G. Kargl
508b144c87 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
2011-10-30 22:31:10 +00:00
Steven G. Kargl
05168bb71e 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
2011-10-30 21:59:24 +00:00
Uros Bizjak
da957891ff 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
2011-10-30 18:48:46 +01:00
Dmitry Plotnikov
9db8f45d5d 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
2011-10-30 10:12:02 -07:00
Joseph Myers
9814fdd618 * ja.po: Update.
From-SVN: r180682
2011-10-30 16:28:46 +00:00
Gerald Pfeifer
845f6341a3 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
2011-10-30 15:33:11 +00:00
John David Anglin
369a98f06d 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
2011-10-30 14:33:33 +00:00
Gerald Pfeifer
391190a3f0 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
2011-10-30 14:29:15 +00:00
Gerald Pfeifer
7d2447313f 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
2011-10-30 14:17:22 +00:00
Jakub Jelinek
732a0ad314 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
2011-10-30 13:16:01 +01:00
Eric Botcazou
be7552fc7d Fix minor issues
From-SVN: r180675
2011-10-30 09:16:23 +00:00
David S. Miller
dbeee82924 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
2011-10-30 00:48:05 -07:00
Revital Eres
cc1efdff70 Fix marking of SMSed loops as BB_DISABLE_SCHEDULE
From-SVN: r180673
2011-10-30 05:12:53 +00:00
Paolo Carlini
6908120ace 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
2011-10-30 00:22:53 +00:00
GCC Administrator
450dfc1951 Daily bump.
From-SVN: r180669
2011-10-30 00:17:43 +00:00
John David Anglin
ae9d61aba6 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
2011-10-29 18:58:48 +00:00
Uros Bizjak
b99f906a4e 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
2011-10-29 20:38:27 +02:00
Uros Bizjak
f327a48e6e 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
2011-10-29 19:51:24 +02:00
Uros Bizjak
d1fecc879e 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
2011-10-29 19:26:48 +02:00
John David Anglin
9a20164505 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
2011-10-29 15:57:00 +00:00
Georg-Johann Lay
d702f362b5 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
2011-10-29 14:35:59 +00:00
Iain Sandoe
f439d6bad9 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
2011-10-29 12:59:30 +00:00
Andi Kleen
7a59e22a63 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
2011-10-29 09:23:23 +00:00
Anatoly Sokolov
a08160c31c 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
2011-10-29 13:08:13 +04:00
Andi Kleen
3bc5016331 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
2011-10-29 01:02:35 +00:00
Andi Kleen
25f0ea8135 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
2011-10-29 01:02:14 +00:00
Andi Kleen
d33ef9a52b 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
2011-10-29 01:01:54 +00:00
Andi Kleen
bf72b0094a 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
2011-10-29 01:01:34 +00:00
GCC Administrator
3b6a5655d7 Daily bump.
From-SVN: r180646
2011-10-29 00:18:56 +00:00
Andi Kleen
b6b8921515 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
2011-10-29 00:10:36 +00:00
Ian Lance Taylor
d6b0f0f14f * setproctitle.c (setproctitle): Use "GNU/Linux" in comment.
From-SVN: r180641
2011-10-29 00:09:39 +00:00
Paolo Carlini
dec3d2a0af 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
Revert Fix for c++/50864.

From-SVN: r180640
2011-10-29 00:06:34 +00:00
Paolo Carlini
f6d3d0fd4f 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
Revert Fix for c++/50864.

From-SVN: r180639
2011-10-29 00:04:55 +00:00
Ian Lance Taylor
b8d84495f8 Add rune as an alias for int.
From-SVN: r180634
2011-10-28 22:06:24 +00:00
Ian Lance Taylor
18b4bd7b6c 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
2011-10-28 22:03:56 +00:00
Pat Haugen
4356b75d98 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
2011-10-28 21:38:56 +00:00
Jason Merrill
9be087f649 * c-c++-common/dfp/pr33466.c: Adjust for user-defined literals.
From-SVN: r180627
2011-10-28 16:27:53 -04:00
Paolo Carlini
f4d559c0f3 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
2011-10-28 20:05:38 +00:00
Uros Bizjak
c550d7dda5 * config/i386/sse.md (<shift_insn><mode>3): Fix asm template.
From-SVN: r180625
2011-10-28 21:16:17 +02:00
Uros Bizjak
1162730f53 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
2011-10-28 21:05:32 +02:00
Paolo Carlini
18232de4db 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
2011-10-28 18:40:22 +00:00
Uros Bizjak
c4ab64c640 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
2011-10-28 20:17:51 +02:00
Georg-Johann Lay
f89d6e77d7 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
2011-10-28 17:47:56 +00:00
Steven G. Kargl
58a9e3c406 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
2011-10-28 15:15:25 +00:00
Paolo Carlini
e8a25ac83c 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
2011-10-28 14:33:21 +00:00