Re: [PATCH] RISC-V: Add Sign/Zero extend patterns for PIC loads

2017-10-25 Thread Palmer Dabbelt
Committed. On Tue, 24 Oct 2017 10:55:46 PDT (-0700), Palmer Dabbelt wrote: > Loads on RISC-V are sign-extending by default, but we weren't telling > GCC this in our PIC load patterns. This corrects the problem, and adds > a zero-extending pattern as well. > > gcc/ChangeLog > > 2017-10-24 Palmer

Re: [PATCH, version 5], Add support for _Float and _FloatX sqrt, fma, fmin, fmax built-in functions

2017-10-25 Thread Michael Meissner
On Wed, Oct 25, 2017 at 08:31:33PM +, Joseph Myers wrote: > On Wed, 25 Oct 2017, Michael Meissner wrote: > > > > I don't think that, given the availability of fmaf128 etc. built-in > > > functions with appropriate options, whether __FP_FAST_* are defined > > > should > > > actually depend

Re: [03/nn] Allow vector CONSTs

2017-10-25 Thread Jeff Law
On 10/23/2017 05:18 AM, Richard Sandiford wrote: > This patch allows (const ...) wrappers to be used for rtx vector > constants, as an alternative to const_vector. This is useful > for SVE, where the number of elements isn't known until runtime. Right. It's constant, but not knowable at compile

Re: [006/nnn] poly_int: tree constants

2017-10-25 Thread Martin Sebor
On 10/23/2017 11:00 AM, Richard Sandiford wrote: +#if NUM_POLY_INT_COEFFS == 1 +extern inline __attribute__ ((__gnu_inline__)) poly_int64 +tree_to_poly_int64 (const_tree t) I'm curious about the extern inline and __gnu_inline__ here and not in poly_int_tree_p below. Am I correct in assuming

[PATCH 01/13] remove sdbout.h and associated code

2017-10-25 Thread Jim Wilson
This just removes the header file and references to symbols defined in that file. Jim gcc/ * debug.h: Delete sdb_debug_hooks. * final.c: Delete sdbout.h include. (final_scan_insn): Delete SDB_DEBUG check. (rest_of_clean_state): Likewise. * output.h:

[PATCH 04/13] Delete the sdbout files

2017-10-25 Thread Jim Wilson
This patch deletes the sdbout.c and sdbout.h files. Jim gcc/ * Makefile.in (OBJS): Delete sdbout.o. (GTFILES): Delete $(srcdir)/sdbout.c. * sdbout.c: Delete. * sdbout.h: Delete. --- gcc/Makefile.in |3 +- gcc/sdbout.c| 1661

[PATCH 05/13] remove sdb/coff info from docs

2017-10-25 Thread Jim Wilson
This removes the now obsolete SDB/coff info from the docs.  I also removed adb and sdb references, as sdb is obsolete, and most people probably know adb as the android debug bridge, not the assembly debugger.  There are also some obsolete MIPS/Alpha ECOFF docs removed. Jim gcc/ *

[PATCH 06/13] remove sdb and -gcoff from non-target files

2017-10-25 Thread Jim Wilson
This removes the -gcoff option, and various sdb related references in non-target files.  I also poison SDB_DEBUGGING_INFO and SDB_DEBUG.  I didn't see any point in poisoning the other SDB_* macros, as no one has used any of them in a very long time. I noticed one odd thing from removing -gcoff,

[PATCH 08/13] fix dbxcoff.h

2017-10-25 Thread Jim Wilson
This file is only used by cygwin, mingw and msdosdjgpp targets, which explicitly set PREFERRED_DEBUGGING_TYPE after including this file, so this change has no effect, except to eliminate an obsolete sdb reference here. Jim gcc/ * config/dbxcoff.h (PREFERRED_DEBUGGING_TYPE): Set to

[PATCH 09/13] fix vxworks file

2017-10-25 Thread Jim Wilson
A trivial vxworks related patch. Jim gcc/ * config/vx-common.h (SDB_DEBUGGING_INFO): Delete undef. --- gcc/config/vx-common.h | 1 - 1 file changed, 1 deletion(-) diff --git a/gcc/config/vx-common.h b/gcc/config/vx-common.h index 5cc965c..d8f04ec 100644 ---

[PATCH 11/13] drop sdb references in target comments copied from docs

2017-10-25 Thread Jim Wilson
This is modifying comments that include text copied from the docs, to match the changes made to the docs in a previous patch.  These are all trivial changes. Jim gcc/ * config/cris/cris.h: Delete SDB reference in comment. * config/ia64/ia64.h: Likewise. *

[PATCH 13/13] fix MIPS files

2017-10-25 Thread Jim Wilson
Hand tested to verify that I didn't accidentally break passing -g to the assembler. Jim gcc/ * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Delete gcoff* support. --- gcc/config/mips/mips.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git

