[RFC] fwprop address cost changes

2018-07-11 Thread Robin Dapp
Hi, we recently hit a problem where fwprop would not propagate a memory address into an insn because our backend (s390) tells it that the address_cost ()s for an address with index are higher than for one without. Subsequently, should_replace_address () returns false and no propagation is performe

[PATCH][C family] Fix PR86453

2018-07-11 Thread Richard Biener
This fixes handle_packed_attribute creating a type variant which differs in TYPE_PACKED. This cannot be generally allowed since TYPE_PACKED affects layout and layout is shared between variants. For the testcase in question the attribute itself is later ignored but TYPE_PACKED is still applied w

Re: [PATCH] fold strlen() of aggregate members (PR 77357)

2018-07-11 Thread Andre Vieira (lists)
On 09/07/18 22:44, Martin Sebor wrote: > On 07/09/2018 06:40 AM, Richard Biener wrote: >> On Sun, Jul 8, 2018 at 4:56 AM Martin Sebor wrote: >>> >>> On 07/06/2018 09:52 AM, Richard Biener wrote: On Fri, Jul 6, 2018 at 1:54 AM Martin Sebor wrote: > > GCC folds accesses to members of c

Re: [AArch64] Use arrays and loops rather than numbered variables in aarch64_operands_adjust_ok_for_ldpstp [1/2]

2018-07-11 Thread Jackson Woodruff
Hi Kyrill, On 07/10/2018 10:55 AM, Kyrill Tkachov wrote: Hi Jackson, On 10/07/18 09:37, Jackson Woodruff wrote: Hi all, This patch removes some duplicated code.  Since this method deals with four loads or stores, there is a lot of duplicated code that can easily be replaced with smaller loop

[PATCH][GCC][AARCH64] Canonicalize aarch64 widening simd plus insns

2018-07-11 Thread Matthew Malcomson
Hi there, The current RTL patterns for widening addition and subtraction instructions in aarch64-simd.md use the code iterator attribute to make their definition more compact. This approach means that the `minus` and `plus` cases have their operands in the same order, which causes problems in

Re: [PATCH, contrib] Add contrib/maintainers-verify.sh

2018-07-11 Thread Richard Earnshaw (lists)
On 12/06/18 11:03, Tom de Vries wrote: > [ Fixed ENOPATCH ] > > On Tue, Jun 12, 2018 at 11:57:13AM +0200, Tom de Vries wrote: >> [ was: Re: [MAINTAINERS, committed] Remove redundant write-after-approval >> entries ] >> >> On Tue, Jun 12, 2018 at 10:26:31AM +0200, Martin Liška wrote: >>> Hi. >>> >>

[PATCH 2/2] Add "-fsave-optimization-record"

2018-07-11 Thread David Malcolm
This patch implements a -fsave-optimization-record option, which leads to a JSON file being written out, recording the dump_* calls made (via the optinfo infrastructure in the previous patch). The patch includes a minimal version of the JSON patch I posted last year, with just enough support neede

[PATCH 1/2] v5: Add "optinfo" framework

2018-07-11 Thread David Malcolm
Changes relative to v4: * eliminated optinfo subclasses as discussed * eliminated optinfo-internal.h, moving what remained into optinfo.h * added support for dump_gimple_expr_loc and dump_gimple_expr * more selftests This patch implements a way to consolidate dump_* calls into optinfo objects, as

[PATCH][GCC][AArch64][mid-end] Updated stack-clash implementation for AArch64. [patch (0/6)]

2018-07-11 Thread Tamar Christina
Hi All, The patch series will allow AArch64 to use 64k guard sizes correctly and improves the code quality. It also enables a reduction of the overhead in code size over the current GCC 8 implementation. Using 64k guard sizes results in a reduction in overhead compared to the 4k guard size. Th

[PATCH][GCC][AArch64] Cleanup the AArch64 testsuite when stack-clash is on [Patch (6/6)]

2018-07-11 Thread Tamar Christina
Hi All, This patch cleans up the testsuite when a run is done with stack clash protection turned on. Concretely this switches off -fstack-clash-protection for a couple of tests: * sve: We don't yet support stack-clash-protection and sve, so for now turn these off. * assembler scan: some tests a

