- 14 Nov, 2011 21 commits
-
-
The conversion of the __sync post-reload splitters was half complete. Since there are nearly no restrictions on what may appear between LL and SC, expand all the patterns immediatly. This allows significantly easier code generation for subword atomic operations. From-SVN: r181370
Richard Henderson committed -
* config/i386/sse.md (round<mode>2): Use register_operand for operand 1 predicate. (round<mode>2_sfix): Ditto. (round<mode>2_vec_pack_sfix): Ditto for operand 1 and operand 2. From-SVN: r181369
Uros Bizjak committed -
From-SVN: r181368
Ian Lance Taylor committed -
From-SVN: r181367
Nathan Sidwell committed -
gcc/testsuite: * g++.dg/tm/template-1.C: Add cleanup-tree-dump. Fix typo in comment. From-SVN: r181366
Torvald Riegel committed -
gcc: 2011-11-14 Jan Hubicka <jh@suse.cz> * config/i386/i386.c (core cost model): Correct pasto. From-SVN: r181365
Jan Hubicka committed -
* gcc.target/i386/avx-recip-vec.c: New test. * gcc.target/i386/avx-lrintf-vec.c: Ditto. * gcc.target/i386/avx-lrint-vec.c: Ditto. * gcc.target/i386/avx-ceilf-vec.c: Include sse4_1-ceilf-vec.c. * gcc.target/i386/avx-ceil-vec.c: Include sse4_1-ceil-vec.c. * gcc.target/i386/avx-floorf-vec.c: Include sse4_1-floorf-vec.c. * gcc.target/i386/avx-floor-vec.c: Include sse4_1-floor-vec.c. * gcc.target/i386/avx-rintf-vec.c: Include sse4_1-rintf-vec.c. * gcc.target/i386/avx-rint-vec.c: Include sse4_1-rint-vec.c. * gcc.target/i386/avx-roundf-vec.c: Include sse4_1-roundf-vec.c. * gcc.target/i386/avx-round-vec.c: Include sse4_1-round-vec.c. * gcc.target/i386/avx-truncf-vec.c: Include sse4_1-truncf-vec.c. * gcc.target/i386/avx-trunc-vec.c: Include sse4_1-trunc-vec.c. * gcc.target/i386/avx-copysignf-vec.c: Include sse-copysignf-vec.c. * gcc.target/i386/avx-copysign-vec.c: Include sse2-copysign-vec.c. From-SVN: r181364
Uros Bizjak committed -
PR c++/51107 * typeck.c (check_literal_operator_args): Add processing_specialization to check for void template fn. Test for exact arity for non-template fn. From-SVN: r181363
Ed Smith-Rowland committed -
* config/i386/sse.md (round<mode>2_sfix): New expander. (round<mode>2_vec_pack_sfix): Ditto. (<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>): Ditto. (<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto. * config/i386/builtin-types.def (V4SI_FTYPE_V4SF_ROUND, V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND, V8SI_FTYPE_V4DF_V4DF_ROUND): New builtin types. * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_{FLOORPD,CEILPD,ROUNDPD_AZ}_VEC_PACK_SFIX{,256} and IX86_BUILTIN_{FLOORPS,CEILPS,ROUNDPS_AZ}_SFIX{,256} defines. (bdesc_args): Add __builtin_ia32_{floorpd,ceilpd}_vec_pack_sfix{,256}, __builtin_ia32_roundpd_az_vec_pack_sfix{,256}, __builtin_ia32_{floorps,ceilps}_sfix{,256}and __builtin_ia32_roundps_az_sfix{,256} descriptions. (ix86_expand_sse_round_vec_pack_sfix): New. (ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SF_ROUND, V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND and V8SI_FTYPE_V4DF_V4DF_ROUND types. Check last argument of CODE_FOR_sse4_1_roundpd_vec_pack_sfix, CODE_FOR_sse4_1_roundps_sfix, CODE_FOR_avx_roundpd_vec_pack_sfix256 and CODE_FOR_avx_roundps_sfix256. (ix86_builtin_vectorized_function): Handle BUILT_IN_{I,L,LL}FLOOR{,F}, BUILT_IN_{I,L,LL}CEIL{,F} and BUILT_IN_{I,L,LL}ROUND{,F} testsuite/ChangeLog: * gcc.target/i386/sse4_1-floor-sfix-vec.c: New test. * gcc.target/i386/sse4_1-floorf-sfix-vec.c: Ditto. * gcc.target/i386/avx-floor-sfix-vec.c: Ditto. * gcc.target/i386/avx-floorf-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-ceil-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Ditto. * gcc.target/i386/avx-ceil-sfix-vec.c: Ditto. * gcc.target/i386/avx-ceilf-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-round-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-roundf-sfix-vec.c: Ditto. * gcc.target/i386/avx-round-sfix-vec.c: Ditto. * gcc.target/i386/avx-roundf-sfix-vec.c: Ditto. From-SVN: r181361
Uros Bizjak committed -
2011-11-14 H.J. Lu <hongjiu.lu@intel.com> * testsuite/lib/libitm.exp: Check ia32 instead of ilp32. From-SVN: r181360
H.J. Lu committed -
PR c++/6936 PR c++/25994 PR c++/26256 PR c++/30195 * search.c (lookup_field_1): Look through USING_DECL. (lookup_field_r): Call lookup_fnfields_slot instead of lookup_fnfields_1. * semantics.c (finish_member_declaration): Remove the check that prevents USING_DECLs from being verified by pushdecl_class_level. Call add_method for using declarations that designates functions if the using declaration is in a template class. Set DECL_IGNORED_P on class-scope using declarations. * typeck.c (build_class_member_access_expr): Handle USING_DECLs. * class.c (check_field_decls): Keep using declarations. (add_method): Remove two diagnostics about conflicting using declarations. * parser.c (cp_parser_nonclass_name): Handle USING_DECLs. * decl.c (start_enum): Call xref_tag whenever possible. * cp-tree.h (strip_using_decl): Declare, and reident the previous function. * name-lookup.c (strip_using_decl): New function. (supplement_binding_1): Call strip_using_decl on decl and bval. Perform most of the checks with USING_DECLs stripped. Also check that the target decl and the target bval does not refer to the same declaration. Allow pushing an enum multiple times in a template class. Adjustment to diagnose using redeclarations. Call diagnose_name_conflict. (push_class_level_binding): Call strip_using_decl on decl and bval. Perform most of the checks with USING_DECLs stripped. Return true if both decl and bval refer to USING_DECLs and are dependent. (diagnose_name_conflict): New function. From-SVN: r181359
Fabien Chêne committed -
PR middle-end/50598 * cgraph.h (varpool_externally_visible_p): Declare. (varpool_add_new_variable): Declare. * tree-emultls.c (get_emutls_init_templ_addr, new_emutls_decl): Use varpool_add_new_variable. * ipa.c (varpool_externally_visible_p): Export. * varpool.c (varpool_add_new_variable): New function. From-SVN: r181358
Jan Hubicka committed -
* gcc.target/i386/sw-1.c: Force rep;movsb. * config/i386/i386.h (processor_costs): Add second dimension to stringop_algs array. * config/i386/i386.c (cost models): Initialize second dimension of stringop_algs arrays. (core_cost): New costs based on generic64 costs with updated stringop values. (promote_duplicated_reg): Add support for vector modes, add declaration. (promote_duplicated_reg_to_size): Likewise. (processor_target): Set core costs for core variants. (expand_set_or_movmem_via_loop_with_iter): New function. (expand_set_or_movmem_via_loop): Enable reuse of the same iters in different loops, produced by this function. (emit_strset): New function. (expand_movmem_epilogue): Add epilogue generation for bigger sizes, use SSE-moves where possible. (expand_setmem_epilogue): Likewise. (expand_movmem_prologue): Likewise for prologue. (expand_setmem_prologue): Likewise. (expand_constant_movmem_prologue): Likewise. (expand_constant_setmem_prologue): Likewise. (decide_alg): Add new argument align_unknown. Fix algorithm of strategy selection if TARGET_INLINE_ALL_STRINGOPS is set; Skip sse_loop (decide_alignment): Update desired alignment according to chosen move mode. (ix86_expand_movmem): Change unrolled_loop strategy to use SSE-moves. (ix86_expand_setmem): Likewise. (ix86_slow_unaligned_access): Implementation of new hook slow_unaligned_access. * config/i386/i386.md (strset): Enable half-SSE moves. * config/i386/sse.md (vec_dupv4si): Add expand for vec_dupv4si. (vec_dupv2di): Add expand for vec_dupv2di. Co-Authored-By: Jan Hubicka <jh@suse.cz> From-SVN: r181357
Zolotukhin Michael committed -
PR bootstrap/51094 PR middle-end/51116 * config/elfos.h (TARGET_ASM_INTERNAL_LABEL): Remove. * varasm.c (default_elf_internal_label): Remove. From-SVN: r181355
Dimitrios Apostolou committed -
* gcov.c (generate_results): Add missing semicolon and correct indent. From-SVN: r181353
Kai Tietz committed -
gcc/testsuite: PR testsuite/51059 * gcc.misc-tests/gcov-14.c (dg-options): Adjust to use dg-additional-options. From-SVN: r181350
Iain Sandoe committed -
2011-11-14 Paolo Carlini <paolo.carlini@oracle.com> * include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr, not viable anyway due to the pointer parameter. From-SVN: r181349
Paolo Carlini committed -
2011-11-14 Tobias Burnus <burnus@net-b.de> PR fortran/51073 * trans-decl.c (generate_coarray_sym_init): Handle zero-sized * arrays. From-SVN: r181348
Tobias Burnus committed -
PR bootstrap/51112 * tree-vect-stmts.c (vectorizable_condition): Initialize comp_vectype. From-SVN: r181347
Ira Rosen committed -
From-SVN: r181346
Mingjie Xing committed -
From-SVN: r181345
GCC Administrator committed
-
- 13 Nov, 2011 9 commits
-
-
2011-11-13 Paolo Carlini <paolo.carlini@oracle.com> * include/c_global/cmath (atan2, fmod, pow, copysign, fdim, fma, fmax, fmin, hypot, nextafter, remainder, remquo): Simplify constraining on the return type. * include/tr1/cmath (copysign, fdim, fma, fmax, fmin, hypot, nextafter, remainder, remquo): Likewise. From-SVN: r181341
Paolo Carlini committed -
PR target/50694 * config/sh/sh.h (IS_LITTLE_ENDIAN_OPTION, UNSUPPORTED_SH2A): New macros. (DRIVER_SELF_SPECS): Use new macros to filter out unsupported options taking the default configuration into account. * gcc.target/sh/pr21255-2-ml.c: Skip if -mb or -m5* is specified. Remove redundant runtime checks. * gcc.target/sh/20080410-1.c: Skip if -mb is specified. Allow for other than -m4. Fix typos in comments. From-SVN: r181340
Oleg Endo committed -
* config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list. * config/pa/t-stublib: Merge rules from config/pa/t-stublib64. * config/pa/t-stublib64: Delete. From-SVN: r181339
John David Anglin committed -
* doc/install.texi (Specific): Fix anchor for x86_64-*-solaris2.1[0-9]*. From-SVN: r181338
Jonathan Wakely committed -
* gcov.c (source_prefix, source_length): New globals. (flag_relative_only): Likewise. (print_usage, options, process_args): Update. (generate_results): Use coverage.name, check flag_relative_only. Adjust messages. (find_source): Check source_prefix. (output_lines): Use coverage.name, adjust messages. * doc/gcov.texi (Invoking Gcov): Document new options. From-SVN: r181335
Nathan Sidwell committed -
PR c++/986 * call.c (set_up_extended_ref_temp): Warn about references bound to non-static reference members. * init.c (perform_member_init): Pass in the member. From-SVN: r181334
Jason Merrill committed -
From-SVN: r181333
Gerald Pfeifer committed -
PR c++/51060 * gimplify.c (gimplify_target_expr): Add a clobber to the cleanup. (gimplify_modify_expr): Don't try to simplify it. * cp/cp-gimplify.c (cp_gimplify_expr): Leave clobbers alone. From-SVN: r181332
Jason Merrill committed -
From-SVN: r181331
GCC Administrator committed
-
- 12 Nov, 2011 10 commits
-
-
PR bootstrap/51094 * config/elfos.h (STRING_ASM_OP): Define. * varasm.c (default_elf_asm_output_limited_string): Use it. From-SVN: r181327
Dimitrios Apostolou committed -
PR bootstrap/51094 * gcc/configure.ac: Check for stpcpy declaration. * system.h: Declare it if not. * config.in, configure: Regenerate. From-SVN: r181326
Dimitrios Apostolou committed -
* config/rs6000/linux-unwind.h (frob_update_context): Properly cast the pointer argument to _Unwind_SetGRPtr. From-SVN: r181325
Richard Henderson committed -
* config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use nonimmediate_operand for the destination. (fixuns_trunc<SFDF>si2_stfiwx): Likewise. From-SVN: r181324
Richard Henderson committed -
builtins.c (expand_builtin_compare_and_swap): If target is const0, don't pass the target to expand_atomic_compare_and_swap. * builtins.c (expand_builtin_compare_and_swap): If target is const0, don't pass the target to expand_atomic_compare_and_swap. (expand_builtin_atomic_compare_exchange): Likewise. From-SVN: r181323
Richard Henderson committed -
* config/sh/linux.h (TARGET_INIT_LIBFUNCS): New. * config/sh/sh.c (sh_init_sync_libfuncs): New. From-SVN: r181322
Richard Henderson committed -
PR libstdc++/51083 * include/ext/type_traits.h (__promote): Only define __type member for integral and floating point types, to prevent math functions participating in overload resolution for other types. (__promote_2, __promote_3, __promote_4): Use __promote in default template argument values, so deduction only succeeds for integral and floating point types. * testsuite/26_numerics/cmath/51083.cc: New. * testsuite/26_numerics/complex/51083.cc: New. * testsuite/tr1/8_c_compatibility/cmath/51083.cc: New. * testsuite/tr1/8_c_compatibility/complex/51083.cc: New. From-SVN: r181321
Jonathan Wakely committed -
* config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New. * config/pa/pa.h (TARGET_SYNC_LIBCALL): New default. * config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs. From-SVN: r181320
Richard Henderson committed -
ada: * gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link s-oscons.ads. (OSCONS_CPP, OSCONS_EXTRACT): New. (./bldtools/oscons/xoscons): New Target. ($(RTSDIR)/s-oscons.ads): New Target. (gnatlib): Depend on $(RTSDIR)/s-oscons.ads. * gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency. * Make-generated.in: Remove machinery to generate xoscons and ada/s-oscons.ads. libada: Makefile.in: Change dependency on oscons to depend on the generator tool. From-SVN: r181319
Iain Sandoe committed -
* lib/gcc-simulate-thread.exp (simulate-thread): Do not run on alpha*-*-linux* targets. From-SVN: r181318
Uros Bizjak committed
-