Re: [PATCH 01/13] remove sdbout.h and associated code

2017-10-25 Thread Jim Wilson
On 10/25/2017 02:28 PM, Jim Wilson wrote: This just removes the header file and references to symbols defined in that file. Sorry, that should be removing sdbout.h header file includes. The actual file removal occurs later in the patch series. Jim

Re: [006/nnn] poly_int: tree constants

2017-10-25 Thread Richard Sandiford
Martin Sebor writes: > On 10/23/2017 11:00 AM, Richard Sandiford wrote: >> +#if NUM_POLY_INT_COEFFS == 1 >> +extern inline __attribute__ ((__gnu_inline__)) poly_int64 >> +tree_to_poly_int64 (const_tree t) > > I'm curious about the extern inline and __gnu_inline__ here and > not

[PATCH 02/13] fix sdbout.c references in xcoffout.c

2017-10-25 Thread Jim Wilson
This changes some sdbout.c file references to past tense, since they are still useful to explain why the code was written this way. Jim gcc/ * xcoffout.c: Refer to former sdbout.c file. (xcoffout_begin_prologue): Use past tense for sdbout.c reference. --- gcc/xcoffout.c |

[C++ PATCH] Kill IDENTIFIER_LABEL_VALUE

2017-10-25 Thread Nathan Sidwell
This patch removes 'label_value' from lang_identifier, shrinking it from 72 to 64 bytes (on 64-bit machine). We replace this by augmenting the already used per-function named_labels hash table. This is a major win, because labels are extremely rare and there are many identifiers. We also

[PATCH 07/13] fix testsuite debug torture lists

2017-10-25 Thread Jim Wilson
As a side effect, this reduces cygwin C testsuite passes by a bit over 700, because we are no longer torture testing the -gcoff.  This is not a regression. An interesting thing to notice here is that we are torture testing dwarf-2, but are not torture testing any of the later dwarf versions.  We

Fix PR middle-end/82062

2017-10-25 Thread Eric Botcazou
This is the regression in the folding of conditional expressions like unsigned long f1 (int x) { return x > 0 ? (unsigned long) x : 0; } unsigned long f2 (int x, int y) { return x > y ? (unsigned long) x : (unsigned long) y; } introduced by the fix for PR middle-end/81814. These

[PATCH 00/13] Removal of SDB debug info support

2017-10-25 Thread Jim Wilson
We have no targets that emit SDB debug info by default.  We dropped all of the SVR3 Unix and embedded COFF targets a while ago.  The only targets that are still able to emit SDB debug info are cygwin, mingw, and msdosdjgpp. I tried a cygwin build with sources modified to emit SDB by default, to

[PATCH 03/13] drop TYPE_SYMTAB_POINTER

2017-10-25 Thread Jim Wilson
TYPE_SYMTAB_POINTER was only used by sdbout.c, so can now be removed. Jim gcc/ * tree-core.h (tree_type_common): Delete pointer field of tree_type_symtab. * tree.c (copy_node): Clear TYPE_SYMTAB_DIE instead of TYPE_SYMTAB_POINTER. * tree.h

[PATCH 10/13] fix i386 files

2017-10-25 Thread Jim Wilson
I changed some sdb references to past tense where they seemed to still have some use.  Otherwise, sdb references were removed. Another interesting point here is that the x86 PE-COFF support is using the gsym.h file to manually emit some sdb symbol info for the linker in

[PATCH 12/13] fix m68k files

2017-10-25 Thread Jim Wilson
Another trivial patch to drop a reference to the sdb debugger. Jim gcc/ * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Delete SDB reference. --- gcc/config/m68k/m68kelf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/m68k/m68kelf.h

gotools patch committed: Fix PASS/FAIL output for validate_failures

2017-10-25 Thread Ian Lance Taylor
This patch to gotools fixes the FAIL output so that GCC's contrib/testsuite-management/validate_failures.py does not complain. Thanks to Bernhard Reutner-Fischer for pointing this out. Bootstrapped and ran Go tests on x86_64-pc-linux-gnu. Committed to mainline. Ian 2017-10-25 Ian Lance Taylor

Re: [PATCH, rs6000] 2/2 Add x86 SSE2 <emmintrin,h> intrinsics to GCC PPC64LE target

2017-10-25 Thread Segher Boessenkool
Hi! On Tue, Oct 17, 2017 at 01:27:16PM -0500, Steven Munroe wrote: > This it part 2/2 for contributing PPC64LE support for X86 SSE2 > instrisics. This patch includes testsuite/gcc.target tests for the > intrinsics included by emmintrin.h. > --- gcc/testsuite/gcc.target/powerpc/sse2-mmx.c

Re: [PATCH, version 5], Add support for _Float and _FloatX sqrt, fma, fmin, fmax built-in functions