[PATCH][GCC][AArch64] Updated stack-clash implementation supporting 64k probes. [patch (1/6)]

2018-07-11 Thread Tamar Christina
Hi All, This patch implements the use of the stack clash mitigation for aarch64. In Aarch64 we expect both the probing interval and the guard size to be 64KB and we enforce them to always be equal. We also probe up by 1024 bytes in the general case when a probe is required. AArch64 has the follo

[PATCH][GCC][front-end][build-machinery][opt-framework] Allow setting of stack-clash via configure options. [Patch (4/6)]

2018-07-11 Thread Tamar Christina
Hi All, This patch defines a configure option to allow the setting of the default guard size via configure flags when building the target. The new flag is: * --with-stack-clash-protection-guard-size= The value of configured based params are set very early on and allow the target to validate or

[PATCH][GCC][mid-end] Add a hook to support telling the mid-end when to probe the stack [patch (2/6)]

2018-07-11 Thread Tamar Christina
Hi All, This patch adds a hook to tell the mid-end about the probing requirements of the target. On AArch64 we allow a specific range for which no probing needs to be done. This same range is also the amount that will have to be probed up when a probe is needed after dropping the stack. Definin

Re: [PATCH][RFC] Make iterating over hash-map elide copying/destructing

2018-07-11 Thread Trevor Saunders
On Tue, Jul 10, 2018 at 11:46:54AM +0200, Richard Biener wrote: > On Tue, 10 Jul 2018, Trevor Saunders wrote: > > > On Tue, Jul 10, 2018 at 10:43:20AM +0200, Richard Biener wrote: > > > > > > The following makes the hash-map iterator dereference return a pair > > Value&> rather than a copy of Val

[PATCH][GCC][front-end][opt-framework] Update options framework for parameters to properly handle and validate configure time params. [Patch (2/3)]

2018-07-11 Thread Tamar Christina
Hi All, This patch builds on a previous patch to pass param options down from configure by adding more expansive validation and correctness checks. These are set very early on and allow the target to validate or reject the values as they see fit. To do this compiler_param has been extended to ho

[PATCH][GCC][AArch64] Validate and set default parameters for stack-clash. [Patch (3/3)]

2018-07-11 Thread Tamar Christina
Hi All, This patch defines the default parameters and validation for the aarch64 stack clash probing interval and guard sizes. It cleans up the previous implementation and insures that at no point the invalidate arguments are present in the pipeline for AArch64. Currently they are only corrected

[PATCH][GCC][front-end][opt-framework] Allow back-ends to be able to do custom validations on params. [Patch (1/3)]

2018-07-11 Thread Tamar Christina
Hi All, This patch adds the ability for backends to add custom constrains to the param values by defining a new hook option_validate_param. This hook is invoked on every set_param_value which allows the back-end to ensure that the parameters are always within it's desired state. Bootstrapped Reg

Re: [RFC] Fix recent popcount change is breaking

2018-07-11 Thread Kugan Vivekanandarajah
Hi Andrew, On 11 July 2018 at 15:43, Andrew Pinski wrote: > On Tue, Jul 10, 2018 at 6:35 PM Kugan Vivekanandarajah > wrote: >> >> Hi Andrew, >> >> On 11 July 2018 at 11:19, Andrew Pinski wrote: >> > On Tue, Jul 10, 2018 at 6:14 PM Kugan Vivekanandarajah >> > wrote: >> >> >> >> On 10 July 2018

[PATCH][GCC][AArch64] Ensure that outgoing argument size is at least 8 bytes when alloca and stack-clash. [Patch (3/6)]

2018-07-11 Thread Tamar Christina
Hi All, This patch adds a requirement that the number of outgoing arguments for a function is at least 8 bytes when using stack-clash protection. By using this condition we can avoid a check in the alloca code and so have smaller and simpler code there. A simplified version of the AArch64 stack

[PATCH][GCC][AArch64] Set default values for stack-clash and do basic validation in back-end. [Patch (5/6)]

2018-07-11 Thread Tamar Christina
Hi All, This patch enforces that the default guard size for stack-clash protection for AArch64 be 64KB unless the user has overriden it via configure in which case the user value is used as long as that value is within the valid range. It also does some basic validation to ensure that the guard s

