gOlogy: skip dbranch at -Og

2018-10-25 Thread Alexandre Oliva
Delayed slot filling moves insns without any regard to variable location notes, causing the location information in them to become incorrect. Fixing that appears to be quite difficult, but filling delay slots is hardly an essential optimization to run at -Og, so if the user wants to privilege

[ARM] Implement division using vrecpe, vrecps

2018-10-25 Thread Prathamesh Kulkarni
Hi, This is a rebased version of patch that adds a pattern to neon.md for implementing division with multiplication by reciprocal using vrecpe/vrecps with -funsafe-math-optimizations excluding -Os. The newly added test-cases are not vectorized on armeb target with -O2. I posted the analysis for

[PATCH 4/4] [OpenACC] Attach / Detach compiler tests

2018-10-25 Thread Cesar Philippidis
This patch introduces a couple of compiler tests for the OpenACC attach and detach clauses. Is this OK for trunk after the other patches get approved? Thanks, Cesar 2018-XX-YY Cesar Philippidis gcc/testsuite/ * c-c++-common/goacc/mdc-1.c: New test. * c-c++-common/goacc/mdc-2.c: New test.

[PATCH 3/4] [OpenACC] Attach / Detach C++ FE changes

2018-10-25 Thread Cesar Philippidis
This patch adds support for attach and detach in the C front end. All of the comments for the C FE patch apply here. Arguably, there's not a significant difference between cp_oacc_check_attachments and its C counterpart. However, I decided to keep them separate in case the standard gets updated in

[PATCH 2/4] [OpenACC] Attach / Detach C FE changes

2018-10-25 Thread Cesar Philippidis
This patch adds support for attach and detach in the C front end. Both attach and detach are a little different from the other data clauses because they require variables that are pointers. Consequently, this patch teaches handle_omp_array_sections_1 to bail out of it detects a subarray argument

[PATCH 1/4] [OpenACC] Attach / Detach generic infrastructure

2018-10-25 Thread Cesar Philippidis
This patch series adds support for the new attach / detach clauses introduced in OpenACC 2.6 to the C and C++ front ends. Julian is working patches for the Fortran front end along with the runtime. As their names somewhat imply, attach and detach are new data clauses that are used to support

Re: [RFC][PR87528][PR86677] Disable builtin popcount detection when back-end does not define it