2017-10-25 Thread Joseph Myers
My only comment on this version is that the documentation in cpp.texi of __FP_FAST_* should be updated to mention __FP_FAST_FMAF@var{n} and __FP_FAST_FMAF@var{n}X. -- Joseph S. Myers jos...@codesourcery.com

Re: [PATCH, version 5a], Add support for _Float and _FloatX sqrt, fma, fmin, fmax built-in functions

2017-10-25 Thread Michael Meissner
On Wed, Oct 25, 2017 at 11:41:24PM +, Joseph Myers wrote: > My only comment on this version is that the documentation in cpp.texi of > __FP_FAST_* should be updated to mention __FP_FAST_FMAF@var{n} and > __FP_FAST_FMAF@var{n}X. Here is the documentation to be added to the previoius patch.

Re: [PATCH], Update __FLOAT128_HARDWARE__ on power9

2017-10-25 Thread Segher Boessenkool
On Fri, Oct 20, 2017 at 04:56:41PM -0400, Michael Meissner wrote: > This is a simple patch to add a way that the GLIBC team call tell that certain > __float128 built-in functions are available. While previous patches of mine > set __FAST_FP_FMAF128, which could be used for this purpose, this

Re: [PATCH], Update __FLOAT128_HARDWARE__ on power9

2017-10-25 Thread Michael Meissner
On Wed, Oct 25, 2017 at 06:56:20PM -0500, Segher Boessenkool wrote: > On Fri, Oct 20, 2017 at 04:56:41PM -0400, Michael Meissner wrote: > > This is a simple patch to add a way that the GLIBC team call tell that > > certain > > __float128 built-in functions are available. While previous patches

Re: [PATCH], Enable IBM/IEEE long double format to overriden more easily

2017-10-25 Thread Segher Boessenkool
Hi Mike, On Sat, Oct 21, 2017 at 09:09:58AM -0400, Michael Meissner wrote: > As Segher and I were discussing off-line, I have some problems with the > current > -mabi={ieee,ibm}longdouble switches as we start to planning to modify GCC 9 > and > GLIBC 2.27/2.28 to support __float128 as the

Re: [PATCH, version 5a], Add support for _Float and _FloatX sqrt, fma, fmin, fmax built-in functions

2017-10-25 Thread Michael Meissner
On Wed, Oct 25, 2017 at 07:57:09PM -0400, Michael Meissner wrote: > On Wed, Oct 25, 2017 at 11:41:24PM +, Joseph Myers wrote: > > My only comment on this version is that the documentation in cpp.texi of > > __FP_FAST_* should be updated to mention __FP_FAST_FMAF@var{n} and > >

Re: [PATCH] C: detect more missing semicolons (PR c/7356)

2017-10-25 Thread David Malcolm
On Wed, 2017-10-25 at 09:59 -0600, Jeff Law wrote: > On 10/11/2017 01:32 PM, David Malcolm wrote: > > [This patch assumes the two patches here: > > https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00274.html ] > > I see the patch directly referenced in that message on the > trunk. But > I'm not

[PATCH] expand -fdebug-prefix-map documentation

2017-10-25 Thread Jim Wilson
The current documentation doesn't explain what the option is for, or how one might use it.  The attached patch expands the documentation a bit to try to explain this. Tested with a make doc, and verifying that the gcc.info file looks OK.  And tested by verifying that the option works the way I

[PATCH][i386,AVX] Enable VAES support [1/5]

2017-10-25 Thread Koval, Julia
Hi, This patch enables VAES isaset option. The doc for isaset and instruction: https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf Ok for trunk? Thanks, Julia gcc/ * common/config/i386/i386-common.c

Re: [RFC] Make 4-stage PGO bootstrap really working

2017-10-25 Thread Markus Trippelsdorf
On 2017.08.30 at 11:45 +0200, Martin Liška wrote: > diff --git a/Makefile.in b/Makefile.in > index 78db0982ba2..16b76906ad0 100644 > --- a/Makefile.in > +++ b/Makefile.in > @@ -529,13 +529,14 @@ STAGE1_CONFIGURE_FLAGS = --disable-intermodule > $(STAGE1_CHECKING) \ > --disable-coverage

RE: [PATCH][i386,AVX] Enable VBMI2 support [1/7]

2017-10-25 Thread Koval, Julia
Thanks, fix it. gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI2_SET, OPTION_MASK_ISA_AVX512VBMI2_UNSET): New. (ix86_handle_option): Handle -mavx512vbmi2. * config/i386/cpuid.h: Add bit_AVX512VBMI2. * config/i386/driver-i386.c

[PATCH] PR libstdc++/79283 fix filesystem::read_symlink for /proc

