]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
8 years ago2017-06-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Fri, 23 Jun 2017 12:44:07 +0000 (12:44 +0000)] 
2017-06-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        rtl-optimizatoin/79286
        * ira.c (update_equiv_regs): Revert to using may_trap_or_fault_p again.
        * rtlanal.c (rtx_addr_can_trap_p_1): SYMBOL_REF_FUNCTION_P can never
        trap.  PIC register plus a const unspec without offset can never trap.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249588 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRefactor fileptr_type_node handling
glisse [Fri, 23 Jun 2017 09:05:47 +0000 (09:05 +0000)] 
Refactor fileptr_type_node handling

2017-06-23  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree.h (builtin_structptr_type): New type.
(builtin_structptr_types): Declare new array.
* tree.c (builtin_structptr_types): New array.
(free_lang_data, build_common_tree_nodes): Use it.

gcc/c-family/
* c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.

gcc/cp/
* decl.c (duplicate_decls): Use builtin_structptr_types.

gcc/lto/
* lto-lang.c (lto_init): Use builtin_structptr_types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249585 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR c++/81187 fix -Wnoexcept-type entry in manual
redi [Fri, 23 Jun 2017 08:16:05 +0000 (08:16 +0000)] 
PR c++/81187 fix -Wnoexcept-type entry in manual

PR c++/81187
* doc/invoke.texi (-Wnoexcept-type): Fix name of option, from
-Wnoexcept.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249584 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Fri, 23 Jun 2017 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249583 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: uncomment check for gchelper on g0 stack
ian [Thu, 22 Jun 2017 22:12:50 +0000 (22:12 +0000)] 
runtime: uncomment check for gchelper on g0 stack

    Now that systemstack changes to the g0 stack, this check passes.

    Reviewed-on: https://go-review.googlesource.com/46460

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249578 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: mark dropm and callees nowritebarrierrec
ian [Thu, 22 Jun 2017 22:11:01 +0000 (22:11 +0000)] 
runtime: mark dropm and callees nowritebarrierrec

    The CgocallbackDone function calls dropm after it calls entersyscall,
    which means that dropm must not have any write barriers. Mark it
    accordingly.

    Reviewed-on: https://go-review.googlesource.com/46464

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249577 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: export getm function
ian [Thu, 22 Jun 2017 22:08:50 +0000 (22:08 +0000)] 
runtime: export getm function

    Use go:linkname to export the getm function. This makes it visible to
    runtime/testdata/testprogcgo/dropm_stub.go, which uses it as part of
    the TestEnsureDropM test in runtime/crash_cgo_test.go. That test is
    not run today, but it will be soon.

    Reviewed-on: https://go-review.googlesource.com/46462

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249576 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: fix type cast in assignment to gcnextsp in C code
ian [Thu, 22 Jun 2017 19:52:11 +0000 (19:52 +0000)] 
runtime: fix type cast in assignment to gcnextsp in C code

    Patch from Rainer Orth.

    Reviewed-on: https://go-review.googlesource.com/46459

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249575 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
uros [Thu, 22 Jun 2017 19:46:10 +0000 (19:46 +0000)] 
gcc/

2017-06-22  Matt Turner  <mattst88@gmail.com>

* config/i386/driver-i386.c (host_detect_local_cpu): Add Kaby
Lake models to skylake case.  Assume skylake for unknown
models with clflushopt.

gcc/testsuite/

2017-06-22  Matt Turner  <mattst88@gmail.com>

* gcc.target/i386/builtin_target.c: Add Kaby Lake models to
skylake check.

libgcc/

2017-06-22  Matt Turner  <mattst88@gmail.com>

* config/i386/cpuinfo.c (get_intel_cpu): Add Kaby Lake models to
skylake case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249574 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/testsuite/ChangeLog:
carll [Thu, 22 Jun 2017 18:45:35 +0000 (18:45 +0000)] 
gcc/testsuite/ChangeLog:

2017-06-22 Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/builtins-3.c (vmulosh, vmulouh, vmulesh,
vmuleuh): Fix scan-assembler-times should check for word not half word
instructions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249572 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago Reorder IDENTIFIER flags
nathan [Thu, 22 Jun 2017 18:40:56 +0000 (18:40 +0000)] 
Reorder IDENTIFIER flags
gcc/cp/
* cp-tree.h (enum cp_identifier_kind): New.
(IDENTIFIER_KIND_BIT_0, IDENTIFIER_KIND_BIT_1,
IDENTIFIER_KIND_BIT_2): New.
(IDENTIFIER_MARKED): Move to TREE_LANG_FLAG_4.
(IDENTIFIER_VIRTUAL_P, IDENTIFIER_REPO_CHOSEN): Add
IDENTIFIER_CHECK.
(C_IS_RESERVED_WORD): Replace with ...
(IDENTIFIER_KEYWORD_P): ... this.
(IDENTIFIER_CTOR_OR_DTOR_P): Replace with ...
(IDENTIFIER_CDTOR_P): ... this.
(IDENTIFIER_CTOR_P, IDENTIFIER_DTOR_P): New.
(IDENTIFIER_OPNAME_P): Replace with ...
(IDENTIFIER_ANY_OP_P): ... this.
(IDENTIFIER_ASSIGN_OP_P): New.
(IDENTIFIER_TYPENAME_P): Replace with ...
(IDENTIFIER_CONV_OP_P): ... this.
(NEW_DELETE_OPNAME_P): Replace with ...
(IDENTIFIER_NEWDEL_OP_P): ... this.
(DECL_CONV_FN_P, DECL_OVERLOADED_OPERATOR_P): Adjust.
(get_identifier_kind_name, set_identifier_kind): Declare.
* lex.c (get_identifier_kind_name, set_identifier_kind): New.
(init_operators): Adjust to avoid keywords, use
set_identifier_kind. Copy TYPE_EXPR slot.
(init_reswords): Call set_identifier_kind.
(unqualified_name_lookup_error): Adjust.
* operators.def (TYPE_EXPR): Remove.
* decl.c (struct predefined_identifier): Move into ...
(initialize_predefined_identifiers): ... here.  Call
set_identifier_kind.
(grokfndecl, check_var_type, grokdeclarator): Adjust.
(grok_op_properties): Use IDENTIFIER_ANY_ASSIGN_OP to halve search
space.  Adjust.
* call.c (name_as_c_string): Adjust.
(build_new_method_call_1): Likewise.
* cp-cilkplus.c (is_conversion_operator_function_decl_p):
Likewise.
* cxx-pretty-print.c (pp_cxx_unqualified_id): Adjust.
* dump.c (cp_dump_tree): Adjust.
* error.c (dump_decl_name): Adjust.
* mangle.c (write_unqualified_id, write_member_name)
write_expression): Adjust.
(mangle_conv_op_name_for_type): Use set_identifier_kind.
* name-lookup.c (do_class_using_decl): Adjust.
(lookup_name_fuzzy, lookup_name_real_1): Likewise.
* parser.c (cp_lexer_get_preprocessor_token)
cp_parser_direct_declarator): Likewise.
* pt.c (push_template_decl_real, tsubst_decl, tsubst_baselink)
tsubst_copy, tsubst_copy_and_build): Adjust.
* ptree.c (cxx_print_identifier): Print identifier kind.
* search.c (lookup_field_r, lookup_member)
lookup_fnfields_idx_nolazy): Adjust.
* semantics.c (finish_id_expression): Adjust..
* typeck.c (cp_build_addr_expr_1): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249571 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Handle
law [Thu, 22 Jun 2017 17:18:05 +0000 (17:18 +0000)] 
* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Handle
frame sizes that do not satisfy aarch64_uimm12_shift.