Re: [RFC] Fix recent popcount change is breaking

2018-07-11 Thread Richard Biener
On Wed, Jul 11, 2018 at 1:26 PM Kugan Vivekanandarajah wrote: > > Hi Andrew, > > On 11 July 2018 at 15:43, Andrew Pinski wrote: > > On Tue, Jul 10, 2018 at 6:35 PM Kugan Vivekanandarajah > > wrote: > >> > >> Hi Andrew, > >> > >> On 11 July 2018 at 11:19, Andrew Pinski wrote: > >> > On Tue, Jul

Re: abstract gimple_call_nonnull*() from vr-values

2018-07-11 Thread Richard Biener
On Tue, Jul 10, 2018 at 12:14 PM Aldy Hernandez wrote: > > Ho hum, more abstractions. > > No change in functionality. > > OK for trunk? OK. Bonus points for finding the copy I vaguely remember exists somewhere... Richard.

Re: abstract wide int binop code from VRP

2018-07-11 Thread Richard Biener
On Wed, Jul 11, 2018 at 8:48 AM Aldy Hernandez wrote: > > Hmmm, I think we can do better, and since this hasn't been reviewed yet, > I don't think anyone will mind the adjustment to the patch ;-). > > I really hate int_const_binop_SOME_RANDOM_NUMBER. We should abstract > them into properly named

[PATCH] Fix PR86452

2018-07-11 Thread Richard Biener
The following fixes PR86452 by using scope_die_for which correctly deals with -g1 in not creating (new) DIEs for namespaces. With a larger LTO testcase we run into this with a namespace DIE not readily available but I'm not sure the issue isn't latent with non-LTO. The original code was added w

Re: [committed] Fix OpenMP class iterators in distribute parallel for (PR c++/86443)

2018-07-11 Thread Jakub Jelinek
On Tue, Jul 10, 2018 at 09:18:18AM +0200, Jakub Jelinek wrote: > Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk. I found two small issues and one big issue (results being declare target) which break the test if using non-shared memory offloading. This should fix it, tes

Re: [PATCH] fold strlen() of aggregate members (PR 77357)

2018-07-11 Thread Andre Vieira (lists)
On 11/07/18 11:00, Andre Vieira (lists) wrote: > On 09/07/18 22:44, Martin Sebor wrote: >> On 07/09/2018 06:40 AM, Richard Biener wrote: >>> On Sun, Jul 8, 2018 at 4:56 AM Martin Sebor wrote: On 07/06/2018 09:52 AM, Richard Biener wrote: > On Fri, Jul 6, 2018 at 1:54 AM Martin Sebor

Re: [PATCH][C family] Fix PR86453

2018-07-11 Thread Marek Polacek
On Wed, Jul 11, 2018 at 11:55:32AM +0200, Richard Biener wrote: > > This fixes handle_packed_attribute creating a type variant which differs > in TYPE_PACKED. This cannot be generally allowed since TYPE_PACKED > affects layout and layout is shared between variants. > > For the testcase in questi

Re: [PATCH] fold strlen() of aggregate members (PR 77357)

2018-07-11 Thread Martin Sebor
On 07/11/2018 07:50 AM, Andre Vieira (lists) wrote: On 11/07/18 11:00, Andre Vieira (lists) wrote: On 09/07/18 22:44, Martin Sebor wrote: On 07/09/2018 06:40 AM, Richard Biener wrote: On Sun, Jul 8, 2018 at 4:56 AM Martin Sebor wrote: On 07/06/2018 09:52 AM, Richard Biener wrote: On Fri, J

Go patch committed: Fix evaluation order of LHS index expressions

2018-07-11 Thread Ian Lance Taylor
The Go spec says that when an index expression appears on the left hand side of an assignment, the operands should be evaluated. The gofrontend code was assuming that that only referred to the index operand. But discussion of https://golang.org/issue/23188 has clarified that this means both the sli

[arm] Put CPU's FPU capabilities directly in the ISA specification

2018-07-11 Thread Richard Earnshaw (lists)
As part of the transition from the original support for named FPUs to general FPU properties I defined an entry in the CPU definitions in arm-cpus.in to use a named FPU. However, that has now outlived its usefulness and increasingly we are likely to find that newer cores do not fit the legacy FPU