2017-10-25 Thread Jonathan Wakely
For some paths lstat returns st_size == 0, so use a buffer with non-zero size and then grow it dynamically if it's not big enough. PR libstdc++/79283 * src/filesystem/ops.cc (read_symlink): Handle st_size being zero. * src/filesystem/std-ops.cc (read_symlink): Likewise.

[PATCH] PR libstdc++/82716 avoid stupid -Wmismatched-tags warnings

2017-10-25 Thread Jonathan Wakely
It's just easier to change these than keep having to discuss it. PR libstdc++/82716 * include/std/array (tuple_size, tuple_element): Change class-key from class to struct, to avoid annoying Clang warnings. Tested powerpc64le-linux, committed to trunk. commit

Re: Don't query the frontend for unsupported types

2017-10-25 Thread Richard Biener
On Sun, Oct 1, 2017 at 6:17 PM, Richard Sandiford wrote: > Richard Biener writes: >> On Fri, Sep 22, 2017 at 6:42 PM, Richard Sandiford >> wrote: >>> Richard Biener writes:

Re: [RFC PATCH] Coalesce host to device transfers in libgomp

2017-10-25 Thread Jakub Jelinek
On Tue, Oct 24, 2017 at 08:39:13PM +0300, Alexander Monakov wrote: > > +struct gomp_map_cache > > +{ > > + void *buf; > > + struct target_mem_desc *tgt; > > + size_t *chunks; > > + long chunk_cnt; > > + long use_cnt; > > +}; > > Would really appreciate comments for meaning of fields here.

Re: [000/nnn] poly_int: representation of runtime offsets and sizes

2017-10-25 Thread Richard Biener
On Wed, Oct 25, 2017 at 1:26 PM, Richard Sandiford wrote: > Richard Biener writes: >> On Tue, Oct 24, 2017 at 3:24 PM, Richard Sandiford >> wrote: >>> Richard Biener writes:

Re: [000/nnn] poly_int: representation of runtime offsets and sizes

2017-10-25 Thread Richard Sandiford
Richard Biener writes: > On Tue, Oct 24, 2017 at 3:24 PM, Richard Sandiford > wrote: >> Richard Biener writes: >>> On Tue, Oct 24, 2017 at 2:48 PM, Richard Sandiford >>> wrote:

Re: [PATCH PR79868 ][aarch64] Fix error calls in aarch64 code so they can be translated (version 2)

2017-10-25 Thread Kyrill Tkachov
Hi Steve, On 26/09/17 00:25, Steve Ellcey wrote: This is a new version of my patch to fix PR target/79868, where some error messages are impossible to translate correctly due to how the strings are dynamically constructed. It also includes some format changes in the error messags to make the

Re: [C++ Patch] PR 80955 (Macros expanded in definition of user-defined literals)

2017-10-25 Thread Nathan Sidwell
On 10/25/2017 12:03 AM, Mukesh Kapoor wrote: Thanks for pointing this out. Checking in the front end will be difficult because the front end gets tokens after macro expansion. I think the difficulty of fixing this bug comes because of the requirement to maintain backward compatibility with

[PATCH] Fix filesystem::path::lexically_normal algorithm

2017-10-25 Thread Jonathan Wakely
I missed one of the bullets describing the path normalization algorithm, and so failed to normalize "/.." to "/" This also adjusts tests to compare paths more thoroughly, because using operator== doesn't catch some unwanted differences, e.g. filesystem::path("a///b") == "a/b" is true.

Re: [PATCH] Update C++17 library status documentation

