Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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
|
|
From-SVN: r181368
|
|
From-SVN: r181367
|
|
gcc/testsuite:
* g++.dg/tm/template-1.C: Add cleanup-tree-dump. Fix typo in comment.
From-SVN: r181366
|
|
gcc:
2011-11-14 Jan Hubicka <jh@suse.cz>
* config/i386/i386.c (core cost model): Correct pasto.
From-SVN: r181365
|
|
* 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
|
|
list.)
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
|
|
* 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
|
|
2011-11-14 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/lib/libitm.exp: Check ia32 instead of ilp32.
From-SVN: r181360
|
|
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
|
|
*-apple-darwin*)
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
|
|
* 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
|
|
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
|
|
* gcov.c (generate_results): Add missing semicolon and
correct indent.
From-SVN: r181353
|
|
errors) on *-apple-darwin*)
gcc/testsuite:
PR testsuite/51059
* gcc.misc-tests/gcov-14.c (dg-options): Adjust to use
dg-additional-options.
From-SVN: r181350
|
|
pointer parameter.
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
|
|
returns non-NULL)
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
|
|
PR bootstrap/51112
* tree-vect-stmts.c (vectorizable_condition): Initialize
comp_vectype.
From-SVN: r181347
|
|
From-SVN: r181346
|
|
From-SVN: r181345
|
|
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
|
|
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
|
|
* 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
|
|
* doc/install.texi (Specific): Fix anchor for
x86_64-*-solaris2.1[0-9]*.
From-SVN: r181338
|
|
* 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
|
|
undefined behaviour)
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
|
|
From-SVN: r181333
|
|
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
|
|
From-SVN: r181331
|
|
PR bootstrap/51094
* config/elfos.h (STRING_ASM_OP): Define.
* varasm.c (default_elf_asm_output_limited_string): Use it.
From-SVN: r181327
|
|
PR bootstrap/51094
* gcc/configure.ac: Check for stpcpy declaration.
* system.h: Declare it if not.
* config.in, configure: Regenerate.
From-SVN: r181326
|
|
* config/rs6000/linux-unwind.h (frob_update_context): Properly
cast the pointer argument to _Unwind_SetGRPtr.
From-SVN: r181325
|
|
* config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use
nonimmediate_operand for the destination.
(fixuns_trunc<SFDF>si2_stfiwx): Likewise.
From-SVN: r181324
|
|
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
|
|
* config/sh/linux.h (TARGET_INIT_LIBFUNCS): New.
* config/sh/sh.c (sh_init_sync_libfuncs): New.
From-SVN: r181322
|
|
overloads not constrained)
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
|
|
* 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
|
|
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
|
|
targets.
* lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
alpha*-*-linux* targets.
From-SVN: r181318
|
|
errors) on *-apple-darwin*)
gcc/testsuite:
PR testsuite/51059
* gcc.misc-tests/gcov-14.c (dg-options): Force flat namespace for
Darwin targets and allow external symbols to be undefined.
From-SVN: r181317
|
|
gcc:
PR target/45233
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
Only expand a symbol ref. into an access when the entity is defined
in the TU.
From-SVN: r181315
|
|
Objective-C m32.
gcc/obj:
* objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality
for Objective-C m32.
From-SVN: r181312
|
|
assembler for ios_init.cc)
PR bootstrap/50822
* cgraphunit.c (output_weakrefs): Output really only weakrefs.
From-SVN: r181311
|
|
* MAINTAINERS (Reviewers): Keep the list sorted.
From-SVN: r181310
|
|
* gcov.c (struct name_map): New.
(names, n_names, a_names): New global vars.
(print_usage): Adjust usage.
(generate_results): Canonicalize main file name.
(release_structures): Adjust.
(name_search, name_sort): New callbacks.
(find_source): Look for and create a canonical name.
(canonicalize_name): New.
(make_gcov_file_name): Reimplement and fix mangling.
(mangle_name): New.
* doc/gcov.texi: Update documentation about path preservation.
testsuite/
* gcc.misc-tests/gcov-15.c: New.
From-SVN: r181309
|
|
From-SVN: r181308
|
|
* config/sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
* config/sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
From-SVN: r181307
|
|
From-SVN: r181306
|
|
From-SVN: r181301
|
|
* config/i386/i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper):
New prototype.
* config/i386/i386.c (ix86_maybe_emit_epilogue_vzeroupper): New
function.
(ix86_expand_epilogue): Use it.
* config/i386/i386.md (return, simple_return): Call it in the
expanders.
From-SVN: r181300
|