[PATCH, S390] Increase function alignment to 16 bytes

2018-07-11 Thread Robin Dapp
Hi, the following patch increases the default function alignment to 16 bytes. This helps get rid of some unwanted performance effects. I'm unsure whether or when it's necessary to implement OVERRIDE_OPTIONS_AFTER_CHANGE. Apparently ia64 did it to set flags that are reset when using __attribute__

Re: [PATCH 0/5] [RFC v2] Higher-level reporting of vectorization problems

2018-07-11 Thread Richard Sandiford
David Malcolm writes: > On Mon, 2018-06-25 at 11:10 +0200, Richard Biener wrote: >> On Fri, 22 Jun 2018, David Malcolm wrote: >> >> > NightStrike and I were chatting on IRC last week about >> > issues with trying to vectorize the following code: >> > >> > #include >> > std::size_t f(std::vector

Re: [PATCH, doc] Small clarification on define_subst

2018-07-11 Thread Jeff Law
On 07/08/2018 06:03 PM, Paul Koning wrote: > In doing CCmode work I was confused how define_subst handles cases where the > same argument appears more than once. The attached clarifies this. > > Ok for trunk? > > paul > > ChangeLog: > > 2018-07-08 Paul Koning > > * doc/md.texi

Re: allow thread_through_all_blocks() to start from the same initial BB

2018-07-11 Thread Jeff Law
On 07/10/2018 05:14 AM, Aldy Hernandez wrote: > I believe I missed this companion patch when I submitted... > >    Subject: jump threading multiple paths that start from the same BB > > The attached patch changes thread_through_all_blocks to allow threads > that start from the same basic block as

Re: [PATCH] doc: add missing "mode" type attribute

2018-07-11 Thread Jeff Law
On 07/10/2018 10:50 AM, Paul Koning wrote: > "mode" is documented as a variable attribute but not as a type attribute. > This fixes that omission. I simply copied the other text, it seemed suitable > as it stands. > > The attributes are normally listed in alphabetical order but "mode" was out

Re: [AArch64] Use arrays and loops rather than numbered variables in aarch64_operands_adjust_ok_for_ldpstp [1/2]

2018-07-11 Thread Jackson Woodruff
Hi Sudi, Thanks for the review. On 07/10/2018 10:56 AM, Sudakshina wrote: Hi Jackson -  if (!MEM_P (mem_1) || aarch64_mem_pair_operand (mem_1, mode)) +  if (!MEM_P (mem[1]) || aarch64_mem_pair_operand (mem[1], mode)) mem_1 == mem[1]? Oops, yes... That should be mem[0]. return false;

Re: [AArch64] Generate load-pairs when the last load clobbers the address register [2/2]

2018-07-11 Thread Jackson Woodruff
Hi Sudi, On 07/10/2018 02:29 PM, Sudakshina Das wrote: Hi Jackson On Tuesday 10 July 2018 09:37 AM, Jackson Woodruff wrote: Hi all, This patch resolves PR86014.  It does so by noticing that the last load may clobber the address register without issue (regardless of where it exists in the f

Re: abstract wide int binop code from VRP

2018-07-11 Thread Aldy Hernandez
On 07/11/2018 08:52 AM, Richard Biener wrote: On Wed, Jul 11, 2018 at 8:48 AM Aldy Hernandez wrote: Hmmm, I think we can do better, and since this hasn't been reviewed yet, I don't think anyone will mind the adjustment to the patch ;-). I really hate int_const_binop_SOME_RANDOM_NUMBER. We

Re: abstract wide int binop code from VRP

2018-07-11 Thread Richard Sandiford
Richard Biener writes: > On Wed, Jul 11, 2018 at 8:48 AM Aldy Hernandez wrote: >> >> Hmmm, I think we can do better, and since this hasn't been reviewed yet, >> I don't think anyone will mind the adjustment to the patch ;-). >> >> I really hate int_const_binop_SOME_RANDOM_NUMBER. We should abstr

Re: [PATCH][GCC][AArch64] Updated stack-clash implementation supporting 64k probes. [patch (1/6)]