2017-10-25 Thread Jonathan Wakely
On 25/10/17 15:06 +0100, Jonathan Wakely wrote: * doc/xml/manual/status_cxx2017.xml: Update C++17 status, and information on feature-test macros. * doc/html/*: Regenerate. Committed to trunk. And a similar patch for gcc-7-branch. commit

[PATCH, rs6000] add testcase coverage for vec_neg built-ins.

2017-10-25 Thread Will Schmidt
Hi, [PATCH, rs6000] add testcase coverage for vec_neg built-ins. Add testcase coverage for the vec_neg builtins. Regtest running, (but sniff tests has been clean). OK for trunk? Thanks, -Will [testsuite] 2017-10-25 Will Schmidt *

Add support for MODE_VECTOR_BOOL

2017-10-25 Thread Richard Sandiford
This patch adds a new mode class to represent vectors of booleans. GET_MODE_BITSIZE (m) / GET_MODE_NUNITS (m) determines the number of bits that are used to represent each boolean; this can be 1 for a fully-packed representation or greater than 1 for an unpacked representation. In the latter

Re: [C++ Patch] PR 80955 (Macros expanded in definition of user-defined literals)

2017-10-25 Thread Mukesh Kapoor
On 10/25/2017 9:06 AM, Jason Merrill wrote: On Wed, Oct 25, 2017 at 7:20 AM, Nathan Sidwell wrote: On 10/25/2017 12:03 AM, Mukesh Kapoor wrote: Thanks for pointing this out. Checking in the front end will be difficult because the front end gets tokens after macro expansion. I

Re: Add support for MODE_VECTOR_BOOL

2017-10-25 Thread Richard Biener
On October 25, 2017 5:54:02 PM GMT+02:00, Richard Sandiford wrote: >This patch adds a new mode class to represent vectors of booleans. >GET_MODE_BITSIZE (m) / GET_MODE_NUNITS (m) determines the number >of bits that are used to represent each boolean; this can be 1

Add support for adjusting the number of units in a mode

2017-10-25 Thread Richard Sandiford
We already allow the target to change the size and alignment of a mode. This patch does the same thing for the number of units, which is needed to give command-line control of the SVE vector length. Tested on aarch64-linux-gnu, x86_64-linux-gnu and powerpc64le-linux-gnu, on top of the poly_int

[PATCH] Update C++17 library status documentation

2017-10-25 Thread Jonathan Wakely
* doc/xml/manual/status_cxx2017.xml: Update C++17 status, and information on feature-test macros. * doc/html/*: Regenerate. Committed to trunk. commit 4c7972f69c296f73598423b797bb032f1d637400 Author: Jonathan Wakely Date: Wed Oct 25 15:01:31 2017

[PATCH, rs6000] Gimple folding for vec_madd()

2017-10-25 Thread Will Schmidt
Hi, Add support for gimple folding of the vec_madd() (vector multiply-add) intrinsics. Testcase coverage is provided by the existing tests gcc.target/powerpc/fold-vec-madd-*.c Sniff-tests appear clean. A full regtest is currently running across assorted Power systems. (P6-P9). OK for

Re: [RFC] propagate malloc attribute in ipa-pure-const pass

2017-10-25 Thread Jan Hubicka
> On 24 October 2017 at 16:26, Jan Hubicka wrote: > >> 2017-10-13 Prathamesh Kulkarni > >> > >> * cgraph.h (set_malloc_flag): Declare. > >> * cgraph.c (set_malloc_flag_1): New function. > >> (set_malloc_flag): Likewise. > >>

[PATCH][AArch64] Simplify frame pointer logic

2017-10-25 Thread Wilco Dijkstra
Simplify frame pointer logic based on review comments here (https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01727.html). This patch incrementally adds to these frame pointer cleanup patches: https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00377.html

Re: [PATCH] C: detect more missing semicolons (PR c/7356)

2017-10-25 Thread Jeff Law
On 10/11/2017 01:32 PM, David Malcolm wrote: > [This patch assumes the two patches here: > https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00274.html ] I see the patch directly referenced in that message on the trunk. But I'm not sure what you mean by "two patches". If there's a prereq that

Re: [001/nnn] poly_int: add poly-int.h

2017-10-25 Thread Martin Sebor
On 10/23/2017 10:57 AM, Richard Sandiford wrote: This patch adds a new "poly_int" class to represent polynomial integers of the form: C0 + C1*X1 + C2*X2 ... + Cn*Xn It also adds poly_int-based typedefs for offsets and sizes of various precisions. In these typedefs, the Ci coefficients are

Re: [RFA][PATCH] Convert sprintf warning code to use a dominator walk

2017-10-25 Thread Jeff Law
On 10/24/2017 11:35 AM, Martin Sebor wrote: > On 10/23/2017 05:14 PM, Jeff Law wrote: >> >> Martin, >> >> I'd like your thoughts on this patch. >> >> One of the things I'm working on is changes that would allow passes that >> use dominator walks to trivially perform context sensitive range >>

Re: Add support for MODE_VECTOR_BOOL

2017-10-25 Thread Richard Sandiford
Richard Biener writes: > On October 25, 2017 5:54:02 PM GMT+02:00, Richard Sandiford > wrote: >>This patch adds a new mode class to represent vectors of booleans. >>GET_MODE_BITSIZE (m) / GET_MODE_NUNITS (m) determines the number >>of

Re: [C++ Patch] PR 80955 (Macros expanded in definition of user-defined literals)

2017-10-25 Thread Jason Merrill
On Wed, Oct 25, 2017 at 7:20 AM, Nathan Sidwell wrote: > On 10/25/2017 12:03 AM, Mukesh Kapoor wrote: > >> Thanks for pointing this out. Checking in the front end will be difficult >> because the front end gets tokens after macro expansion. I think the >> difficulty of fixing this

Re: [01/nn] Add gen_(const_)vec_duplicate helpers

2017-10-25 Thread Jeff Law
On 10/23/2017 05:16 AM, Richard Sandiford wrote: > This patch adds helper functions for generating constant and > non-constant vector duplicates. These routines help with SVE because > it is then easier to use: > >(const:M (vec_duplicate:M X)) > > for a broadcast of X, even if the number of

Rename cxx1998 into normal

2017-10-25 Thread François Dumont
Hi     We once talk about rename the __cxx1998 namespace into something less C++98 biased. Here is the patch to do so.     Ok with the new name ?     Tested under Linux x86_64 normal and debug modes.     Note that pretty printers do not work with Debug mode but for the moment I checked the

[PING][PATCH][compare-elim] Fix PR rtl-optimization/82597

2017-10-25 Thread Michael Collison
Ping. Original patch posted here: https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01317.html

Re: [C++ Patch] PR 80955 (Macros expanded in definition of user-defined literals)

2017-10-25 Thread Mukesh Kapoor
On 10/25/2017 4:20 AM, Nathan Sidwell wrote: On 10/25/2017 12:03 AM, Mukesh Kapoor wrote: Thanks for pointing this out. Checking in the front end will be difficult because the front end gets tokens after macro expansion. I think the difficulty of fixing this bug comes because of the

Re: [006/nnn] poly_int: tree constants

2017-10-25 Thread Martin Sebor
On 10/25/2017 03:31 PM, Richard Sandiford wrote: Martin Sebor writes: On 10/23/2017 11:00 AM, Richard Sandiford wrote: +#if NUM_POLY_INT_COEFFS == 1 +extern inline __attribute__ ((__gnu_inline__)) poly_int64 +tree_to_poly_int64 (const_tree t) I'm curious about the extern

Re: [02/nn] Add more vec_duplicate simplifications

2017-10-25 Thread Jeff Law
On 10/23/2017 05:17 AM, Richard Sandiford wrote: > This patch adds a vec_duplicate_p helper that tests for constant > or non-constant vector duplicates. Together with the existing > const_vec_duplicate_p, this complements the gen_vec_duplicate > and gen_const_vec_duplicate added by a previous

[PATCH] PR libgcc/59714 complex division is surprising on aarch64

2017-10-25 Thread vladimir . mezentsev
From: Vladimir Mezentsev FMA (floating-point multiply-add) instructions are supported on aarch64. These instructions can produce different result if two operations executed separately. -ffp-contract=off doesn't allow the FMA instructions. Tested on

Re: Add support for MODE_VECTOR_BOOL

2017-10-25 Thread Richard Biener
On October 25, 2017 6:05:48 PM GMT+02:00, Richard Sandiford wrote: >Richard Biener writes: >> On October 25, 2017 5:54:02 PM GMT+02:00, Richard Sandiford >> wrote: >>>This patch adds a new mode class to

Re: [RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-25 Thread Jeff Law
On 10/24/2017 03:45 PM, Jeff Law wrote: > On 10/24/2017 02:57 PM, David Malcolm wrote: >> On Tue, 2017-10-24 at 12:44 -0600, Jeff Law wrote: >>> This is similar to the introduction of the ssa_propagate_engine, but >>> for >>> the substitution/replacements bits. >>> >>> In a couple places the pass

[RFA][PATCH] Don't use wi->info to pass gimple location to array warning callbacks in tree-vrp.c

2017-10-25 Thread Jeff Law
The array dereference warnings in tree-vrp.c use the gimple walkers to dig down into gimple statements looking for array accesses. I wasn't keen to convert all the clients of the gimple walkers to C++ classes at this time. And the gimple walkers have a mechanism by which we could pass around a

Re: [RFA][PATCH] Provide a class interface to ssa_propagate

2017-10-25 Thread Jeff Law
On 10/24/2017 02:49 PM, David Malcolm wrote: > On Tue, 2017-10-24 at 11:40 -0600, Jeff Law wrote: >> tree-ssa-propagate.c provides a fairly generic engine to propagate >> values through a lattice while in SSA form. The engine uses two >> callbacks to allow passes to provide pass specific handling

Re: [PATCH] PR libgcc/59714 complex division is surprising on aarch64

2017-10-25 Thread Joseph Myers
On Wed, 25 Oct 2017, vladimir.mezent...@oracle.com wrote: > +# Disable FMA (floating-point multiply-add) instructions for complex > division. > +# These instructions can produce different result if two operations executed > separately. > +LIBGCC2_FFP_CONTRAST_CFLAGS = -ffp-contract=off >

Re: [PATCH 08/22] Add Intel CET support for EH in libgcc.

2017-10-25 Thread H.J. Lu
On Thu, Oct 12, 2017 at 4:32 PM, Hans-Peter Nilsson wrote: > On Thu, 12 Oct 2017, Tsimbalist, Igor V wrote: >> * unwind.inc (_Unwind_RaiseException_Phase2): Use FRAMES_P_DECL, >> FRAMES_VAR_DECL_1, FRAMES_VAR_INC and FRAMES_P_UPDATE. >>

Re: [PING][patch] PR81794: have "would be stringified in traditional C" warning in libcpp/macro.c be controlled by -Wtraditional

2017-10-25 Thread Eric Gallager
On Sat, Sep 30, 2017 at 8:05 PM, Eric Gallager wrote: > On Fri, Sep 29, 2017 at 11:15 AM, David Malcolm wrote: >> On Sun, 2017-09-17 at 20:00 -0400, Eric Gallager wrote: >>> Attached is a version of >>>

[PATCH, FORTRAN, committed] typo in error message in gfc_match_type_is

2017-10-25 Thread Bernhard Reutner-Fischer
Hi! Committed as obvious as r254082. thanks, Index: gcc/fortran/match.c === --- gcc/fortran/match.c (revision 254081) +++ gcc/fortran/match.c (working copy) @@ -6204,7 +6204,7 @@ return MATCH_YES; syntax: - gfc_error

Re: [PATCH] PR libgcc/59714 complex division is surprising on aarch64

2017-10-25 Thread vladimir . mezentsev
On 10/25/2017 10:28 AM, Joseph Myers wrote: > On Wed, 25 Oct 2017, vladimir.mezent...@oracle.com wrote: > >> +# Disable FMA (floating-point multiply-add) instructions for complex >> division. >> +# These instructions can produce different result if two operations >> executed separately. >>

Fix gcc.target/i386/pr61403.c

2017-10-25 Thread Jan Hubicka
Hi, my core tuning patch has caused regression gcc.target/i386/pr61403.c which I have missed in my testing. The testcase looks for blend instruction which is no longer output. The reason is that the loop is now vectorized with SLP while before my changes the costmodel claimed SLP vectorization

Re: [PATCH, version 4], Add support for _Float and _FloatX sqrt, fma, fmin, fmax built-in functions

2017-10-25 Thread Michael Meissner
On Wed, Oct 25, 2017 at 08:10:45PM +, Joseph Myers wrote: > On Wed, 25 Oct 2017, Michael Meissner wrote: > > > +static const char *const fltfn_suffixes[] = { "F16", "F32", "F128", "F32X", > > + "F64X", "F128X", NULL }; > > I'd expect this to

Add scatter/gather costs

2017-10-25 Thread Jan Hubicka
Hi, this patch adds computation of scatter/gather to i386 cost metric. The costs for core are set for haswell, skylake has better implementation so I will have to split the cost tables for cores older and younger than skylake. I will do that as a followup. Bootstrapped/regtested x86_64-linux,

Re: [PATCH, version 4], Add support for _Float and _FloatX sqrt, fma, fmin, fmax built-in functions

2017-10-25 Thread Michael Meissner
On Tue, Oct 24, 2017 at 11:08:15PM +, Joseph Myers wrote: > On Tue, 24 Oct 2017, Michael Meissner wrote: > > > This patch adds a new switch (-fimplicit-math-floatn) that when enabled, it > > will add implicit declarations for copysign, fabs, fma, fmax, fmin, nan, and > > sqrt _Float and

Re: [PATCH, version 4], Add support for _Float and _FloatX sqrt, fma, fmin, fmax built-in functions

2017-10-25 Thread Michael Meissner
Whoops, I missed deleting c.opt from the ChangeLog file. I did update the builtins.def text, and c-cppbuiltins.c, but I didn't delete c.opt. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Re: Fix gcc.target/i386/pr61403.c

2017-10-25 Thread Evgeny Stupachenko
Hi Honza, That should be fine unless vectorization is done using extract/insert instructions. Thanks, Evgeny On Wed, Oct 25, 2017 at 12:25 PM, Jan Hubicka wrote: > Hi, > my core tuning patch has caused regression gcc.target/i386/pr61403.c which I > have > missed in my testing.

Re: [PATCH v3 1/14] D: The front-end (DMD) language implementation and license.

2017-10-25 Thread Iain Buclaw
On 25 October 2017 at 03:06, Jeff Law wrote: > On 10/18/2017 01:33 AM, Iain Buclaw wrote: >> On 6 October 2017 at 14:51, Ian Lance Taylor wrote: >>> On Fri, Oct 6, 2017 at 1:34 AM, Iain Buclaw wrote: Out of curiosity, I did

Re: [PATCH, version 4], Add support for _Float and _FloatX sqrt, fma, fmin, fmax built-in functions

2017-10-25 Thread Joseph Myers
On Wed, 25 Oct 2017, Michael Meissner wrote: > +static const char *const fltfn_suffixes[] = { "F16", "F32", "F128", "F32X", > + "F64X", "F128X", NULL }; I'd expect this to include F64. If there's some reason that's inappropriate and the omission is

Re: [PATCH, version 4], Add support for _Float and _FloatX sqrt, fma, fmin, fmax built-in functions

2017-10-25 Thread Joseph Myers
On Wed, 25 Oct 2017, Michael Meissner wrote: > > I don't think that, given the availability of fmaf128 etc. built-in > > functions with appropriate options, whether __FP_FAST_* are defined should > > actually depend on whether the user has passed options to disable those > > functions (after

Re: [PATCH] PR libgcc/59714 complex division is surprising on aarch64

2017-10-25 Thread Joseph Myers
On Wed, 25 Oct 2017, vladimir.mezent...@oracle.com wrote: > On 10/25/2017 10:28 AM, Joseph Myers wrote: > > On Wed, 25 Oct 2017, vladimir.mezent...@oracle.com wrote: > > > >> +# Disable FMA (floating-point multiply-add) instructions for complex > >> division. > >> +# These instructions can

[C++ PATCH] Label checking cleanups

2017-10-25 Thread Nathan Sidwell
In killing IDENTIFIER_LABEL_VALUE, I made some cleanups deduping code and using modern C++ idioms. applying to trunk in advance of the Label killer. nathan -- Nathan Sidwell 2017-10-25 Nathan Sidwell * decl.c (identifier_goto): Reduce duplication. (check_previous_goto_1):

[PATCH] Refactor FRE/PRE elimination

2017-10-25 Thread Richard Biener
This refactors elimination, removing all global state stuffing everything into the eliminate_dom_walker class plus merging eliminate () and fini_eliminate () now that this is possible. In preparation for moving the whole thing to tree-ssa-sccvn.c for more tight integration with value-numbering

[PATCH] Another testcase for PR82436

2017-10-25 Thread Richard Biener
The original one only failed with -m32, this one failed with 64bits as well. Tested on x86_64-unknown-linux-gnu, applied. Richard. 2017-10-25 Richard Biener PR tree-optimization/82436 * gcc.dg/torture/pr82436-2.c: New testcase. Index:

Re: [PATCH] i386: Don't generate ENDBR if function is only called directly

2017-10-25 Thread Rainer Orth
Hi H.J., > On Tue, Oct 24, 2017 at 2:33 AM, Uros Bizjak wrote: >> On Tue, Oct 24, 2017 at 10:39 AM, Tsimbalist, Igor V >> wrote: >>> OK. >> >> +/* { dg-final { scan-assembler-times "endbr32" 2 { target ia32 } } } */ >> +/* { dg-final {

[testsuite, committed] Fix scan-assembler in tree-ssa/loop-1.c for nvptx

2017-10-25 Thread Tom de Vries
Hi, this patch fixes a scan-assembler line in tree-ssa/loop-1.c for nvptx. Committed. Thanks, - Tom Fix scan-assembler in tree-ssa/loop-1.c for nvptx 2017-10-25 Tom de Vries * gcc.dg/tree-ssa/loop-1.c: Add xfail for nvptx in scan-assembler-times line, and add

[PATCH] Move FRE/PRE elimination code to tree-ssa-sccvn.c

2017-10-25 Thread Richard Biener
This is the patch moving the stuff. Slight changes on-the-way, renaming the now exported vn_eliminate function and adding members for the former pre_stats used by elimination. Moves the FRE pass structure and infrastructure as well (now if it weren't for blaming I'd rename tree-ssa-sccvn.{c,h}

Re: [000/nnn] poly_int: representation of runtime offsets and sizes

2017-10-25 Thread Richard Biener
On Tue, Oct 24, 2017 at 3:24 PM, Richard Sandiford wrote: > Richard Biener writes: >> On Tue, Oct 24, 2017 at 2:48 PM, Richard Sandiford >> wrote: >>> Richard Biener writes:

Re: [000/nnn] poly_int: representation of runtime offsets and sizes

2017-10-25 Thread Jakub Jelinek
On Wed, Oct 25, 2017 at 12:19:37PM +0200, Richard Biener wrote: > Hum. But then we still warn for must_eq_p (x, 1), no? > > So why does > > int f (unsigned int x) > { > return x != 0; > } > > not warn? Probably because of promotion of the arg. Because then one comparison operand

Re: [PATCH][GCC][Testsuite][SPARC][ARM] Fix vect-multitypes-1.c test on SPARC64 and ARMEB.

2017-10-25 Thread Rainer Orth
Hi Tamar, > This patch fixes a regression introduced by r253451. > The target needs all three conditions to be true before it can > vectorize unaligned accesses. This patch turns the erroneous || > into an &&. > > regtested on aarch64-none-elf, arm-none-linux-gnueabihf, > x86_64-pc-linux-gnu,

Re: [RFC] propagate malloc attribute in ipa-pure-const pass

2017-10-25 Thread Prathamesh Kulkarni
On 24 October 2017 at 16:26, Jan Hubicka wrote: >> 2017-10-13 Prathamesh Kulkarni >> >> * cgraph.h (set_malloc_flag): Declare. >> * cgraph.c (set_malloc_flag_1): New function. >> (set_malloc_flag): Likewise. >> *