* gcc.c-torture/compile/stack-check-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249566 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: make NumGoroutine wait for system goroutines to register
ian [Thu, 22 Jun 2017 15:46:47 +0000 (15:46 +0000)] 
runtime: make NumGoroutine wait for system goroutines to register

    In libgo system goroutines register themselves after they start.
    That means that there is a small race between the goroutine being
    seen by the scheduler and the scheduler knowing that the goroutine
    is a system goroutine. That in turn means that runtime.NumGoroutines
    can overestimate the number of goroutines at times.

    This patch fixes the overestimate by counting the number of system
    goroutines waiting to start, and pausing NumGoroutines until those
    goroutines have all registered.

    This is kind of a lot of mechanism for this not very important
    problem, but I couldn't think of a better approach.

    The test for this is TestNumGoroutine in runtime/proc_test.go.
    The test is not currently run, but it will be soon.

    Reviewed-on: https://go-review.googlesource.com/46457

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249565 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago compiler: fix stale comment in lexer
ian [Thu, 22 Jun 2017 15:42:50 +0000 (15:42 +0000)] 
compiler: fix stale comment in lexer

    Remove stale comment in code that accepts "go:nowritebarrier"
    pragma. Update comment for "go:nowritebarrierrec".

    Reviewed-on: https://go-review.googlesource.com/46416

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249564 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * profile-count.h (apply_probability,
hubicka [Thu, 22 Jun 2017 14:50:23 +0000 (14:50 +0000)] 
* profile-count.h (apply_probability,
apply_scale, probability_in): Fix checks for zero.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249563 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: don't assume that _ = *s will panic if s is nil
ian [Thu, 22 Jun 2017 14:46:12 +0000 (14:46 +0000)] 
runtime: don't assume that _ = *s will panic if s is nil

    With the gc toolchain apparently
            var s *string
            _ = *s
    is enough to panic with a nil pointer dereference. The gccgo compiler
    will simply discard the dereference, which I think is a reasonable and
    acceptable optimization. Change the tests to use an exported variable
    instead. The tests are not currently run, but they will be with a
    later patch to gotools.

    Reviewed-on: https://go-review.googlesource.com/46450

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249562 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: change some stack fields to uintptr
ian [Thu, 22 Jun 2017 14:44:30 +0000 (14:44 +0000)] 
runtime: change some stack fields to uintptr

    Because of how gccgo implements cgo calls, the code in dropm may not
    have any write barriers.  As a step toward implementing that, change
    the gcstack, gcnextsegment, and gcnextsp fields of the g struct to
    uintptr, so that assignments to them do not require write barriers.
    The gcinitialsp field remains unsafe.Pointer, as on 32-bit systems
    that do not support split stack it points to a heap allocated space
    used for the goroutine stack.

    The test for this is runtime tests like TestCgoCallbackGC, which are
    not run today but will be run with a future gotools patch.

    Reviewed-on: https://go-review.googlesource.com/46396

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249561 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoSupport $SYSROOT for = in -I etc.
ro [Thu, 22 Jun 2017 14:37:17 +0000 (14:37 +0000)] 
Support $SYSROOT for = in -I etc.

* incpath.c (add_sysroot_to_chain): Allow for $SYSROOT prefix.
* doc/cppdiropts.texi (-I @var{dir}): Document it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249560 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: avoid write barriers when calling deferred function
ian [Thu, 22 Jun 2017 14:33:13 +0000 (14:33 +0000)] 
runtime: avoid write barriers when calling deferred function

    Calling a deferred function currently requires changing from a uintptr
    to the function code to a Go function value. That is done by setting
    the value of a func local variable using unsafe.Pointer. The local
    variable will always be on the stack. Adjust the code that sets the
    local variable to avoid generating a write barrier.

    A write barrier is never needed here. Also, for deferreturn, we must
    avoid write barriers entirely when called from a cgo function; that
    requires more than just this, but this is a start.

    The test for this is runtime tests that use the go tool; these are not
    currently run, but they will be in the future.

    Reviewed-on: https://go-review.googlesource.com/46455

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249559 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: rename _defer struct _panic field to panicStack
ian [Thu, 22 Jun 2017 14:31:16 +0000 (14:31 +0000)] 
runtime: rename _defer struct _panic field to panicStack

    The gc version of the _defer struct has a _panic field that has a
    completely different meaning. We are going to want that bring that new
    meaning into the gofrontend to improve panic reports with nested
    panic calls. Simplify that by first renaming the existing _panic field.

    Reviewed-on: https://go-review.googlesource.com/46454

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249558 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: adjust tests for gofrontend
ian [Thu, 22 Jun 2017 14:28:57 +0000 (14:28 +0000)] 
runtime: adjust tests for gofrontend

    - don't run tests that depend on SetCgoTraceback
    - don't expect a '(' after the function name in a traceback
    - change the expected name of nested functions in a traceback

    These tests are not currently run, but they will be soon.

    Reviewed-on: https://go-review.googlesource.com/46453

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249557 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: don't build test files that use SetCgoTraceback for gccgo
ian [Thu, 22 Jun 2017 14:27:09 +0000 (14:27 +0000)] 
runtime: don't build test files that use SetCgoTraceback for gccgo

    The gofrontend doesn't support the runtime.SetCgoTraceback function,
    which is specifically for handling mixed Go and C tracebacks.
    Use a build tag to avoid compiling the runtime/testdata/testprogcgo
    files that refer to SetCgoTraceback. These files are not currently
    compiled anyhow, but they will be with a future gotools patch.

    Reviewed-on: https://go-review.googlesource.com/46452

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249556 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: build testprogcgo with -pthread
ian [Thu, 22 Jun 2017 14:23:54 +0000 (14:23 +0000)] 
runtime: build testprogcgo with -pthread

    Building this test with gccgo requires an explicit -pthread option to
    be passed to the C compiler, so that it links against -lpthread.
    This test is not built today, but it will be soon with a future patch.

    Reviewed-on: https://go-review.googlesource.com/46451

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249555 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR libstdc++/81173 fix undefined memset with null pointer
redi [Thu, 22 Jun 2017 14:16:38 +0000 (14:16 +0000)] 
PR libstdc++/81173 fix undefined memset with null pointer

PR libstdc++/81173
* include/bits/stl_bvector.h (vector<bool>::_M_initialize_value):
Do not pass null pointer to memset.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249554 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-06-22 Richard Biener <rguenther@suse.de>
rguenth [Thu, 22 Jun 2017 12:07:07 +0000 (12:07 +0000)] 
2016-06-22  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_model_reduction_cost): Handle
COND_REDUCTION and INTEGER_INDUC_COND_REDUCTION without
REDUC_MAX_EXPR support.
(vectorizable_reduction): Likewise.
(vect_create_epilog_for_reduction): Likewise.

* gcc.dg/vect/pr65947-1.c: Remove xfail.
* gcc.dg/vect/pr65947-2.c: Likewise.
* gcc.dg/vect/pr65947-3.c: Likewise.
* gcc.dg/vect/pr65947-4.c: Likewise.
* gcc.dg/vect/pr65947-5.c: Likewise.
* gcc.dg/vect/pr65947-6.c: Likewise.
* gcc.dg/vect/pr65947-8.c: Likewise.
* gcc.dg/vect/pr65947-9.c: Likewise.
* gcc.dg/vect/pr65947-10.c: Likewise.
* gcc.dg/vect/pr65947-12.c: Likewise.
* gcc.dg/vect/pr65947-13.c: Likewise.
* gcc.dg/vect/pr65947-14.c: Likewise.
* gcc.dg/vect/vect-cond-2.c: Likewise.
* gcc.dg/vect/vect-pr69848.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249553 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix ipa-split-5.c test-case.
marxin [Thu, 22 Jun 2017 10:54:40 +0000 (10:54 +0000)] 
Fix ipa-split-5.c test-case.

2017-06-22  Martin Liska  <mliska@suse.cz>

* gcc.dg/tree-ssa/ipa-split-5.c: Make function bigger in order
to not inline it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249503 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch match.pd] Fold (A / (1 << B)) to (A >> B)
jgreenhalgh [Thu, 22 Jun 2017 08:39:04 +0000 (08:39 +0000)] 
[Patch match.pd] Fold (A / (1 << B)) to (A >> B)