2018-10-25 Thread Jeff Law
On 10/25/18 4:33 PM, Kugan Vivekanandarajah wrote: > Hi, > > PR87528 showed a case where libgcc generated popcount is causing > regression for Skylake. > We also have PR86677 where kernel build is failing because the kernel > does not use the libgcc (when backend is not defining popcount >

Re: [ABSU_EXPR] Add some of the missing patterns in match.pd

2018-10-25 Thread Jeff Law
On 10/25/18 4:44 PM, Kugan Vivekanandarajah wrote: > Hi, > > This patch adds some of the missing patterns in match.pd for ABSU_EXPR > and it is a revised version based on the review at > https://gcc.gnu.org/ml/gcc-patches/2018-07/msg00046.html > Bootstrapped and regression tested on

libgo patch committed: Don't use wc in gotest

2018-10-25 Thread Ian Lance Taylor
The last patch to libgo added a use of wc to the gotest script. However, wc is not in the GNU approved list of Makefile utilities (https://www.gnu.org/prep/standards/html_node/Utilities-in-Makefiles.html#Utilities-in-Makefiles). So replace it by sed. Bootstrapped and ran Go testsuite on

Re: RFC: Allow moved-from strings to be non-empty

2018-10-25 Thread Jonathan Wakely
On 26/10/18 00:17 +0100, Jonathan Wakely wrote: On 26/10/18 00:42 +0200, Marc Glisse wrote: On Fri, 26 Oct 2018, Ville Voutilainen wrote: I would rather not introduce a behavioral difference between us and libc++. Why not? There are already several, and it helps find bugs. Maybe you could

Re: RFC: Allow moved-from strings to be non-empty

2018-10-25 Thread Jonathan Wakely
On 26/10/18 00:42 +0200, Marc Glisse wrote: On Fri, 26 Oct 2018, Ville Voutilainen wrote: I would rather not introduce a behavioral difference between us and libc++. Why not? There are already several, and it helps find bugs. Maybe you could convince libc++ to change as well if you want to

[PATCH v4] Avoid unnecessarily numbering cloned symbols.

2018-10-25 Thread Michael Ploujnikov
I've taken the advice from a discussion on IRC and re-wrote the patch with more uniform function names and using overloading. I think this function accomplished the following goals: - remove clone numbering where it's not needed: final.c:final_scan_insn_1 and

[ABSU_EXPR] Add some of the missing patterns in match.pd

2018-10-25 Thread Kugan Vivekanandarajah
Hi, This patch adds some of the missing patterns in match.pd for ABSU_EXPR and it is a revised version based on the review at https://gcc.gnu.org/ml/gcc-patches/2018-07/msg00046.html Bootstrapped and regression tested on x86_64-linux-gnu with no new regressions. Is this OK trunk? Thanks, Kugan

Re: RFC: Allow moved-from strings to be non-empty

2018-10-25 Thread Marc Glisse
On Fri, 26 Oct 2018, Ville Voutilainen wrote: I would rather not introduce a behavioral difference between us and libc++. Why not? There are already several, and it helps find bugs. Maybe you could convince libc++ to change as well if you want to keep the behavior the same? It does

Re: RFC: Allow moved-from strings to be non-empty

2018-10-25 Thread Marc Glisse
On Thu, 25 Oct 2018, Jonathan Wakely wrote: When an SSO string is contained in the small string buffer or has an unequal allocator a move operation performs a copy, leaving the original data in the moved-from string. Setting the length of the moved-from string to zero is not required, so we can

[RFC][PR87528][PR86677] Disable builtin popcount detection when back-end does not define it

2018-10-25 Thread Kugan Vivekanandarajah
Hi, PR87528 showed a case where libgcc generated popcount is causing regression for Skylake. We also have PR86677 where kernel build is failing because the kernel does not use the libgcc (when backend is not defining popcount pattern). While I agree that the kernel should implement its own

Re: [PATCH v2, rs6000 2/4] Enable 32bit testing for x86 intrinsics on POWER

2018-10-25 Thread Segher Boessenkool
On Thu, Oct 25, 2018 at 02:07:45PM -0500, Paul Clarke wrote: > Enable 32bit support for tests of x86-compatibile intrinsics > > Bootstrapped and tested on Linux POWER8 LE, POWER8 BE (64 & 32), and POWER7. > > OK for trunk? This is fine when the previous patch is in as well. Thanks! >

Re: [PATCH v2, rs6000 1/4] Fixes for x86 intrinsics on POWER 32bit

2018-10-25 Thread Segher Boessenkool
On Thu, Oct 25, 2018 at 02:07:33PM -0500, Paul Clarke wrote: > Various clean-ups for 32bit support. > > Implement various corrections in the compatibility implementations of the > x86 vector intrinsics found after enabling 32bit mode for the associated > test cases. (Actual enablement coming in

Go patch committed: Improve name mangling for package paths

2018-10-25 Thread Ian Lance Taylor
This patch by Than McIntosh improves the mangling of package paths in the Go frontend. The current implementation of Gogo::pkgpath_for_symbol was written in a way that allowed two distinct package paths to map to the same symbol, which could cause collisions at link- time or compile-time. This

Re: [PATCH, rs6000] Fix _mm_extract_pi16 for big-endian

2018-10-25 Thread Jakub Jelinek
On Thu, Oct 25, 2018 at 05:07:03PM -0500, Segher Boessenkool wrote: > On Thu, Oct 25, 2018 at 01:41:15PM -0500, Paul Clarke wrote: > > For compatibility implementation of x86 vector intrinsic, _mm_extract_pi16, > > adjust shift value for big-endian mode. > > > > Bootstrapped and tested on Linux

Re: [PATCH, rs6000] Fix _mm_extract_pi16 for big-endian

2018-10-25 Thread Segher Boessenkool
On Thu, Oct 25, 2018 at 01:41:15PM -0500, Paul Clarke wrote: > For compatibility implementation of x86 vector intrinsic, _mm_extract_pi16, > adjust shift value for big-endian mode. > > Bootstrapped and tested on Linux POWER8 LE, POWER8 BE (64 & 32), and POWER7. Does it fix existing testcases?

Re: RFC: Allow moved-from strings to be non-empty

2018-10-25 Thread Ville Voutilainen
On Fri, 26 Oct 2018 at 00:54, Jonathan Wakely wrote: > > When an SSO string is contained in the small string buffer or has an > unequal allocator a move operation performs a copy, leaving the original > data in the moved-from string. Setting the length of the moved-from > string to zero is not

RFC: Allow moved-from strings to be non-empty

2018-10-25 Thread Jonathan Wakely
When an SSO string is contained in the small string buffer or has an unequal allocator a move operation performs a copy, leaving the original data in the moved-from string. Setting the length of the moved-from string to zero is not required, so we can avoid two writes (to the length member and to

Re: [testsuite] Don't xfail gcc.dg/pr78973-2.c on non-ilp64 targets

2018-10-25 Thread Jeff Law
On 10/25/18 2:15 AM, Rainer Orth wrote: > Hi Jeff, > >> On 10/24/18 7:06 AM, Rainer Orth wrote: >>> Between 20181022 (r265393) and 20181023 (r265430), gcc.dg/pr78973-2.c >>> began to XPASS on a large number of targets: >>> >>> +XPASS: gcc.dg/pr78973-2.c ilp32 (test for warnings, line 16) >>> >>>

[PATCH, rs6000] Intrinsic compatibility tests should not pass just because DEBUG is set

2018-10-25 Thread Bill Schmidt
Hi, A number of the test cases for the intrinsic compatibility headers are set up to dump more information when a test case fails and the DEBUG macro has been set. Unfortunately, many of them also then pass the test case since they no longer call abort(). This patch fixes that oversight (or

Re: [PATCH, rs6000] Don't use deprecated vector shift instructions

2018-10-25 Thread Segher Boessenkool
On Wed, Oct 24, 2018 at 07:55:44PM -0500, Bill Schmidt wrote: > The intrinsic compatibility headers make use of some deprecated functions for > vector shifts, which are not available in some compilers. For compatibility > reasons, this patch, replaces those with intrinsics guaranteed to be

[committed] Fix rl78 segfault

2018-10-25 Thread Jeff Law
Whee, this was fun to debug... The lr78 port is crippled enough that it has to have its own specialized register allocation phase. Essentially all insns have two implementations, one is virtual and used up through the target specific register allocation pass and a physical implementation used

[PATCH] * parser.c (cp_parser_sizeof_operand): Remove redundant grokdeclarator.

2018-10-25 Thread Jason Merrill
The call in cp_parser_sizeof_operand is also redundant. Tested x86_64-pc-linux-gnu, applying to trunk. --- gcc/cp/parser.c | 15 +-- gcc/cp/ChangeLog | 5 + 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index

Re: [PATCH, rs6000] Add __ieee128 argument support to the scalar_cmp_exp family of builtins

2018-10-25 Thread Segher Boessenkool
Hi Carl, On Wed, Oct 24, 2018 at 12:44:23PM -0700, Carl Love wrote: > The scalar_cmp_exp_eq, scalar_cmp_lt, scalar_cmp_gt, > scalar_cmp_unordered are missing support for the _ieee128 arguments. > This patch adds the missing support and a test file for the builtins > for both _ieee128 and double

Re: [PATCH, OpenACC] Support C++ "this" in OpenACC directives (PR66053)

2018-10-25 Thread Jason Merrill
On 9/3/18 7:50 PM, Julian Brown wrote: On Fri, 31 Aug 2018 16:20:08 +0200 Jakub Jelinek wrote: On Fri, Aug 31, 2018 at 10:04:07AM -0400, Nathan Sidwell wrote: On 08/30/2018 04:27 PM, Jason Merrill wrote: On Thu, Aug 30, 2018 at 3:31 PM, Julian Brown wrote: "Apart from parsing, it's

Re: [C++ Patch] PR 71140 ("[concepts] ill-formed nested-requirement lacking a semicolon not rejected")

2018-10-25 Thread Jason Merrill
On 10/12/18 9:32 AM, Andrew Sutton wrote: BTW, I would discourage you from messing much with the concepts code at this point, as a major overhaul should be coming soon. Major overhaul: https://github.com/asutton/gcc (branch is concepts; we're about 2 weeks back from trunk). Awesome!

[PATCH v2, rs6000 4/4] Add compatible implementations of x86 SSSE3 intrinsics

2018-10-25 Thread Paul Clarke
This is part 2/2 for contributing PPC64LE support for X86 SSE3 instrisics. This patch includes testsuite/gcc.target tests for the intrinsics defined in pmmintrin.h, copied from gcc.target/i386. Bootstrapped and tested on Linux POWER8 LE, POWER8 BE (64 & 32), and POWER7. OK for trunk?

[PATCH v2, rs6000 3/4] Add compatible implementations of x86 SSSE3 intrinsics

2018-10-25 Thread Paul Clarke
This is a follow-on to earlier commits for adding compatibility implementations of x86 intrinsics for PPC64LE. This is the first of two patches for SSSE3. This patch adds the 32 x86 intrinsics from ("SSSE3"). (Patch 2/2 adds tests for these intrinsics, and briefly describes the tests

[PATCH v2, rs6000 1/4] Fixes for x86 intrinsics on POWER 32bit

2018-10-25 Thread Paul Clarke
Various clean-ups for 32bit support. Implement various corrections in the compatibility implementations of the x86 vector intrinsics found after enabling 32bit mode for the associated test cases. (Actual enablement coming in a subsequent patch.) Bootstrapped and tested on Linux POWER8 LE,

[PATCH, testsuite]: check for weak support

2018-10-25 Thread Paul Koning
I ran into a failures due to no weak symbol support in my target. This patch cures that. Is it right? The test case uses "weakref" so I' not 100% sure that checking for "weak" support is correct. If not, I can put in a skip-if check for the target (pdp11) instead. paul ChangeLog:

[gomp5] OpenMP 5.0 schedule modifier changes

2018-10-25 Thread Jakub Jelinek
Hi! In OpenMP 5.0 missing schedule modifier implies nonmonotonic unless it is static or ordered clause is present (that has been committed already earlier), but also the nonmonotonic modifier is allowed on static, runtime and auto schedules and run-sched-var ICV now includes a monotonic modifier

[PATCH, rs6000] Fix _mm_extract_pi16 for big-endian

2018-10-25 Thread Paul Clarke
For compatibility implementation of x86 vector intrinsic, _mm_extract_pi16, adjust shift value for big-endian mode. Bootstrapped and tested on Linux POWER8 LE, POWER8 BE (64 & 32), and POWER7. OK for trunk? gcc/ChangeLog: 2018-10-25 Paul A. Clarke * config/rs6000/xmmintrin.h: Fix

[doc PATCH] clarify attribute optimize and target syntax

2018-10-25 Thread Martin Sebor
While testing the optimize and target attributes and comparing the results to what the manual describes I noticed that some syntactic forms aren't fully documented for both attributes. Specifically, the optimize attribute doesn't mention that each string argument can be a comma-separated list

Re: [PATCH] Folding and check_function_arguments

2018-10-25 Thread Jason Merrill
On 10/8/18 6:24 PM, David Malcolm wrote: On Mon, 2018-10-08 at 10:37 -0400, Jason Merrill wrote: On Thu, Oct 4, 2018 at 10:12 AM David Malcolm wrote: -Wformat in the C++ FE doesn't work as well as it could: (a) it doesn't report precise locations within the string literal, and (b) it doesn't

Re: [PATCH] v3: C++: simplify output from suggest_alternatives_for

2018-10-25 Thread Jason Merrill
On 10/11/18 8:07 PM, David Malcolm wrote: On Thu, 2018-10-11 at 10:31 -0400, Jason Merrill wrote: On Thu, Oct 11, 2018 at 10:28 AM Jason Merrill wrote: On Wed, Oct 10, 2018 at 5:01 PM David Malcolm wrote: On Tue, 2018-10-09 at 18:38 -0400, Jason Merrill wrote: On Tue, Oct 9, 2018 at 1:19

Re: [PATCH, rs6000, v2] Fix uses of vec_sel in intrinsic headers

2018-10-25 Thread Bill Schmidt
On 10/25/18 12:08 PM, Segher Boessenkool wrote: > On Wed, Oct 24, 2018 at 09:25:25AM -0500, Bill Schmidt wrote: >> This patch addresses Segher's findings, and also replaces usages of the >> deprecated function vec_vcmpgtfp with the equivalent vec_cmpgt. >> Bootstrapped and tested on

Re: [PATCH, rs6000] Replace comparison operators with vec_cmp* in intrinsic compatibility headers

2018-10-25 Thread Segher Boessenkool
Hi! On Wed, Oct 24, 2018 at 02:30:10PM -0500, Bill Schmidt wrote: > Due to some unfortunate history, not all compilers currently have correct > result > types produced for comparison operators on vector types. For compatibility > purposes, this patch replaces those with vec_cmp* built-ins. It

Re: [PATCH, rs6000, v2] Fix uses of vec_sel in intrinsic headers

2018-10-25 Thread Segher Boessenkool
On Wed, Oct 24, 2018 at 09:25:25AM -0500, Bill Schmidt wrote: > This patch addresses Segher's findings, and also replaces usages of the > deprecated function vec_vcmpgtfp with the equivalent vec_cmpgt. > Bootstrapped and tested on powerpc64le-linux-gnu with no regressions. > Also tested in a Clang

Re: [PATCH] PR libstdc++/87704 fix unique_ptr(nullptr_t) constructors

2018-10-25 Thread Jonathan Wakely
On 23/10/18 14:10 +0100, Jonathan Wakely wrote: Using a delegating constructor to implement these constructors means that they instantiate the destructor, which requires the element_type to be complete. In C++11 and C++14 they were specified to be delegating, but that was changed as part of LWG

Re: [PATCH v2] powerpc: Optimized conversion of IBM long double to int128/int64

2018-10-25 Thread Joseph Myers
On Thu, 25 Oct 2018, Rajalakshmi Srinivasaraghavan wrote: > + if (__builtin_unpack_longdouble (a, 0) < TWO53) > +{ > + /* In this case the integer portion is completely contained > + within the high double. So use the hardware convert to > + integer doubleword, and then

Re: [doc PATCH] expand attribute aligned and __alignof__

2018-10-25 Thread Joseph Myers
OK, with s/functiom/function/. -- Joseph S. Myers jos...@codesourcery.com

[PATCH] PR libstdc++/87749 fix (and optimize) string move construction

2018-10-25 Thread Jonathan Wakely
The move constructor for the SSO string uses assign(const basic_string&) when either: (1) the source string is "local" and so the contents of the small string buffer need to be copied, or (2) the allocator does not propagate and is_always_equal is false. Case (1) is suboptimal, because the

[PATCH][OBVIOUS] Revert partially changes from r265454 (PR other/87735).

2018-10-25 Thread Martin Liška
Hi. I'm partially reverting change that's not needed. Survives regression tests on ppc64le-linux-gnu. Martin gcc/testsuite/ChangeLog: 2018-10-25 Martin Liska PR other/87735 * gcc.dg/tree-prof/time-profiler-1.c: Revert. * gcc.dg/tree-prof/time-profiler-2.c:

[PATCH][OBVIOUS] Use signed char in a test (PR testsuite/87739).

2018-10-25 Thread Martin Liška
Hi. It's obvious fix that was mentioned in the patch review but I forgot to include it. Survives regression tests on ppc64le-linux-gnu. Martin gcc/testsuite/ChangeLog: 2018-10-25 Martin Liska PR testsuite/87739 * gcc.dg/tree-ssa/pr84436-5.c (foo): Use signed char. ---

Re: Add a loop versioning pass

2018-10-25 Thread David Malcolm
On Wed, 2018-10-24 at 14:05 +0100, Richard Sandiford wrote: > This patch adds a pass that versions loops with variable index > strides > for the case in which the stride is 1. E.g.: > > for (int i = 0; i < n; ++i) > x[i * stride] = ...; > > becomes: > > if (stepx == 1) >

Re: [PATCH, ARM] PR85434: Prevent spilling of stack protector guard's address on ARM

2018-10-25 Thread Thomas Preudhomme
Good thing I did, found a missing earlyclobber in the process. Rerunning all tests again. Best regards, Thomas On Wed, 24 Oct 2018 at 10:13, Thomas Preudhomme wrote: > > Please hold on for the reviews, found a small improvement that could > be done. Am testing it right now, should have

Re: Add a loop versioning pass

2018-10-25 Thread Richard Sandiford
Richard Biener writes: > On Wed, Oct 24, 2018 at 3:05 PM Richard Sandiford > wrote: >> >> This patch adds a pass that versions loops with variable index strides >> for the case in which the stride is 1. E.g.: >> >> for (int i = 0; i < n; ++i) >> x[i * stride] = ...; >> >> becomes: >>

[PATCH] Fix release checking bootstrap

2018-10-25 Thread Richard Biener
Committed. Richard. 2018-10-25 Richard Biener * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Initialize ng to silence error with release checking bootstrap. Index: gcc/tree-vect-data-refs.c === ---

Simplify way ipa-devirt looks for main type variant

2018-10-25 Thread Jan Hubicka
Hi, this patch cleans up ipa-devirt and removes code using main_odr_variant. It is a way to go from variant into typedef (not main variant) which I originally used for odr hashing (so typedefs had different entries), but since we switched odr hashing to use mangled names, we always hash main

Re: [PATCH] S/390: Merge movdi_larl into movdi_64

2018-10-25 Thread Andreas Krebbel
On 25.10.18 16:00, Ilya Leoshkevich wrote: > Bootstrapped and regtested on s390x-redhat-linux. > > Consider the following RTL: > > (insn (set (mem/f/c:DI (reg/f:DI 60)) >(const:DI (plus:DI (symbol_ref:DI ("*.LANCHOR0")) > (const_int 8) > > generated

Re: Is the D frontend good to go? (was Re: [PATCH 02/14] Add D frontend (GDC) implementation.)

2018-10-25 Thread Iain Buclaw
On Thu, 25 Oct 2018 at 15:06, David Malcolm wrote: > > On Tue, 2018-10-23 at 19:21 +0200, Iain Buclaw wrote: > > On Tue, 23 Oct 2018 at 15:48, Richard Sandiford > > wrote: > > > > > > Iain Buclaw writes: > > > > I'm just going to post the diff since the original here, just to > > > > show > > >

[PATCH][rs6000] improve gpr inline expansion of str[n]cmp

2018-10-25 Thread Aaron Sawdey
This patch changes the sequence that gcc generates for inline expansion of strcmp/strncmp using scalar (gpr) instructions. The new sequence is one instruction shorter and uses cmpb/cmpb/orc./bne which I also have been told that valgrind should be able to understand as the defined/undefined info

[PATCH] S/390: Merge movdi_larl into movdi_64

2018-10-25 Thread Ilya Leoshkevich
Bootstrapped and regtested on s390x-redhat-linux. Consider the following RTL: (insn (set (mem/f/c:DI (reg/f:DI 60)) (const:DI (plus:DI (symbol_ref:DI ("*.LANCHOR0")) (const_int 8) generated by cse2 pass. It is matched to movdi_64, resulting in the

Re: [PATCH] Fix rtx_code_size static initialization order fiasco

2018-10-25 Thread Richard Earnshaw (lists)
On 25/10/2018 14:29, Ilya Leoshkevich wrote: > Bootstrapped and regtested on s390x-redhat-linux. > > r264556 and r264537 changed the format of EQ_ATTR_ALT RTXs to "ww", > which also required adjusting rtx_code_size initializer. In order to > simplify things, the list of rtx_codes known to use

Re: Add a loop versioning pass

2018-10-25 Thread Richard Biener
On Wed, Oct 24, 2018 at 3:05 PM Richard Sandiford wrote: > > This patch adds a pass that versions loops with variable index strides > for the case in which the stride is 1. E.g.: > > for (int i = 0; i < n; ++i) > x[i * stride] = ...; > > becomes: > > if (stepx == 1) > for

Re: [PATCH] Fix rtx_code_size static initialization order fiasco

2018-10-25 Thread Richard Biener
On Thu, 25 Oct 2018, Ilya Leoshkevich wrote: > Bootstrapped and regtested on s390x-redhat-linux. > > r264556 and r264537 changed the format of EQ_ATTR_ALT RTXs to "ww", > which also required adjusting rtx_code_size initializer. In order to > simplify things, the list of rtx_codes known to use

[PATCH] Fix rtx_code_size static initialization order fiasco

2018-10-25 Thread Ilya Leoshkevich
Bootstrapped and regtested on s390x-redhat-linux. r264556 and r264537 changed the format of EQ_ATTR_ALT RTXs to "ww", which also required adjusting rtx_code_size initializer. In order to simplify things, the list of rtx_codes known to use HOST_WIDE_INTs was replaced by the format string check.

Is the D frontend good to go? (was Re: [PATCH 02/14] Add D frontend (GDC) implementation.)

2018-10-25 Thread David Malcolm
On Tue, 2018-10-23 at 19:21 +0200, Iain Buclaw wrote: > On Tue, 23 Oct 2018 at 15:48, Richard Sandiford > wrote: > > > > Iain Buclaw writes: > > > I'm just going to post the diff since the original here, just to > > > show > > > what's been done since review comments. > > > > > > I think I've

[PATCH] Fix PR87746

2018-10-25 Thread Richard Biener
The following fixes the 403.gcc build I broke with r265457. Bootstrap and regtest running on x86_64-unknown-linux-gnu. (vect testsuite and SPEC 2k6 is happy). Richard. >From 1ee436877c5d0dcb3dad6019c2e8d4570ded8e13 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Thu, 25 Oct 2018

Re: Relocation (= move+destroy)

2018-10-25 Thread Jonathan Wakely
On 25/10/18 14:30 +0200, Marc Glisse wrote: On Tue, 23 Oct 2018, Jonathan Wakely wrote: + template +inline void +__relocate_a(_Tp* __dest, _Up* __orig, _Allocator& __alloc) I find it a little surprising that this overload for single objects using the memmove argument ordering (dest,

[PATCH][GCC][mingw-w64][Ada] Fix Ada native bootstrap (PR81878).

2018-10-25 Thread Tamar Christina
Hi All, Due to the changes in PR81878 builds of GCC8 and trunk are impossible with Ada enabled[1][2]. The reason the patch breaks the bootstrap is due to how gnatlink receives it's arguments. gnatlink is usually invoked as $(GNATLINK) -v gnatcmd -o ../../gnat$(exeext) \

Re: Relocation (= move+destroy)

2018-10-25 Thread Marc Glisse
On Tue, 23 Oct 2018, Jonathan Wakely wrote: + template +inline void +__relocate_a(_Tp* __dest, _Up* __orig, _Allocator& __alloc) I find it a little surprising that this overload for single objects using the memmove argument ordering (dest, source) but the range overload below uses

[PATCH] CSE if-converted loop bodies

2018-10-25 Thread Richard Biener
if-conversion can leave us with quite a mess, esp. redundant loads. This confuses vectorizer data-ref analysis enough to be worth fixing. So the following patch runs RPO VN on the loop body. PR87746 contains some before/after dumps. Now we only need to teach it some simple DSE... Bootstrapped

Re: Fix dg-prune-output regex for versioned namespace

2018-10-25 Thread Jonathan Wakely
On 24/10/18 21:30 +0200, François Dumont wrote: Some tests dg-prune-output regex need to be adapted to pass when versioned namespace is activated. I preferred to add the version namespace in the regex rather than removing namespace qualification. Let me know if you would prefer the other

[PATCH 8/N] Bump libasan version due to adjustement in shadow memory offset for ppc64 target.

2018-10-25 Thread Martin Liška
>From ce9a9779ef89f5a1bdfd5ca6a9b9a354d93ceec9 Mon Sep 17 00:00:00 2001 From: marxin Date: Thu, 25 Oct 2018 12:57:45 +0200 Subject: [PATCH] Bump libasan version due to adjustement in shadow memory offset for ppc64 target. libsanitizer/ChangeLog: 2018-10-25 Martin Liska *

Re: [PATCH] Provide extension hint for aarch64 target (PR driver/83193).

2018-10-25 Thread Martin Liška
On 10/24/18 7:48 PM, Martin Sebor wrote: > On 10/24/2018 03:52 AM, Martin Liška wrote: >> On 10/23/18 6:31 PM, Martin Sebor wrote: >>> On 10/22/2018 07:05 AM, Martin Liška wrote: On 10/16/18 6:57 PM, James Greenhalgh wrote: > On Mon, Oct 08, 2018 at 05:34:52AM -0500, Martin Liška wrote:

Re: [PATCH 0/7] libsanitizer: merge from trunk

2018-10-25 Thread Martin Liška
On 10/25/18 12:49 PM, Jakub Jelinek wrote: > On Thu, Oct 25, 2018 at 12:15:46PM +0200, marxin wrote: >> I've just finished my first merge from libsanitizer mainline. Overall it >> looks fine, apparently ABI hasn't changed and so that SONAME bump is not >> needed. > > Given the 6/7 patch, I think

Re: [PATCH 0/7] libsanitizer: merge from trunk

2018-10-25 Thread Jakub Jelinek
On Thu, Oct 25, 2018 at 12:15:46PM +0200, marxin wrote: > I've just finished my first merge from libsanitizer mainline. Overall it > looks fine, apparently ABI hasn't changed and so that SONAME bump is not > needed. Given the 6/7 patch, I think you need to bump libasan soname (it would be weird

Re: [PATCH, contrib] dg-cmp-results: display NA->FAIL by default

2018-10-25 Thread Thomas Preudhomme
Done. Committed patch and ChangeLog below *** contrib/ChangeLog *** 2018-10-25 Thomas Preud'homme * dg-cmp-results.sh: Print NA-FAIL and NA->UNRESOLVED changes at default verbosity. diff --git a/contrib/dg-cmp-results.sh b/contrib/dg-cmp-results.sh index

[PATCH 6/7] Adjust asan_shadow_offset for powerpc64 targets.

2018-10-25 Thread marxin
gcc/ChangeLog: 2018-10-25 Martin Liska * config/powerpcspe/powerpcspe.c (rs6000_asan_shadow_offset): Aligh with value changed in libsanitizer/asan/asan_mapping.h. * config/rs6000/rs6000.c (rs6000_asan_shadow_offset): Likewise. ---

[PATCH 5/7] New local GCC patch for CAN_SANITIZE_UB ifdef.

2018-10-25 Thread marxin
libsanitizer/ChangeLog: 2018-10-24 Martin Liska * ubsan/ubsan_platform.h: Add ifndef as we define it with -DCAN_SANITIZE_UB CFLAGS. --- libsanitizer/ubsan/ubsan_platform.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libsanitizer/ubsan/ubsan_platform.h

[PATCH 7/7] Update test-suite expected output after rewording in libsanitizer.

2018-10-25 Thread marxin
gcc/testsuite/ChangeLog: 2018-10-24 Martin Liska * c-c++-common/ubsan/pr63839.c: Update to new sanitizer message. * c-c++-common/ubsan/unreachable-1.c (main): Likewise. * c-c++-common/ubsan/unreachable-2.c: Likewise. * c-c++-common/ubsan/unreachable-4.c

[PATCH 1/7] Update merge script and HOWTO_MERGE documentation.

2018-10-25 Thread marxin
libsanitizer/ChangeLog: 2018-10-24 Martin Liska * HOWTO_MERGE: Enhance documentation. * merge.sh: Add support for git as well. --- libsanitizer/HOWTO_MERGE | 9 ++--- libsanitizer/merge.sh| 6 -- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git

[PATCH 3/7] Update build system: include new files and run autoheader, autoconf, automake

2018-10-25 Thread marxin
libsanitizer/ChangeLog: 2018-10-24 Martin Liska * config.h.in: Regenerate. * configure: Likewise. * sanitizer_common/Makefile.am: Include new files, remove old files. * sanitizer_common/Makefile.in: Regenerate. * ubsan/Makefile.am: Include new

[PATCH 0/7] libsanitizer: merge from trunk

2018-10-25 Thread marxin
Hi. I've just finished my first merge from libsanitizer mainline. Overall it looks fine, apparently ABI hasn't changed and so that SONAME bump is not needed. I tested ubsan and asan bootstrap on x86_64-linux-gnu and run regression tests and bootstraped on aarch64-linux-gnu, ppc64le-linux-gnu and

[PATCH 4/7] Apply LOCAL_PATCHES and remove not used ones.

2018-10-25 Thread marxin
libsanitizer/ChangeLog: 2018-10-24 Martin Liska * LOCAL_PATCHES: Update patch list. * asan/asan_globals.cc (CheckODRViolationViaIndicator): Apply patches from GCC's trunk. (CheckODRViolationViaPoisoning): Likewise. (RegisterGlobal): Likewise. *

Re: [PATCH] Fix EQ_ATTR_ALT size calculation (PR bootstrap/87417)

2018-10-25 Thread Richard Earnshaw (lists)
On 24/09/2018 22:49, Ilya Leoshkevich wrote: > Bootstrap and regtest running on s390x-redhat-linux. > > "r264537: Change EQ_ATTR_ALT to support up to 64 alternatives" changed > the format of EQ_ATTR_ALT from ii to ww. This broke the bootstrap on > 32-bit systems, because the formula for

Re: [PATCH][GCC][DOC] Relocate list under Deprecated in options.texi to Var

2018-10-25 Thread Sam Tebbs
On 10/24/2018 03:26 PM, Sam Tebbs wrote: > On 10/05/2018 01:11 PM, Sam Tebbs wrote: > >> Hi all, >> >> I recently found what seems to be an error in the options documentation >> (gcc/doc/options.texi) where a list describing how _var_ is set (referring to >> the Var attribute) is written beneath

Re: [PATCH] powerpc: Optimized conversion of IBM long double to int128/int64

2018-10-25 Thread Rajalakshmi Srinivasaraghavan
On 10/23/2018 10:07 PM, Segher Boessenkool wrote: On Tue, Oct 23, 2018 at 09:01:26PM +0530, Rajalakshmi Srinivasaraghavan wrote: This new implementation of fixunstfdi and fixunstfti gives 16X performance improvement. :-) * libgcc/config/rs6000/t-ppc64-fp (LIB2ADD): Add

[PATCH v2] powerpc: Optimized conversion of IBM long double to int128/int64

2018-10-25 Thread Rajalakshmi Srinivasaraghavan
This new implementation of fixunstfdi and fixunstfti gives 16X performance improvement. The design is focused on: - Making sure the end result was a pure leaf function that only needed builtins or inline functions. - Assumed power8 direct register transfer and accessed the IBM long double as

Re: [testsuite] Don't xfail gcc.dg/pr78973-2.c on non-ilp64 targets

2018-10-25 Thread Rainer Orth
Hi Jeff, > On 10/24/18 7:06 AM, Rainer Orth wrote: >> Between 20181022 (r265393) and 20181023 (r265430), gcc.dg/pr78973-2.c >> began to XPASS on a large number of targets: >> >> +XPASS: gcc.dg/pr78973-2.c ilp32 (test for warnings, line 16) >> >> The following patch fixes this by removing the

[committed] Fix fortran OpenMP schedule modifier parsing and resolving (PR fortran/87725)

2018-10-25 Thread Jakub Jelinek
Hi! In the C/C++ FE, we are using: if (nmodifiers++ == 0 && cp_lexer_next_token_is (parser->lexer, CPP_COMMA)) but it is in a loop guarded on that the next token is a CPP_NAME. The point of the check is to parse the comma at most once, because the syntax allows 0, 1 or 2 schedule

Re: [PATCH, contrib] dg-cmp-results: display NA->FAIL by default

2018-10-25 Thread Richard Sandiford
Thomas Preudhomme writes: > And now with the patch. My apologies for the omission. > > Best regards, > > Thomas > On Tue, 23 Oct 2018 at 12:08, Thomas Preudhomme > wrote: >> >> Hi, >> >> Currently, dg-cmp-results will not print anything for a test that was >> not run before, even if it is a FAIL

Re: V2 [PATCH] x86: Add pmovzx/pmovsx patterns with SI/DI operands

2018-10-25 Thread Uros Bizjak
On Thu, Oct 25, 2018 at 9:10 AM H.J. Lu wrote: > > On 10/24/18, Uros Bizjak wrote: > > On Wed, Oct 24, 2018 at 1:51 AM H.J. Lu wrote: > >> > >> Hi Uros, > >> > >> Can you take a look at this? > > > > Many pmov(s|z)x instructions with memory operands are modelled in a wrong > > way. > > > > For

[PATCH] Fix SPEC ICEs

2018-10-25 Thread Richard Biener
6_64-unknown-linux-gnu. Richard. 2018-10-25 Richard Biener * tree-vectorizer.h (get_earlier_stmt): Remove. (get_later_stmt): Pick up UID from the original non-pattern stmt. * gfortran.dg/20181025-1.f: New testcase. diff --git a/gcc/testsuite/gfortran.dg/20181025-1.

V2 [PATCH] x86: Add pmovzx/pmovsx patterns with SI/DI operands

2018-10-25 Thread H.J. Lu
On 10/24/18, Uros Bizjak wrote: > On Wed, Oct 24, 2018 at 1:51 AM H.J. Lu wrote: >> >> Hi Uros, >> >> Can you take a look at this? > > Many pmov(s|z)x instructions with memory operands are modelled in a wrong > way. > > For example: > > (define_insn "sse4_1_v8qiv8hi2" > [(set