2018-07-11 Thread Jeff Law
On 07/11/2018 05:20 AM, Tamar Christina wrote: > Hi All, > > This patch implements the use of the stack clash mitigation for aarch64. > In Aarch64 we expect both the probing interval and the guard size to be 64KB > and we enforce them to always be equal. > > We also probe up by 1024 bytes in the

[PATCH, rs6000] Add missing logical-op interfaces to emmintrin.h

2018-07-11 Thread Bill Schmidt
Hi, It was recently brought to our attention that the existing emmintrin.h header, which was believed to be feature-complete for SSE2 support, is actually missing four logical-op interfaces: _mm_and_si128 _mm_andnot_si128 _mm_or_si128 _mm_xor_si128 This patch provides those with the obvious

Re: [PATCH][GCC][AArch64] Updated stack-clash implementation supporting 64k probes. [patch (1/6)]

2018-07-11 Thread Jeff Law
On 07/11/2018 05:20 AM, Tamar Christina wrote: > Hi All, > > This patch implements the use of the stack clash mitigation for aarch64. > In Aarch64 we expect both the probing interval and the guard size to be 64KB > and we enforce them to always be equal. > > We also probe up by 1024 bytes in the

Re: abstract wide int binop code from VRP

2018-07-11 Thread Richard Sandiford
Aldy Hernandez writes: > On 07/11/2018 08:52 AM, Richard Biener wrote: >> On Wed, Jul 11, 2018 at 8:48 AM Aldy Hernandez wrote: >>> >>> Hmmm, I think we can do better, and since this hasn't been reviewed yet, >>> I don't think anyone will mind the adjustment to the patch ;-). >>> >>> I really hat

Re: [PATCH 0/5] [RFC v2] Higher-level reporting of vectorization problems

2018-07-11 Thread David Malcolm
On Wed, 2018-07-11 at 16:56 +0100, Richard Sandiford wrote: > David Malcolm writes: > > On Mon, 2018-06-25 at 11:10 +0200, Richard Biener wrote: > > > On Fri, 22 Jun 2018, David Malcolm wrote: > > > > > > > NightStrike and I were chatting on IRC last week about > > > > issues with trying to vecto

Re: [PATCH][GCC][mid-end] Add a hook to support telling the mid-end when to probe the stack [patch (2/6)]

2018-07-11 Thread Jeff Law
On 07/11/2018 05:21 AM, Tamar Christina wrote: > Hi All, > > This patch adds a hook to tell the mid-end about the probing requirements of > the > target. On AArch64 we allow a specific range for which no probing needs to > be done. This same range is also the amount that will have to be probed

Re: [patch] adjust default nvptx launch geometry for OpenACC offloaded regions

2018-07-11 Thread Cesar Philippidis
On 07/02/2018 07:14 AM, Tom de Vries wrote: > On 06/21/2018 03:58 PM, Cesar Philippidis wrote: >> On 06/20/2018 03:15 PM, Tom de Vries wrote: >>> On 06/20/2018 11:59 PM, Cesar Philippidis wrote: Now it follows the formula contained in the "CUDA Occupancy Calculator" spreadsheet that's dis

Re: [PATCH][GCC][front-end][build-machinery][opt-framework] Allow setting of stack-clash via configure options. [Patch (4/6)]

2018-07-11 Thread Jeff Law
On 07/11/2018 05:22 AM, Tamar Christina wrote: > Hi All, > > This patch defines a configure option to allow the setting of the default > guard size via configure flags when building the target. > > The new flag is: > > * --with-stack-clash-protection-guard-size= > > The value of configured bas

Re: [PATCH][GCC][front-end][opt-framework] Allow back-ends to be able to do custom validations on params. [Patch (1/3)]

2018-07-11 Thread Jeff Law
On 07/11/2018 05:24 AM, Tamar Christina wrote: > Hi All, > > This patch adds the ability for backends to add custom constrains to the param > values by defining a new hook option_validate_param. > > This hook is invoked on every set_param_value which allows the back-end to > ensure that the param

Re: [PATCH][GCC][front-end][opt-framework] Update options framework for parameters to properly handle and validate configure time params. [Patch (2/3)]

2018-07-11 Thread Jeff Law
On 07/11/2018 05:24 AM, Tamar Christina wrote: > Hi All, > > This patch builds on a previous patch to pass param options down from > configure > by adding more expansive validation and correctness checks. > > These are set very early on and allow the target to validate or reject the > values as