For the testcase in the patch:

  unsigned long
  f2 (unsigned long a, int b)
  {
    unsigned long x = 1UL << b;
    return a / x;
  }

We currently generate an unsigned division and a left shift, where
we could instead generate a right shift.

gcc/

2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>

* match.pd (A / (1 << B) -> A >> B): New.
* generic-match-head.c: Include optabs-tree.h.
* gimple-match-head.c: Likewise.
* optabs-tree.h (target_supports_op_p): New.
* optabs-tree.c (target_supports_op_p): New.

gcc/testsuite/

2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>

* gcc.dg/tree-ssa/forwprop-37.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249502 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-06-22 Richard Biener <rguenther@suse.de>
rguenth [Thu, 22 Jun 2017 08:33:28 +0000 (08:33 +0000)] 
2017-06-22  Richard Biener  <rguenther@suse.de>

* gcc.dg/vect/pr65947-14.c: Fix missing brace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249501 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-06-22 Richard Biener <rguenther@suse.de>
rguenth [Thu, 22 Jun 2017 08:14:21 +0000 (08:14 +0000)] 
2017-06-22  Richard Biener  <rguenther@suse.de>

* gcc.dg/vect/pr65947-14.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249500 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoSupport --sysroot with Solaris ld
ro [Thu, 22 Jun 2017 06:54:04 +0000 (06:54 +0000)] 
Support --sysroot with Solaris ld

* configure.ac (gcc_cv_ld_static_dynamic): Also check stderr for
$gcc_cv_ld --help output.
(gcc_cv_ld_demangle): Likewise.
(gcc_cv_ld_eh_frame_hdr): Likewise.
(gcc_cv_ld_pie): Likewise.
(gcc_cv_ld_as_needed): Likewise.  Prefer native forms unless $gnu_ld.
(gcc_cv_ld_buildid): Likewise.
(gcc_cv_ld_sysroot): Likewise.
(ld_bndplt_support): Likewise.
(ld_pushpopstate_support): Likewise.
* configure: Regenerate.
* config/sol2.h [!USE_GLD] (SYSROOT_SPEC): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249496 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: in traceback, print panic rather than runtime.gopanic
ian [Thu, 22 Jun 2017 04:16:23 +0000 (04:16 +0000)] 
runtime: in traceback, print panic rather than runtime.gopanic

    The gc toolchain does the same thing, in gentraceback in
    runtime/traceback.go.

    The test for this is TestPanicTraceback in runtime/crash_test.go.  We
    don't yet run that test, but we will in a future change.

    Reviewed-on: https://go-review.googlesource.com/46397

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249495 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago compiler, runtime: better stack trace for `go f()` where f is nil
ian [Thu, 22 Jun 2017 04:13:36 +0000 (04:13 +0000)] 
compiler, runtime: better stack trace for `go f()` where f is nil

    The test for this is TestGoNil in the runtime package, which we don't
    run yet but will run with a subsequent gotools patch.

    Updates golang/go#8045

    Reviewed-on: https://go-review.googlesource.com/46392

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249494 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Thu, 22 Jun 2017 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249492 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago debug/elf: handle Alpha relocs
ian [Wed, 21 Jun 2017 22:39:36 +0000 (22:39 +0000)] 
debug/elf: handle Alpha relocs

    Patch by Uros Bizjak.

    Reviewed-on: https://go-review.googlesource.com/46391

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249487 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago compiler: fix missing case in Array_type::get_value_pointer
ian [Wed, 21 Jun 2017 22:29:58 +0000 (22:29 +0000)] 
compiler: fix missing case in Array_type::get_value_pointer

    Update the code in Array_type::get_value_pointer that handles
    "lvalue" context to look for both regular var expressions
    and temp var expressions, since both can appear in array/slice
    index expressions on the left hand side of assignments.

    Reviewed-on: https://go-review.googlesource.com/46170

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249486 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoForgot to remove this file in the last libgo commit.
ian [Wed, 21 Jun 2017 22:29:36 +0000 (22:29 +0000)] 
Forgot to remove this file in the last libgo commit.

