aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-10-30re PR other/50573 (configure lists --with-gnu-ld twice)Steven G. Kargl5-17/+90
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-30i386.md (avx2_vec_dup<mode>): Macroize insn from avx2_vec_dup{v8sf,v4sf} ↵Uros Bizjak2-129/+63
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-30tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions.Dmitry Plotnikov6-17/+104
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* ja.po: Update.Joseph Myers2-240/+215
From-SVN: r180682
2011-10-30scal-to-vec2.c (dg-options): Add -fno-common to options on hppa*-*-hpux*.John David Anglin18-0/+38
* 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-30NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux.Gerald Pfeifer2-2/+7
* NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux. (EGCS 1.0): Ditto. From-SVN: r180678
2011-10-30tree-vectorizer.h (NUM_PATTERNS): Bump to 9.Jakub Jelinek3-1/+138
* 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-30Fix minor issuesEric Botcazou1-26/+22
From-SVN: r180675
2011-10-30Properly limit backwards label scanning in reorg.David S. Miller4-17/+23
* 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-30Fix marking of SMSed loops as BB_DISABLE_SCHEDULERevital Eres2-2/+27
From-SVN: r180673
2011-10-30re PR c++/50901 (ICE: in build_new_op, at cp/call.c:5016)Paolo Carlini4-0/+21
/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-30Daily bump.GCC Administrator1-1/+1
From-SVN: r180669
2011-10-29re PR target/50617 (ICE: RTL flag check: INSN_ANNULLED_BRANCH_P used with ↵John David Anglin12-419/+435
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-29i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.Uros Bizjak3-20/+27
* 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-29i386.md (lshlv16qi3): Remove expander.Uros Bizjak2-62/+58
* 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-29fma-check.h (main): Use return 0 instead of exit (0).Uros Bizjak4-3/+9
* 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-29re PR target/50691 (Incorrect argument evaluation in call with __thread ↵John David Anglin2-0/+22
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-29re PR target/50887 ([avr] Support ACCUMULATE_OUTGOING_ARGS)Georg-Johann Lay8-362/+512
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-29re PR target/47997 (gcc on macosx: "ld: warning: -fwritable-strings not ↵Iain Sandoe2-3/+9
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-29Fix cross compilation build in gcc-arAndi Kleen2-0/+5
gcc/: 2011-10-29 Andi Kleen <ak@linux.intel.com> * gcc-ar.c (target_machine): Add. From-SVN: r180652
2011-10-29cris.c (reg_ok_for_base_p, [...]): New functions.Anatoly Sokolov5-146/+215
* 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-29Use more efficient alignment in ggcAndi Kleen2-4/+14
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-29Add a fragmentation fallback in ggc-page v2Andi Kleen2-8/+21
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-29Free large chunks in ggc v2Andi Kleen2-0/+53
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-29Add missing page rounding of a page_entryAndi Kleen2-0/+5
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-29Daily bump.GCC Administrator1-1/+1
From-SVN: r180646
2011-10-29Add gcc-ar/nm/ranlib wrappers for slim LTO v2Andi Kleen3-3/+175
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-292011-10-28 Paolo Carlini <paolo.carlini@oracle.com>Paolo Carlini1-5/+7
Revert Fix for c++/50864. From-SVN: r180640
2011-10-292011-10-28 Paolo Carlini <paolo.carlini@oracle.com>Paolo Carlini3-10/+17
Revert Fix for c++/50864. From-SVN: r180639
2011-10-28Add rune as an alias for int.Ian Lance Taylor1-0/+4
From-SVN: r180634
2011-10-28rs6000.md (define_attr "type"): Add vecdouble.Pat Haugen4-42/+80
* 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* c-c++-common/dfp/pr33466.c: Adjust for user-defined literals.Jason Merrill2-6/+10
From-SVN: r180627
2011-10-28pt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg.Paolo Carlini2-1/+5
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* config/i386/sse.md (<shift_insn><mode>3): Fix asm template.Uros Bizjak1-1/+1
From-SVN: r180625
2011-10-28i386.md (shift_insn): Rename code attribute from shiftrt_insn.Uros Bizjak4-56/+33
* 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-28re PR c++/50864 (ICE with decltype and "declval" from another namespace)Paolo Carlini4-7/+26
/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-28i386.md (shift_insn): Rename code attribute from shiftrt_insn.Uros Bizjak4-63/+76
* 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-28re PR target/49313 (Inefficient libgcc implementations for avr)Georg-Johann Lay2-5/+39
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-28check.c (gfc_check_atan_2): Typo in comment.Steven G. Kargl5-75/+43
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-28re PR target/50678 (FAIL: c52104y on x86_64-apple-darwin10)Iain Sandoe2-0/+18
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
2011-10-28re PR rtl-optimization/47918 (noreturn discovery broke non local gotos on ↵Julian Brown2-0/+11
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
2011-10-28Implement out-of-line FPR and GPR saves for PPC/DarwinIain Sandoe5-33/+215
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
2011-10-28sse.md (VI4SD_AVX2): Removed.Jakub Jelinek8-243/+417
* 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
2011-10-28re PR driver/50876 (unrecognized command line option '-Zmultiply_defined ↵Richard Guenther2-24/+38
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
2011-10-28tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different vector ↵Jakub Jelinek2-1/+15
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
2011-10-28re PR ada/50842 (gnatmake fails to link in stage3 with undefined symbol ↵Eric Botcazou2-8/+19
_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
2011-10-28re PR rtl-optimization/49720 (Infinite recursion compiling gold ↵Chung-Lin Tang4-3/+33
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
2011-10-27Missing testsuite file add in previous commit.David S. Miller1-0/+24
From-SVN: r180603
2011-10-27Add support for the VIS3 addxc instruction.David S. Miller4-8/+104
gcc/ * config/sparc/sparc.md (snedi_special): Only match when not VIS3. (*snedi_zero): Likewise. (*snedi_zero_trunc): Likewise. (snedi_special_vis3): New expander. (*snedi_zero_vis3): New insn. (*snedi_zero_trunc_vis3): Likewise. (*sltu_insn_vis3): Likewise. (*sltu_insn_vis3_trunc): Likewise. (addxc): Likewise. (*addxc_trunc_sp64_vis3): Likewise. * config/sparc/sparc.c (emit_scc_insn): When VIS3 use the gen_snedi_special_vis3 expander, and try GTU/LTU addx based sequences on DImode values. gcc/testsuite/ * gcc.target/sparc/setcc-3.c: New test. From-SVN: r180602
2011-10-27Fix constraint on 64-bit VIS3 vector moves.David S. Miller2-2/+5
* config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f' constraint. From-SVN: r180601