Re: [PATCH] Fix __mmask* types on many AVX512 intrinsics

2018-07-11 Thread Jeff Law
On 07/07/2018 02:15 AM, Jakub Jelinek wrote: > Hi! > > On Fri, Jul 06, 2018 at 12:47:07PM +0200, Jakub Jelinek wrote: >> On Thu, Jul 05, 2018 at 11:57:26PM +0300, Grazvydas Ignotas wrote: >>> I think it would be more efficient if you took care of it. I won't >>> have time for at least a few days a

RFC: lra-constraints.c and TARGET_HARD_REGNO_CALL_PART_CLOBBERED question/patch

2018-07-11 Thread Steve Ellcey
I have a reload/register allocation question and possible patch.  While working on the Aarch64 SIMD ABI[1] I ran into a problem where GCC was saving and restoring registers that it did not need to.  I tracked it down to lra-constraints.c and its use of targetm.hard_regno_call_part_clobbered on inst

Re: [PATCH 0/7] Mitigation against unsafe data speculation (CVE-2017-5753)

2018-07-11 Thread Jeff Law
On 07/10/2018 10:43 AM, Richard Earnshaw (lists) wrote: > On 10/07/18 16:42, Jeff Law wrote: >> On 07/10/2018 02:49 AM, Richard Earnshaw (lists) wrote: >>> On 10/07/18 00:13, Jeff Law wrote: On 07/09/2018 10:38 AM, Richard Earnshaw wrote: > > To address all of the above, these patches

Re: [PATCH 6/7] AArch64 - new pass to add conditional-branch speculation tracking

2018-07-11 Thread Jeff Law
On 07/09/2018 10:38 AM, Richard Earnshaw wrote: > This patch is the main part of the speculation tracking code. It adds > a new target-specific pass that is run just before the final branch > reorg pass (so that it can clean up any new edge insertions we make). > The pass is only run with -mtrack-

[Patch, Fortran] PR 85599: warn about short-circuiting of logical expressions for non-pure functions

2018-07-11 Thread Janus Weil
Hi all, after the dust of the heated discussion around this PR has settled a bit, here is another attempt to implement at least some basic warnings about compiler-dependent behavior concerning the short-circuiting of logical expressions. As a reminder (and recap of the previous discussion), the F

Re: [PATCH][RFC] Make iterating over hash-map elide copying/destructing

2018-07-11 Thread Pedro Alves
On 07/11/2018 12:24 PM, Trevor Saunders wrote: > However if we went that route we should prevent use of the > assignment operator by declaring one explicitly and making it private but > then not implementing it, so it at least fails to link and with some > macros you can actually tell the compiler

Re: RFC: lra-constraints.c and TARGET_HARD_REGNO_CALL_PART_CLOBBERED question/patch

2018-07-11 Thread Jeff Law
On 07/11/2018 02:07 PM, Steve Ellcey wrote: > I have a reload/register allocation question and possible patch.  While > working on the Aarch64 SIMD ABI[1] I ran into a problem where GCC was > saving and restoring registers that it did not need to.  I tracked it > down to lra-constraints.c and its u

[PATCH][Middle-end][version 3]3rd patch of PR78809

2018-07-11 Thread Qing Zhao
Hi, This is the 3rd version of the patch for the last part of PR78809. the major change in this version is to address the following concerns raised by Martin: > One of the basic design principles that I myself have > accidentally violated in the past is that warning options > should not impact

[PATCH] reject conflicting attributes before calling handlers (PR 86453)

2018-07-11 Thread Martin Sebor
The attached change set adjusts the attribute exclusion code to detect and reject incompatible attributes before attribute handlers are called to have a chance to make changes despite the exclusions. The handlers are not run when a conflict is found. Tested on x86_64-linux. I expected the fallo

[PATCH] Fix store-merging wrong-code issue (PR tree-optimization/86492)

2018-07-11 Thread Jakub Jelinek
Hi! The following testcase is a similar issue to PR84503 and the fix is similar, because coalesce_immediate_stores temporarily sorts the stores on ascending bitpos and if stores are merged, the merged store is emitted in the location of the latest of the stores, we need to verify that there is no