libgo: remove old MIPS architecture names

    This removes the old names for the 3 main MIPS ABIs: mipso32, mipsn32
    and mipsn64. It also removes the mipso64 ABI which has no equivalent
    architecture name in go. This ABI has been dead for sometime and I doubt
    anyone will miss it.

    Change-Id: I087b243784edf6705fdaf9c32e3233da5e387283

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249485 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago libgo: remove old MIPS architecture names
ian [Wed, 21 Jun 2017 22:11:04 +0000 (22:11 +0000)] 
libgo: remove old MIPS architecture names

    This removes the old names for the 3 main MIPS ABIs: mipso32, mipsn32
    and mipsn64. It also removes the mipso64 ABI which has no equivalent
    architecture name in go. This ABI has been dead for sometime and I doubt
    anyone will miss it.

    Reviewed-on: https://go-review.googlesource.com/46154

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249477 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago libgo: use gc's arch names as the default GOARCHs on MIPS
ian [Wed, 21 Jun 2017 21:55:34 +0000 (21:55 +0000)] 
libgo: use gc's arch names as the default GOARCHs on MIPS

    This means that the gc tools and gofrontend agree on the architecture names
    for the 3 MIPS ABIs which should allow a gofrontend compiler to build go.

    Reviewed-on: https://go-review.googlesource.com/46153

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249476 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago cmd/cgo: add mips64p32* to ptrSizeMap and intSizeMap
ian [Wed, 21 Jun 2017 21:50:52 +0000 (21:50 +0000)] 
cmd/cgo: add mips64p32* to ptrSizeMap and intSizeMap

    Reviewed-on: https://go-review.googlesource.com/46152

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249475 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago internal/syscall/unix: implement randomTrap on mips64p32*
ian [Wed, 21 Jun 2017 21:47:35 +0000 (21:47 +0000)] 
internal/syscall/unix: implement randomTrap on mips64p32*

    Rename getrandom_linux_mipsn32.go to use the new architecture name for
    the n32 ABI and enable building it on mips64p32 and mips64p32le.

    Reviewed-on: https://go-review.googlesource.com/46151

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249474 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago libgo, syscall: fix ptrace implementation on MIPS
ian [Wed, 21 Jun 2017 21:46:03 +0000 (21:46 +0000)] 
libgo, syscall: fix ptrace implementation on MIPS

    On MIPS, the correct structure for PtraceRegs is 'struct pt_regs' which
    is declared in linux/ptrace.h. Previously no PtraceRegs structure was
    created on MIPS because 'struct user_regs_struct' doesn't exist there.

    Fallback to using pt_regs when the PtraceRegs structure is generated in
    mksysinfo.sh, then adjust syscall_linux_mipsx.go to read the program
    counter from the correct field.

    In addition, implement PtraceGetRegs and PtraceSetRegs on all 3 ABI
    variants.

    syscall_linux_mips64x.go can now be removed since the ptrace code on
    all 3 ABIs is identical.

    Reviewed-on: https://go-review.googlesource.com/46150

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249473 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago libgo, syscall: fix ptrace implementation on MIPS
ian [Wed, 21 Jun 2017 21:42:41 +0000 (21:42 +0000)] 
libgo, syscall: fix ptrace implementation on MIPS

    On MIPS, the correct structure for PtraceRegs is 'struct pt_regs' which
    is declared in linux/ptrace.h. Previously no PtraceRegs structure was
    created on MIPS because 'struct user_regs_struct' doesn't exist there.

    Fallback to using pt_regs when the PtraceRegs structure is generated in
    mksysinfo.sh, then adjust syscall_linux_mipsx.go to read the program
    counter from the correct field.

    In addition, implement PtraceGetRegs and PtraceSetRegs on all 3 ABI
    variants.

    syscall_linux_mips64x.go can now be removed since the ptrace code on
    all 3 ABIs is identical.

    Reviewed-on: https://go-review.googlesource.com/46150

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249472 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-06-21 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Wed, 21 Jun 2017 21:08:40 +0000 (21:08 +0000)] 
2017-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80510
* gcc.target/powerpc/pr80510-1.c: Restrict test to 64-bit until
32-bit support is added.  Change ITYPE size to 64-bit integer.
* gcc.target/powerpc/pr80510-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249470 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/81151
jakub [Wed, 21 Jun 2017 20:02:00 +0000 (20:02 +0000)] 
PR target/81151
* config/i386/sse.md (round<mode>2): Renumber match_dup and
operands indexes to avoid gap between operands and match_dups.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249469 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR libstdc++/80675, PR libstdc++/80940
ville [Wed, 21 Jun 2017 19:53:26 +0000 (19:53 +0000)] 
PR libstdc++/80675, PR libstdc++/80940

