- 25 Oct, 2011 30 commits
-
-
These can be generated by vec_perm_const now. We could keep the patterns around, as technically it may be less work, but this exercises a code path needed by less primary platforms. * config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Remove. (vec_extract_even<mode>, vec_extract_odd<mode>): Remove. From-SVN: r180453
Richard Henderson committed -
The ones that expand to VPERM can be handled by generic code. The even v4si and v4sf expanders remain until vector.md can be updated to not invoke them directly. * config/rs6000/altivec.md (vec_extract_evenv8hi, vec_extract_evenv16qi, vec_extract_oddv4si, vec_extract_oddv4sf): Remove. From-SVN: r180452
Richard Henderson committed -
* config/spu/spu.md (vec_extract_evenv4si, vec_extract_evenv4sf, vec_extract_evenv8hi, vec_extract_evenv16qi, vec_extract_oddv4si, vec_extract_oddv4sf, vec_extract_oddv8hi, vec_extract_oddv16qi, vec_interleave_highv4sf, vec_interleave_lowv4sf, vec_interleave_highv4si, vec_interleave_lowv4si, vec_interleave_highv8hi, vec_interleave_lowv8hi, vec_interleave_highv16qi, vec_interleave_lowv16qi): Remove. From-SVN: r180451
Richard Henderson committed -
* expr.c (expand_expr_real_2) [VEC_EXTRACT_EVEN_EXPR]: Use binop. [VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR]: Likewise. [VEC_INTERLEAVE_LOW_EXPR]: Likewise. * optabs.c (expand_binop): Implement vec_interleave_high_optab, vec_interleave_low_optab, vec_extract_even_optab, vec_extract_odd_optab with expand_vec_perm. (can_vec_perm_for_code_p): New. * optabs.h: Update. * tree-vect-data-refs.c (vect_strided_store_supported): Allow for fallback via can_vec_perm_for_code_p. (vect_strided_load_supported): Likewise. * tree-vect-generic.c (expand_vector_operations_1): Never lower VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR, VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR. From-SVN: r180450
Richard Henderson committed -
The can_vec_perm_p interface changed to use a C integer array. This allows easy re-use from the rtl level and the gimple level within the vectorizer. It allows both to determine if a given permutation is (un-)supported without having to create tree/rtl garbage. The expand_vec_perm interface changed to use rtl. This allows easy re-use from the rtl level, so that expand_vec_perm can be used in the fallback implementation of other optabs. * target.def (vec_perm_const_ok): Change parameters to mode and array of indicies. * doc/tm.texi: Rebuild. * config/i386/i386.c (ix86_vectorize_vec_perm_const_ok): Change parameters to mode and array of indicies. * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Expand operands here. * optabs.c (can_vec_perm_p): Rename from can_vec_perm_expr_p. Change parameters to mode and array of indicies. (expand_vec_perm_1): Rename from expand_vec_perm_expr_1. (expand_vec_perm): Rename from expand_vec_perm_expr. Change parameters to mode and rtx inputs. Try lowering to QImode vec_perm_const before trying fully variable permutation. * optabs.h: Update decls. * tree-vect-generic.c (lower_vec_perm): Extract array of indices from VECTOR_CST to pass to can_vec_perm_p. * tree-vect-slp.c (vect_get_mask_element): Change mask parameter type from int pointer to unsigned char pointer. (vect_transform_slp_perm_load): Update for change to can_vec_perm_p. * tree-vect-stmts.c (perm_mask_for_reverse): Likewise. From-SVN: r180449
Richard Henderson committed -
From-SVN: r180448
Richard Henderson committed -
PR libstdc++/50862 * include/std/condition_variable (condition_variable_any::wait): Fix deadlock and ensure _Lock::lock() is called on exit. (condition_variable_any::native_handle): Remove, as per LWG 1500. * testsuite/30_threads/condition_variable_any/50862.cc: New. From-SVN: r180446
Jonathan Wakely committed -
PR target/48851 * inclhack.def (void_null): New bypass. * fixincl.x: Regenerate. From-SVN: r180445
Mike Stump committed -
From-SVN: r180444
Mike Stump committed -
PR c++/50866 PR c++/41449 * semantics.c (maybe_cleanup_point_expr_void): No longer static. * typeck2.c (split_nonconstant_init_1): Use it. * cp-tree.h: Declare it. * decl.c (wrap_cleanups_r): Stop at CLEANUP_POINT_EXPR. From-SVN: r180442
Jason Merrill committed -
PR c++/49996 * tree.c (stabilize_init): Stabilize scalar elements of a CONSTRUCTOR, too. From-SVN: r180441
Jason Merrill committed -
From-SVN: r180440
Ian Lance Taylor committed -
From Rainer Orth. From-SVN: r180439
Ian Lance Taylor committed -
From-SVN: r180438
Ian Lance Taylor committed -
Better panic on attempt to close nil channel. From-SVN: r180437
Ian Lance Taylor committed -
* config/c6x/pr-support.c (pop_compact_frame, pop_frame): Correct logic for doubleword pops. From-SVN: r180435
Bernd Schmidt committed -
* config/c6x/pr-support.c (__gnu_unwind_24bit): Correct logic for the case where B3 isn't the return register. From-SVN: r180434
Bernd Schmidt committed -
From-SVN: r180432
Joseph Myers committed -
/cp 2011-10-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50858 * typeck.c (composite_pointer_type_r): Check return value of composite_pointer_type_r for error_mark_node. /testsuite 2011-10-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50858 * g++.dg/overload/operator5.C: New. /cp 2011-10-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50861 * pt.c (tsubst_copy_and_build): Check return value of tsubst_copy_and_build for error_mark_node. /testsuite 2011-10-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50861 * g++.dg/template/crash108.C: New. From-SVN: r180430
Paolo Carlini committed -
From-SVN: r180429
Kirill Yukhin committed -
* line-map.c (linemap_macro_map_lookup): Fix logic. From-SVN: r180427
Dodji Seketeli committed -
libcpp/ * include/line-map.h (linemap_expand_location): Take a line table parameter. Update comment. (linemap_resolve_location): Update comment. (linemap_expand_location_full): Remove. * line-map.c (linemap_resolve_location): Handle reserved locations; return a NULL map in those cases. (linemap_expand_location): If location is reserved, return a zeroed expanded location. Update comment. Take a line table to assert that the function takes non-virtual locations only. (linemap_expand_location_full): remove. (linemap_dump_location): Handle the fact that linemap_resolve_location can return NULL line maps when the location resolves to a reserved location. gcc/ * input.c (expand_location): Rewrite using linemap_resolve_location and linemap_expand_location. Add a comment. From-SVN: r180426
Dodji Seketeli committed -
* config/sparc/little-endian.opt: Delete. * config.gcc: Remove references to config/sparc/little-endian.opt * doc/invoke.texi: Remove documentation of -mlittl-endian on sparc. * config/sparc/linux64.h: Delete references to -mlittle-endian. * config/sparc/netbsd-elf.h: Likewise. * config/sparc/openbsd64.h: Likewise. * config/sparc/sparc.h: Likewise. * config/sparc/sp64-elf.h: Likewise and delete overrides for BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN. * config/sparc/sparc.c (dump_target_flag_bits): Remove reference to MASK_LITTLE_ENDIAN. * config/sparc/sparc.opt (Mask(LITTLE_ENDIAN)): Delete. From-SVN: r180425
David S. Miller committed -
PR tree-optimization/50596 * tree-vect-stmts.c (vect_mark_relevant): Only use FOR_EACH_IMM_USE_FAST if lhs is SSA_NAME. (vectorizable_store): If is_pattern_stmt_p look through VIEW_CONVERT_EXPR on lhs. * tree-vect-patterns.c (check_bool_pattern, adjust_bool_pattern): Use unsigned type instead of signed. (vect_recog_bool_pattern): Optimize also stores into bool memory in addition to casts from bool to integral types. (vect_mark_pattern_stmts): If pattern_stmt already has vinfo created, don't create it again. * gcc.dg/vect/vect-cond-10.c: New test. From-SVN: r180424
Jakub Jelinek committed -
* config/i386/i386.c (ix86_frame_pointer_required): Require frame-pointer, if setjmp is used for 32-bit ms-abi. From-SVN: r180423
Kai Tietz committed -
In "i, x[i] = 1, 2" the assigment to x[i] must use the value of i from before the assignment statement. From-SVN: r180421
Ian Lance Taylor committed -
2011-10-25 Andreas Tobler <andreast@fgznet.ch> * config/rs6000/t-freebsd: Add wildcard. From-SVN: r180420
Andreas Tobler committed -
2011-10-25 Joey Ye <joey.ye@arm.com> * gcc.target/arm/pr42575.c: Remove architecture option. From-SVN: r180419
Joey Ye committed -
gcc/testsuite/ * gcc.target/sparc/vis3move-1.c: New test. * gcc.target/sparc/vis3move-2.c: New test. * gcc.target/sparc/vis3move-3.c: New test. From-SVN: r180418
David S. Miller committed -
From-SVN: r180417
GCC Administrator committed
-
- 24 Oct, 2011 10 commits
-
-
PR libstdc++/49894 * include/std/mutex (__mutex_base,__recursive_mutex_base): Define new base classes to manage construction/destruction of native mutexes, using NSDMI when INIT macros are defined. (mutex,recursive_mutex,timed_mutex,recursive_timed_mutex): Derive from new base classes. * include/std/condition_variable (condition_variable): Use NSDMI when INIT macro is defined. Use noexcept. * src/condition_variable.cc (condition_variable): Explicitly-default constructor/destructor when using NSDMI. Use noexcept. (condition_variable_any): Likewise. From-SVN: r180411
Jonathan Wakely committed -
* config/sparc/sparc.md: Only use F, G, and C constraints in FP insns. Only use D, Y, and Z constraints in vector insns. From-SVN: r180410
David S. Miller committed -
From-SVN: r180408
Michael Meissner committed -
* config/sparc/sparc.md (cpu_feature, enabled): New attributes. (*movsi_insn_novis3, *movsi_insn_vis3): Consolidate into one pattern called *movsi_insn. (*movdi_insn_sp32_v9_novis3, *movdi_insn_sp32_v9_vis3): Consolidate into *movdi_insn_sp32. (*movdi_insn_sp64_novis3, *movdi_insn_sp64_vis3): Consolidate into one pattern called *movdi_insn_sp64. (*movsf_insn_novis3, *movsf_insn_vis3, *movsf_insn_no_fpu): Consolidate into one pattern called *movsf_insn. (*movdf_insn_sp32_no_fpu, *movdf_insn_sp32_v9_novis3, *movdf_insn_sp32_v9_vis3, *movdf_insn_sp32_v9_no_fpu): Consolidate into *movdf_insn_sp32. (*movdf_insn_sp64_novis3, *movdf_insn_sp64_vis3, *movdf_insn_sp64_no_fpu): Consolidate into one pattern called *movdf_insn_sp64. (*zero_extendsidi2_insn_sp64_novis3, *zero_extendsidi2_insn_sp64_vis3): Consolidate into one pattern called *zero_extendsidi2_insn_sp64. (*sign_extendsidi2_insn_novis3, *sign_extendsidi2_insn_vis3): Consolidate into one pattern named *sign_extendsidi2_insn. (*mov<VM32:mode>_insn_novis3, *mov<VM32:mode>_insn_vis3): Consolidate into one pattern named *mov<VM32:mode>_insn. (*mov<VM64:mode>_insn_sp64_novis3, *mov<VM64:mode>_insn_sp64_novis3): Consolidate into one pattern named *mov<VM64:mode>_insn_sp64. (*mov<VM64:mode>_insn_sp32_novis3, *mov<VM64:mode>_insn_sp32_vis3): Consolidate into one pattern named *mov<VM64:mode>_insn_sp32. From-SVN: r180407
David S. Miller committed -
* MAINTAINERS (Write After Approval): Add myself. From-SVN: r180405
Teresa Johnson committed -
2011-10-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * tree-ssa-strlen.c (get_string_length): Change assertion to STPCPY. (zero_length_string): Change assertion to accept strinfo without length but with stmt instead. Set the endptr pointer also if starting a new chain. (adjust_related_strinfos): Ignore strinfos marked for delayed length computation. (handle_builtin_strcpy): Mark earlier strinfo elements also for delayed length computation. 2011-10-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * gcc.dg/strlenopt-22.c: New testcase. * gcc.dg/strlenopt-4.c: Change scan value for s390(x). From-SVN: r180402
Andreas Krebbel committed -
From-SVN: r180401
Ian Lance Taylor committed -
* testsuite/30_threads/async/49668.cc: Add missing dg-require. * testsuite/30_threads/packaged_task/49668.cc: Likewise. From-SVN: r180400
Jonathan Wakely committed -
* gcc.target/i386/sse-5.c (dg-options): Add -mno-sse. Remove -march=i386. (dg-skip-if): Remove. * gcc.target/i386/funcspec-1.c: Ditto. * gcc.target/i386/funcspec-3.c (dg-options): Add -mno-sse3. From-SVN: r180397
Uros Bizjak committed -
PR target/50820 Port from 4.6 branch r180379 * doc/invoke.texi (AVR Options): New subsubsection to explain EIND handling and indirect jump/calls on devices > 128k. From-SVN: r180388
Georg-Johann Lay committed
-