Re: [PATCH 0/7] Mitigation against unsafe data speculation (CVE-2017-5753)

2018-07-11 Thread Richard Earnshaw (lists)
On 11/07/18 21:46, Jeff Law wrote: > On 07/10/2018 10:43 AM, Richard Earnshaw (lists) wrote: >> On 10/07/18 16:42, Jeff Law wrote: >>> On 07/10/2018 02:49 AM, Richard Earnshaw (lists) wrote: On 10/07/18 00:13, Jeff Law wrote: > On 07/09/2018 10:38 AM, Richard Earnshaw wrote: >> >>

Re: [PATCH, rs6000] gimple folding support for vec_pack and vec_unpack

2018-07-11 Thread Segher Boessenkool
Hi! On Mon, Jul 09, 2018 at 02:08:37PM -0500, Will Schmidt wrote: > * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): > Add support for gimple-folding of vec_pack() and vec_unpack() > intrinsics. > +case ALTIVEC_BUILTIN_VUPKHPX: > +case ALTIVEC_BUILTIN_VUPKLPX: > +

Re: [PATCH, rs6000] Testcase adds for vec_unpack

2018-07-11 Thread Segher Boessenkool
Hi Will, On Mon, Jul 09, 2018 at 02:08:49PM -0500, Will Schmidt wrote: > * gcc.target/powerpc/fold-vec-unpack-char.c: New. > * gcc.target/powerpc/fold-vec-unpack-float.c: New. > * gcc.target/powerpc/fold-vec-unpack-int.c: New. > * gcc.target/powerpc/fold-vec-unpack-pixel.c

Re: [PATCH, rs6000] Add support for gimple folding vec_perm()

2018-07-11 Thread Segher Boessenkool
On Mon, Jul 09, 2018 at 02:08:55PM -0500, Will Schmidt wrote: >Add support for early gimple folding of vec_perm. Testcases are already > in-tree as > gcc.target/powerpc/fold-vec-perm-*.c > > OK for trunk? Looks fine to me. Okay if no one else complains :-) Segher > * gcc/config/

[PING][PATCH][Aarch64] v2: Arithmetic overflow addv patterns [Patch 2/4]

2018-07-11 Thread Michael Collison
Ping. Last patch here: https://gcc.gnu.org/ml/gcc-patches/2018-06/msg00735.html

[PATCH] doc: update looping constructs

2018-07-11 Thread Paul Koning
This patch removes the obsolete documentation for decrement_and_branch_until_zero. It also adds detail to the description for doloop_end. In particular, it describes the required form of the conditional branch part of the pattern. Ok for trunk? paul ChangeLog: 2018-07-11 Paul Koni

[PATCH] C++: suggestions for misspelled private members (PR c++/84993)

2018-07-11 Thread David Malcolm
PR c++/84993 identifies a problem with our suggestions for misspelled member names in the C++ FE for the case where the member is private. For example, given: class foo { public: double get_ratio() const { return m_ratio; } private: double m_ratio; }; void test(foo *ptr) { if (ptr->ratio

Go patch committed: Build a single backend type for a type alias

2018-07-11 Thread Ian Lance Taylor
A type alias and its underlying type are identical. This patch to the Go frontend by Cherry Zhang builds a single backend type for them. Previously we build two backend types, which sometimes confuse the backend's type system. Also don't include type aliases into the list of named type declaratio

--enable-maintainer-mode currently broken, needs --disable-werror to complete bootstrap

2018-07-11 Thread Thomas Koenig
Hi, this is a heads-up that configuring with --enable-maintainer-mode currently breaks bootstrap; see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86450 for details. Running configure with --enable-maintainer-mode --disable-werror allows bootstrap to proceed until the underlying issue is fixed

Re: RFC: lra-constraints.c and TARGET_HARD_REGNO_CALL_PART_CLOBBERED question/patch

2018-07-11 Thread Richard Sandiford
Jeff Law writes: > On 07/11/2018 02:07 PM, Steve Ellcey wrote: >> I have a reload/register allocation question and possible patch.  While >> working on the Aarch64 SIMD ABI[1] I ran into a problem where GCC was >> saving and restoring registers that it did not need to.  I tracked it >> down to lra