* include/std/istream:
(__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New.
(__do_is_convertible_to_basic_istream_impl): Likewise.
(__is_convertible_to_basic_istream_impl): Likewise.
(__is_convertible_to_basic_istream): Use the new base.
(__rvalue_istream_type): New.
(operator>>(_Istream&&, _Tp&&)): Use the new helper alias
for the SFINAE check, convert to the helper alias type before
doing the actual extraction.
* include/std/ostream:
(__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New.
(__do_is_convertible_to_basic_ostream_impl): Likewise.
(__is_convertible_to_basic_ostream_impl): Likewise.
(__is_convertible_to_basic_ostream): Use the new base.
(__rvalue_ostream_type): New.
(operator<<(_Ostream&&, const _Tp&)): Use the new helper alias
for the SFINAE check, convert to the helper alias type before
doing the actual insertion.
* testsuite/27_io/rvalue_streams-2.cc: Add new tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249468 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/81154
jakub [Wed, 21 Jun 2017 18:30:32 +0000 (18:30 +0000)] 
PR c++/81154
* semantics.c (handle_omp_array_sections_1, finish_omp_clauses):
Complain about t not being a variable if t is OVERLOAD even
when processing_template_decl.

* g++.dg/gomp/pr81154.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249467 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix variant selection in dg-cmp-results.sh
thopre01 [Wed, 21 Jun 2017 16:20:57 +0000 (16:20 +0000)] 
Fix variant selection in dg-cmp-results.sh

2017-06-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    contrib/
    * dg-cmp-results.sh: Restore filtering on target variant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249463 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * MAINTAINERS: Add myself as maintainer for PowerPC SPE port.
andrewjenner [Wed, 21 Jun 2017 16:17:24 +0000 (16:17 +0000)] 
   * MAINTAINERS: Add myself as maintainer for PowerPC SPE port.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249462 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoC++: Add fix-it hints for -Wold-style-cast
dmalcolm [Wed, 21 Jun 2017 16:11:36 +0000 (16:11 +0000)] 
C++: Add fix-it hints for -Wold-style-cast

gcc/cp/ChangeLog:
* parser.c (get_cast_suggestion): New function.
(maybe_add_cast_fixit): New function.
(cp_parser_cast_expression): Capture the location of the closing
parenthesis.  Call maybe_add_cast_fixit when emitting warnings
about old-style casts.

gcc/testsuite/ChangeLog:
* g++.dg/other/old-style-cast-fixits.C: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249461 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-06-21 Andrew Pinski <apinski@cavium.com>
pinskia [Wed, 21 Jun 2017 15:58:12 +0000 (15:58 +0000)] 
2017-06-21  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
        Increment Arith_shift and Arith_shift_reg by 1.
        * config/aarch64/aarch64-tuning-flags.def (cheap_shift_extend):
        New tuning flag.
        * config/aarch64/aarch64.c (thunderx_tunings): Enable
        AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND.
        (aarch64_strip_extend): Add new argument and test for it.
        (aarch64_cheap_mult_shift_p): New function.
        (aarch64_rtx_mult_cost): Call aarch64_cheap_mult_shift_p and don't
        add a cost if it is true.
        Update calls to aarch64_strip_extend.
        (aarch64_rtx_costs): Update calls to aarch64_strip_extend.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249459 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-06-21 Andrew Pinski <apinski@cavium.com>
pinskia [Wed, 21 Jun 2017 15:35:14 +0000 (15:35 +0000)] 
2017-06-21  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-cores.def (thunderxt88p1): Use thunderxt88
        tunings.
        (thunderxt88): Likewise.
        * config/aarch64/aarch64.c (thunderxt88_prefetch_tune): New variable.
        (thunderx_prefetch_tune): New variable.
        (thunderx2t99_prefetch_tune): Update for the correct values.
        (thunderxt88_tunings): New variable.
        (thunderx_tunings): Use thunderx_prefetch_tune instead of
        generic_prefetch_tune.
        (thunderx2t99_tunings): Use AUTOPREFETCHER_WEAK.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249458 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Fix atomic_cmp_exchange_zero_reg_1.c with +lse
ktkachov [Wed, 21 Jun 2017 15:26:21 +0000 (15:26 +0000)] 
[AArch64] Fix atomic_cmp_exchange_zero_reg_1.c with +lse

* config/aarch64/atomics.md (aarch64_compare_and_swap<mode>_lse,
SHORT): Relax operand 3 to aarch64_reg_or_zero and constraint to Z.
(aarch64_compare_and_swap<mode>_lse, GPI): Likewise.
(aarch64_atomic_cas<mode>, SHORT): Likewise for operand 2.
(aarch64_atomic_cas<mode>, GPI): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249457 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * g++.dg/cpp0x/constexpr-cast.C: Adjust dg-error for ILP32.
jakub [Wed, 21 Jun 2017 14:55:40 +0000 (14:55 +0000)] 
* g++.dg/cpp0x/constexpr-cast.C: Adjust dg-error for ILP32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249455 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUpdate baseline symbols for aarch64-none-linux-gnu
ramana [Wed, 21 Jun 2017 14:38:56 +0000 (14:38 +0000)] 
Update baseline symbols for aarch64-none-linux-gnu

       * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Regenerate

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249454 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoSupport dg-add-options in profopt.exp
vries [Wed, 21 Jun 2017 14:14:31 +0000 (14:14 +0000)] 
Support dg-add-options in profopt.exp

2017-06-21  Tom de Vries  <tom@codesourcery.com>

* lib/profopt.exp (profopt-get-options): Support dg-add-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249453 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix warning in gcc.dg/tree-prof/comp-goto-1.c
vries [Wed, 21 Jun 2017 14:14:16 +0000 (14:14 +0000)] 
Fix warning in gcc.dg/tree-prof/comp-goto-1.c

2017-06-21  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/tree-prof/comp-goto-1.c: Fix 'return type defaults to int'
warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249452 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRework cold and hot label attributes in predict.c.
marxin [Wed, 21 Jun 2017 12:52:14 +0000 (12:52 +0000)] 
Rework cold and hot label attributes in predict.c.

2017-06-21  Martin Liska  <mliska@suse.cz>

* gimplify.c (gimplify_label_expr): Insert GIMPLE_PREDICT
statements on cold and hot labels.
* predict.c (tree_estimate_probability_bb): Remove the
prediction from this place.
2017-06-21  Martin Liska  <mliska@suse.cz>

* gcc.dg/tree-ssa/attr-hotcold-2.c: Update scanned patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249451 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMake early return predictor more precise.
marxin [Wed, 21 Jun 2017 12:51:46 +0000 (12:51 +0000)] 
Make early return predictor more precise.

2017-06-21  Martin Liska  <mliska@suse.cz>

PR tree-optimization/79489
* gimplify.c (maybe_add_early_return_predict_stmt): New
function.
(gimplify_return_expr): Call the function.
* predict.c (tree_estimate_probability_bb): Remove handling
of early return.
* predict.def: Update comment about early return predictor.
* gimple-predict.h (is_gimple_predict): New function.
* predict.def: Change default value of early return to 66.
* tree-tailcall.c (find_tail_calls): Skip GIMPLE_PREDICT
statements.
* passes.def: Put pass_strip_predict_hints to the beginning of
IPA passes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249450 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDWARF: make it possible to emit debug info for declarations only
pmderodat [Wed, 21 Jun 2017 11:24:51 +0000 (11:24 +0000)] 
DWARF: make it possible to emit debug info for declarations only

The DWARF back-end used to systematically ignore file-scope function and
variable declarations.  While this is justified in language like C/C++,
where such declarations can appear in several translation units and thus
bloat uselessly the debug info, this behavior is counter-productive in
languages with a well-defined module system.  Specifically, it prevents
the description of imported entities, that belong to foreign languages,
making them unavailable from debuggers.

Take for instance:

    package C_Binding is
        function My_C_Function (I : Integer) return Integer;
        pragma Import (C, My_C_Function, "my_c_function");
    end C_Binding;

This makes available for Ada programs the C function "my_c_function"
under the following name: C_Binding.My_C_Function.  When GCC compiles
it, though, it is represented as a FUNCTION_DECL node with DECL_EXTERNAL
set and a null DECL_INITIAL, which used to be discarded unconditionally
in the DWARF back-end.

This patch moves such filter from the DWARF back-end to the relevant
callers: passes.c:rest_of_decl_compilation and
godump.c:go_early_global_decl. It also This patch also updates the Ada
front-end to call debug hooks for functions such as in the above
example, so that we do generate debugging information for them.

gcc/
* dwarf2out.c (gen_decl_die): Remove the guard to skip file-scope
FUNCTION_DECL declarations.
(dwarf2out_early_global_decl): Remove the guard to skip FUNCTION_DECL
declarations.
(dwaf2out_decl): Likewise.
* godump.c (go_early_global_decl): Skip call to the real debug hook
for FUNCTION_DECL declarations.
* passes.c (rest_of_decl_compilation): Skip call to the
early_global_decl debug hook for FUNCTION_DECL declarations, unless
-fdump-go-spec is passed.

gcc/ada/
* gcc-interface/ada-tree.h (DECL_FUNCTION_IS_DEF): Update copyright
notice.  New macro.
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Tag the subprogram
as a definition.
(Compilation_Unit_to_gnu): Tag the elaboration procedure as a
definition.
* gcc-interface/decl.c (gnat_to_gnu_entity): Tag declarations of
imported subprograms for the current compilation unit as
definitions.  Disable debug info for references to variables.
* gcc-interface/gigi.h (create_subprog_decl): Update declaration.
* gcc-interface/utils.c (gnat_pushdecl): Add external DECLs that are
not built-in functions to their binding scope.
(create_subprog_decl): Add a DEFINITION parameter.  If it is true, tag
the function as a definition.  Update all callers.
(gnat_write_global_declarations): Emit debug info for imported
functions.  Filter out external variables for which debug info
is disabled.

gcc/testsuite/
* gnat.dg/debug11_pkg.adb, gnat.dg/debug11_pkg.ads,
gnat.dg/debug11_pkg2.ads: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249449 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[i386] __builtin_ia32_stmxcsr could be pure
glisse [Wed, 21 Jun 2017 11:20:41 +0000 (11:20 +0000)] 
[i386] __builtin_ia32_stmxcsr could be pure

2017-06-21  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* config/i386/i386.c (struct builtin_isa): New field pure_p.
Reorder for compactness.
(def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p.
(def_builtin_pure, def_builtin_pure2): New functions.
(ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure.

gcc/testsuite/
* gcc.target/i386/getround.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249448 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoNOP conversions in X+CST+CST
glisse [Wed, 21 Jun 2017 11:16:27 +0000 (11:16 +0000)] 
NOP conversions in X+CST+CST

2017-06-21  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd (nop_convert): New predicate.
((A +- CST1) +- CST2): Allow some NOP conversions.

gcc/testsuite/
* gcc.dg/tree-ssa/addadd.c: Un-XFAIL.
* gcc.dg/tree-ssa/addadd-2.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249447 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * line-map.c (location_adhoc_data_update): Perform addition in
jakub [Wed, 21 Jun 2017 10:59:12 +0000 (10:59 +0000)] 
* line-map.c (location_adhoc_data_update): Perform addition in
uintptr_t type rather than char * type.  Read *data using
ptrdiff_t type instead of int64_t.
(get_combined_adhoc_loc): Change offset type to ptrdiff_t from
int64_t.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249446 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/81130
jakub [Wed, 21 Jun 2017 10:58:00 +0000 (10:58 +0000)] 
PR c++/81130
* gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types
with ctors/dtors if GOVD_SHARED is set.

* testsuite/libgomp.c++/pr81130.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249445 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoEmit SIMD moves as mov
wilco [Wed, 21 Jun 2017 10:48:51 +0000 (10:48 +0000)] 
Emit SIMD moves as mov

SIMD moves are currently emitted as ORR.  Change this to use the MOV
pseudo instruction just like integer moves (the ARM-ARM states MOV is the
preferred disassembly), improving readability of -S output.

    gcc/
* config/aarch64/aarch64.md (movti_aarch64):
Emit mov rather than orr.
(movtf_aarch64): Likewise.
* config/aarch64/aarch64-simd.md (aarch64_simd_mov):
Emit mov rather than orr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249444 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoImprove dup pattern
wilco [Wed, 21 Jun 2017 10:46:02 +0000 (10:46 +0000)] 
Improve dup pattern

Improve the dup pattern to prefer vector registers.  When doing a dup
after a load, the register allocator thinks the costs are identical
and chooses an integer load.  However a dup from an integer register
includes an int->fp transfer which is not modelled.  Adding a '?' to
the integer variant means the cost is increased slightly so we prefer
using a vector register.  This improves the following example:

#include <arm_neon.h>
void f(unsigned *a, uint32x4_t *b)
{
  b[0] = vdupq_n_u32(a[1]);
  b[1] = vdupq_n_u32(a[2]);
}

to:
        ldr     s0, [x0, 4]
        dup     v0.4s, v0.s[0]
        str     q0, [x1]
        ldr     s0, [x0, 8]
        dup     v0.4s, v0.s[0]
        str     q0, [x1, 16]
        ret

    gcc/
* config/aarch64/aarch64-simd.md (aarch64_simd_dup):
Swap alternatives, make integer dup more expensive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249443 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMark symbols as constant
wilco [Wed, 21 Jun 2017 10:40:21 +0000 (10:40 +0000)] 
Mark symbols as constant

Aarch64_legitimate_constant_p currently returns false for symbols,
eventhough they are always valid constants.  This means LOSYM isn't
CSEd correctly.  If we return true CSE works better, resulting in
smaller/faster code (0.3% smaller code on SPEC2006).  Avoid this
for TLS symbols since their sequence is complex.

    gcc/
* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
Return true for non-tls symbols.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249442 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch AArch64] Add initial tuning support for Cortex-A55 and Cortex-A75
jgreenhalgh [Wed, 21 Jun 2017 09:58:57 +0000 (09:58 +0000)] 
[Patch AArch64] Add initial tuning support for Cortex-A55 and Cortex-A75

This patch adds support for the ARM Cortex-A75 and
Cortex-A55 processors through the -mcpu/-mtune values cortex-a55 and
cortex-a75, and an ARM DynamIQ big.LITTLE configuration of these two
processors through the -mcpu/-mtune value cortex-a75.cortex-a55

The ARM Cortex-A75 is ARM's latest and highest performance applications
processor. For the initial tuning provided in this patch, I have chosen to
share the tuning structure with its predecessor, the Cortex-A73.

The ARM Cortex-A55 delivers the best combination of power efficiency
and performance in its class. For the initial tuning provided in this patch,
I have chosen to share the tuning structure with its predecessor, the
Cortex-A53.

Both Cortex-A55 and Cortex-A75 support ARMv8-A with the ARM8.1-A and
ARMv8.2-A extensions, along with the cryptography extension, and
the RCPC extensions from ARMv8.3-A. This is reflected in the patch,
-mcpu=cortex-a75 is treated as equivalent to passing -mtune=cortex-a75
-march=armv8.2-a+rcpc .

2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>

* config/aarch64/aarch64-cores.def (cortex-a55): New.
(cortex-a75): Likewise.
(cortex-a75.cortex-a55): Likewise.
* config/aarch64/aarch64-tune.md: Regenerate.
* doc/invoke.texi (-mtune): Document new values for -mtune.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249441 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd dg-add-options feature stack_size
vries [Wed, 21 Jun 2017 09:10:16 +0000 (09:10 +0000)] 
Add dg-add-options feature stack_size

2017-06-21  Tom de Vries  <tom@codesourcery.com>

* doc/sourcebuild.texi (Add Options, Features for dg-add-options): Add
stack_size feature.
(Effective-Target Keywords, Other attributes): Suggest using
dg-add-options stack_size feature to get stack limit in stack_size
effective target documentation.

* lib/target-supports.exp (add_options_for_stack_size): New proc.
* gcc.c-torture/execute/920501-7.c: Use dg-add-options stack_size.
* gcc.c-torture/compile/20080806-1.c: Same.
* gcc.c-torture/compile/920723-1.c: Same.
* gcc.c-torture/compile/930621-1.c: Same.
* gcc.c-torture/compile/991214-2.c: Same.
* gcc.c-torture/compile/bcopy.c: Same.
* gcc.c-torture/compile/memtst.c: Same.
* gcc.c-torture/compile/msp.c: Same.
* gcc.c-torture/compile/stuct.c: Same.
* gcc.c-torture/execute/20011008-3.c: Same.
* gcc.c-torture/execute/20030209-1.c: Same.
* gcc.c-torture/execute/20031012-1.c: Same.
* gcc.c-torture/execute/20040805-1.c: Same.
* gcc.c-torture/execute/920410-1.c: Same.
* gcc.c-torture/execute/921113-1.c: Same.
* gcc.c-torture/execute/921202-1.c: Same.
* gcc.c-torture/execute/921208-2.c: Same.
* gcc.c-torture/execute/930106-1.c: Same.
* gcc.c-torture/execute/930406-1.c: Same.
* gcc.c-torture/execute/950221-1.c: Same.
* gcc.c-torture/execute/960521-1.c: Same.
* gcc.c-torture/execute/980605-1.c: Same.
* gcc.c-torture/execute/comp-goto-1.c: Same.
* gcc.c-torture/execute/comp-goto-2.c: Same.
* gcc.c-torture/execute/memcpy-1.c: Same.
* gcc.c-torture/execute/multi-ix.c: Same.
* gcc.c-torture/execute/nestfunc-4.c: Same.
* gcc.c-torture/execute/pr20621-1.c: Same.
* gcc.c-torture/execute/pr23135.c: Same.
* gcc.c-torture/execute/pr28982b.c: Same.
* gcc.dg/loop-3.c: Same.
* gcc.dg/struct-ret-3.c: Same.
* gcc.dg/torture/stackalign/comp-goto-1.c: Same.
* gcc.dg/torture/stackalign/non-local-goto-4.c: Same.
* gcc.dg/tree-prof/comp-goto-1.c: Same.
* gcc.dg/tree-prof/pr44777.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249440 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR libstdc++/81092 Regenerate configure for libtool_VERSION change
redi [Wed, 21 Jun 2017 08:55:26 +0000 (08:55 +0000)] 
PR libstdc++/81092 Regenerate configure for libtool_VERSION change

PR libstdc++/81092
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249438 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-06-21 Richard Biener <rguenther@suse.de>
rguenth [Wed, 21 Jun 2017 07:04:13 +0000 (07:04 +0000)] 
2017-06-21  Richard Biener  <rguenther@suse.de>

* configure.ac: Add AC_SYS_LARGEFILE.
* config.h.in: Regenerate.
* configure: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249436 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-06-21 Richard Biener <rguenther@suse.de>
rguenth [Wed, 21 Jun 2017 07:01:34 +0000 (07:01 +0000)] 
2017-06-21  Richard Biener  <rguenther@suse.de>

PR gcov-profile/81080
* configure.ac: Add AC_SYS_LARGEFILE.
* libgcov.h: Include auto-target.h before tsystem.h to pick
up _FILE_OFFSET_BITS which might differ for multilibs.
* config.in: Regenerate.
* configure: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249435 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago Update the ChangeLog to include config/arm/cortex-a53.md
naveenh [Wed, 21 Jun 2017 05:47:24 +0000 (05:47 +0000)] 
Update the ChangeLog to include config/arm/cortex-a53.md
and config/arm/exynos-m1.md modifications

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249434 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/aarch64/aarch64-simd.md (aarch64_crypto_pmulldi)
naveenh [Wed, 21 Jun 2017 05:36:03 +0000 (05:36 +0000)] 
* config/aarch64/aarch64-simd.md (aarch64_crypto_pmulldi)
(aarch64_crypto_pmullv2di): Change type attribute to crypto_pmull.
* config/aarch64/thunderx2t99.md (thunderx2t99_pmull): New
reservation.
* config/arm/cortex-a57.md (cortex_a57_neon_type): Add crypto_pmull to
attribute type list for neon_multiply.
* config/arm/crypto.md (crypto_vmullp64): Change type to crypto_pmull.
* config/arm/types.md (crypto_pmull): Add.
* config/arm/xgene1.md (xgene1_neon_pmull): Add crypto_pmull to
attribute type list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249433 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Wed, 21 Jun 2017 00:16:31 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249432 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-06-20 Andreas Tobler <andreast@gcc.gnu.org>
andreast [Tue, 20 Jun 2017 21:28:15 +0000 (21:28 +0000)] 
2017-06-20  Andreas Tobler  <andreast@gcc.gnu.org>

    * config.gcc (armv6*-*-freebsd*): Change the target_cpu_cname to
    arm1176jzf-s.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249428 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix -Werror=class-memaccess failures in jit testsuite (PR jit/81144)
dmalcolm [Tue, 20 Jun 2017 20:37:28 +0000 (20:37 +0000)] 
Fix -Werror=class-memaccess failures in jit testsuite (PR jit/81144)

gcc/testsuite/ChangeLog:
PR jit/81144
* jit.dg/test-operator-overloading.cc (make_test_quadratic): Replace
memset call with zero-initialization.
* jit.dg/test-quadratic.cc (make_test_quadratic): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249427 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * ira-costs.c (find_costs_and_classes): Initialize cost_classes later
jakub [Tue, 20 Jun 2017 19:43:29 +0000 (19:43 +0000)] 
* ira-costs.c (find_costs_and_classes): Initialize cost_classes later
to make sure not to dereference a NULL cost_classes_ptr pointer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249426 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.target/i386/pr80732.c: Include fma4-check.h.
uros [Tue, 20 Jun 2017 19:04:07 +0000 (19:04 +0000)] 
* gcc.target/i386/pr80732.c: Include fma4-check.h.
(main): Renamed to ...
(fma4_test): ... this.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249425 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/ChangeLog:
carll [Tue, 20 Jun 2017 18:27:48 +0000 (18:27 +0000)] 
gcc/ChangeLog:

2017-06-20  Carl Love  <cel@us.ibm.com>

* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
VMULOSW): New enum "unspec" values.
(vec_widen_umult_even_v4si, vec_widen_smult_even_v4si,
vec_widen_umult_odd_v4si, vec_widen_smult_odd_v4si,
altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
altivec_vmulosw): New patterns.
* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
VMULOSW): Add definitions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249424 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix rounding pattern similar to PR73350.
kyukhin [Tue, 20 Jun 2017 18:20:51 +0000 (18:20 +0000)] 
Fix rounding pattern similar to PR73350.

gcc/
* config/i386/i386.c: Fix rounding expand for new pattern.
* config/i386/subst.md: Fix pattern (parallel -> unspec).
gcc/testsuite/
* gcc.target/i386/pr73350-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249423 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoSupport multi-tool sum files in dg-cmp-results.sh
thopre01 [Tue, 20 Jun 2017 16:52:53 +0000 (16:52 +0000)] 
Support multi-tool sum files in dg-cmp-results.sh

2017-06-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    contrib/
    * dg-cmp-results.sh: Keep test result lines rather than throwing
    header and summary to support sum files with multiple tools.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249422 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/80972 - C++17 ICE with attribute packed.
jason [Tue, 20 Jun 2017 16:47:17 +0000 (16:47 +0000)] 
PR c++/80972 - C++17 ICE with attribute packed.

* call.c (build_over_call): Allow a TARGET_EXPR from reference
binding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249420 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * cp-tree.h (CPTI_NELTS_IDENTIFIER): Delete.
nathan [Tue, 20 Jun 2017 16:27:55 +0000 (16:27 +0000)] 
* cp-tree.h (CPTI_NELTS_IDENTIFIER): Delete.
(nelts_identifier): Delete.
* decl.c (initialize_predefined_identifiers): Remove nelts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249419 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
uros [Tue, 20 Jun 2017 15:50:57 +0000 (15:50 +0000)] 
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249418 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch AArch64] Add rcpc extension
jgreenhalgh [Tue, 20 Jun 2017 14:49:13 +0000 (14:49 +0000)] 
[Patch AArch64] Add rcpc extension

gcc/

* config/aarch64/aarch64-option-extensions.def (rcpc): New.
* config/aarch64/aarch64.h (AARCH64_FL_RCPC): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249414 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch AArch64 obvious] Fix expected string for fp16 extensions
jgreenhalgh [Tue, 20 Jun 2017 13:36:46 +0000 (13:36 +0000)] 
[Patch AArch64 obvious] Fix expected string for fp16 extensions

gcc/

* config/aarch64/aarch64-option-extensions.def (fp16): Fix expected
feature string.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249411 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch AArch64 obvious] Rearrange the processors in aarch64-cores.def
jgreenhalgh [Tue, 20 Jun 2017 13:31:38 +0000 (13:31 +0000)] 
[Patch AArch64 obvious] Rearrange the processors in aarch64-cores.def

gcc/

* config/aarch64/aarch64-cores.def: Rearrange to sort by
architecture, then by implementer ID.
* config/aarch64/aarch64-tune.md: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249410 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAlways check for target i?86 and x86_64
ro [Tue, 20 Jun 2017 13:01:32 +0000 (13:01 +0000)] 
Always check for target i?86 and x86_64

libstdc++-v3:
* testsuite/20_util/variant/index_type.cc: Allow for all ilp32 and
lp64 targets.

gcc/testsuite:
* c-c++-common/fold-masked-cmp-1.c: Allow for i?86-*-* target.
* c-c++-common/fold-masked-cmp-2.c: Likewise.
* c-c++-common/fold-masked-cmp-3.c: Likewise.
* g++.dg/cpp0x/alignas4.C: Allow for i?86-*-* target, don't
restrict to x86_64-*-*-gnu.
Skip scan-assembler on *-*-darwin*.
* g++.dg/vect/pr70944.cc: Allow for i?86-*-* target.
* gcc.dg/loop-invariant.c: Likewise.
* gcc.dg/lto/pr70955_0.c: Likewise.
* gcc.dg/tree-ssa/pr69196-1.c: Likewise.
* gcc.dg/tree-ssa/pr79803.c: Likewise.
* gfortran.dg/pr68078.f90: Allow for i?86-*-linux*.

* g++.dg/debug/dwarf2/const2b.C: Allow for x86_64-*-* target.
* gcc.dg/attr-ms_struct-1.c: Allow for all i?86-*-*, x86_64-*-*
targets.
* gcc.dg/attr-ms_struct-2.c: Likewise.
* gcc.dg/attr-ms_struct-packed1.c: Likewise.
* gcc.dg/bf-ms-layout.c: Likewise.
* gcc.dg/bf-ms-layout-2.c: Likewise.
* gcc.dg/pic-macro-define.c: Remove target restrictions.
Require fpic support.
* gcc.target/i386/bitfield1.c: Allow for all i?86-*-*, x86_64-*-*
targets.
* gcc.target/i386/bitfield2.c: Likewise.
* gcc.target/i386/darwin-fpmath.c: Allow for x86_64-*-darwin*
targets.
* gfortran.dg/fmt_pf.f90: Remove i?86-*-solaris2.9* from xfail.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249409 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/67074 - namespace aliases
nathan [Tue, 20 Jun 2017 12:53:11 +0000 (12:53 +0000)] 
PR c++/67074 - namespace aliases
* decl.c (duplicate_decls): Don't error here on mismatched
namespace alias.
* name-lookup.c (name_lookup::add_value): Matching namespaces are
not ambiguous.
(diagnose_name_conflict): Namespaces are never redeclarations.
(update_binding): An alias can match a real namespace.

PR c++/67074
* g++.dg/lookup/pr67074.C: New.
* g++.dg/parse/namespace-alias-1.C: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249408 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-06-20 Richard Biener <rguenther@suse.de>
rguenth [Tue, 20 Jun 2017 12:46:46 +0000 (12:46 +0000)] 
2017-06-20  Richard Biener  <rguenther@suse.de>

PR middle-end/81097
* fold-const.c (split_tree): Fold to type before negating.

* c-c++-common/ubsan/pr81097.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249407 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPrevent fix-it hints from affecting more than one line
dmalcolm [Tue, 20 Jun 2017 10:40:38 +0000 (10:40 +0000)] 
Prevent fix-it hints from affecting more than one line

Attempts to apply a removal or replacement fix-it hint to a source
range that covers multiple lines currently lead to nonsensical
results from the printing code in diagnostic-show-locus.c.

We were already filtering them out in edit-context.c (leading
to -fdiagnostics-generate-patch not generating any output for
the whole TU).

Reject attempts to add such fix-it hints within rich_location,
fixing the diagnostic-show-locus.c issue.

gcc/ChangeLog:
* diagnostic-show-locus.c
(selftest::test_fixit_deletion_affecting_newline): New function.
(selftest::diagnostic_show_locus_c_tests): Call it.

libcpp/ChangeLog:
* include/line-map.h (class rich_location): Document that attempts
to delete or replace a range *affecting* multiple lines will fail.
* line-map.c (rich_location::maybe_add_fixit): Implement this
restriction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249403 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR target/80970
schwab [Tue, 20 Jun 2017 10:15:47 +0000 (10:15 +0000)] 
PR target/80970
* config/m68k/m68k.md (bsetdreg, bchgdreg, bclrdreg): Use "=d"
instead of "+d".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249401 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-06-20 Richard Biener <rguenther@suse.de>
rguenth [Tue, 20 Jun 2017 09:53:29 +0000 (09:53 +0000)] 
2017-06-20  Richard Biener  <rguenther@suse.de>

* gcc.dg/vect/pr65947-9.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249400 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[ARM] Implement __ARM_FEATURE_COPROC coprocessor intrinsic feature macro
thopre01 [Tue, 20 Jun 2017 09:25:08 +0000 (09:25 +0000)] 
[ARM] Implement __ARM_FEATURE_COPROC coprocessor intrinsic feature macro

2017-06-20  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>

    gcc/
    * config/arm/arm-c.c (arm_cpu_builtins): New block to define
    __ARM_FEATURE_COPROC according to support.

    gcc/testsuite/
    * gcc.target/arm/acle/cdp.c: Add feature macro bitmap test.
    * gcc.target/arm/acle/cdp2.c: Likewise.
    * gcc.target/arm/acle/ldc.c: Likewise.
    * gcc.target/arm/acle/ldc2.c: Likewise.
    * gcc.target/arm/acle/ldc2l.c: Likewise.
    * gcc.target/arm/acle/ldcl.c: Likewise.
    * gcc.target/arm/acle/mcr.c: Likewise.
    * gcc.target/arm/acle/mcr2.c: Likewise.
    * gcc.target/arm/acle/mcrr.c: Likewise.
    * gcc.target/arm/acle/mcrr2.c: Likewise.
    * gcc.target/arm/acle/mrc.c: Likewise.
    * gcc.target/arm/acle/mrc2.c: Likewise.
    * gcc.target/arm/acle/mrrc.c: Likewise.
    * gcc.target/arm/acle/mrrc2.c: Likewise.
    * gcc.target/arm/acle/stc.c: Likewise.
    * gcc.target/arm/acle/stc2.c: Likewise.
    * gcc.target/arm/acle/stc2l.c: Likewise.
    * gcc.target/arm/acle/stcl.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249399 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * tree-chkp.c (chkp_get_hard_register_var_fake_base_address):
jakub [Tue, 20 Jun 2017 07:22:31 +0000 (07:22 +0000)] 
* tree-chkp.c (chkp_get_hard_register_var_fake_base_address):
Rewritten to avoid overflow for > 32-bit pointers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249398 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR sanitizer/81125
jakub [Tue, 20 Jun 2017 07:10:14 +0000 (07:10 +0000)] 
PR sanitizer/81125
* ubsan.h (ubsan_encode_value): Workaround buggy clang++ parser
by removing enum keyword.
(ubsan_type_descriptor): Likewise.  Formatting fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249397 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/81121
jakub [Tue, 20 Jun 2017 07:04:27 +0000 (07:04 +0000)] 
PR target/81121
* config/i386/i386.md (TARGET_USE_VECTOR_CONVERTS float si->{sf,df}
splitter): Require TARGET_SSE2 in the condition.

* gcc.target/i386/pr81121.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249396 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[gcc]
meissner [Tue, 20 Jun 2017 06:26:27 +0000 (06:26 +0000)] 
[gcc]
2017-06-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/79799
* config/rs6000/rs6000.c (rs6000_expand_vector_init): Add support
for doing vector set of SFmode on ISA 3.0.
* config/rs6000/vsx.md (vsx_set_v4sf_p9): Likewise.
(vsx_set_v4sf_p9_zero): Special case setting 0.0f to a V4SF
element.
(vsx_insert_extract_v4sf_p9): Add an optimization for inserting a
SFmode value into a V4SF variable that was extracted from another
V4SF variable without converting the element to double precision
and back to single precision vector format.
(vsx_insert_extract_v4sf_p9_2): Likewise.

[gcc/testsuite]
2017-06-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/79799
* gcc.target/powerpc/pr79799-1.c: New test.
* gcc.target/powerpc/pr79799-2.c: Likewise.
* gcc.target/powerpc/pr79799-3.c: Likewise.
* gcc.target/powerpc/pr79799-4.c: Likewise.
* gcc.target/powerpc/pr79799-5.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249395 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Tue, 20 Jun 2017 00:16:31 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249394 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/80562 - ICE with constexpr if.
jason [Mon, 19 Jun 2017 20:55:27 +0000 (20:55 +0000)] 
PR c++/80562 - ICE with constexpr if.

* semantics.c (finish_if_stmt_cond): Call
instantiate_non_dependent_expr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249387 138bc75d-0d04-0410-961f-82ee72b054a4