Re: [PATCH] Add generic support for "noinit" attribute

2019-08-14 Thread Christophe Lyon
On Wed, 14 Aug 2019 at 19:07, Christophe Lyon wrote: > > On Wed, 14 Aug 2019 at 17:59, Tamar Christina wrote: > > > > Hi Christoph, > > > > The noinit testcase is currently failing on x86_64. > > > > Is the test supposed to be running there? > > > No, there's an effective-target to skip it. > But

Re: Add IFN_COND functions for shifting

2019-08-14 Thread Jeff Law
On 8/14/19 6:27 AM, Richard Sandiford wrote: > This patch adds support for IFN_COND shifts left and shifts right. > This is mostly mechanical, but since we try to handle conditional > operations in the same way as unconditional operations in match.pd, > we need to support IFN_COND shifts by scalars

Re: Add TIGERLAKE and COOPERLAKE to GCC

2019-08-14 Thread Jeff Law
On 8/14/19 1:38 AM, Cui, Lili wrote: > Resend this mail for GCC Patches rejected my message, thanks. > > -Original Message- > > Hi Uros and all: > > This patch is about to add TIGERLAKE and COOPERLAKE to GCC. > TIGERLAKE is based on ICELAKE_CLIENT and plus new ISA > MOVEDIRI/MOVDIR64B/A

Re: Monotonically increasing counter (was Re: [Contrib PATCH] Add scripts to convert GCC repo from SVN to Git)

2019-08-14 Thread Jason Merrill
On Mon, Aug 5, 2019 at 2:22 PM Jason Merrill wrote: > On 8/5/19 11:34 AM, Jakub Jelinek wrote: > > On Mon, Aug 05, 2019 at 11:20:09AM -0400, Jason Merrill wrote: > >> I agree. But for those who want a monotonically increasing > >> identifier, there's already one in git: CommitDate. In the discus

Re: [PATCH 0/3] add support for POD struct convention (PR 61339)

2019-08-14 Thread Pedro Alves
On 7/12/19 9:24 AM, Jakub Jelinek wrote: > I'd just arrange that when being compiled with clang we compile with > -Wno-mismatched-tags to get rid of their misdesigned warning and not add > such misdesigned warning to GCC, that will just help people spread this > weirdo requirement further. FWIW an

[PATCH, i386]: Use *mmx_pinsrb some more

2019-08-14 Thread Uros Bizjak
We can generate {v,}pinsrb in ix86_expand_vector_init_one_nonzero and ix86_expand_vector_init_one_var. {v,}pinsrd is already generated where optimal. 2019-08-14 Uroš Bizjak * config/i386/i386-expand.c (ix86_expand_vector_init_one_nonzero) : Use vector_set path for TARGET_MMX_WITH_S

Re: C++ PATCH for c++/91264 - detect modifying const objects in constexpr

2019-08-14 Thread Jason Merrill
On Thu, Aug 8, 2019 at 3:25 PM Marek Polacek wrote: > > On Thu, Aug 08, 2019 at 11:06:17AM -0400, Jason Merrill wrote: > > On 8/6/19 3:20 PM, Marek Polacek wrote: > > > On Mon, Aug 05, 2019 at 03:54:19PM -0400, Jason Merrill wrote: > > > > On 7/31/19 3:26 PM, Marek Polacek wrote: > > > > > One of

Re: [PATCH] Properly register dead cgraph_nodes in passes.c.

2019-08-14 Thread Jeff Law
On 8/9/19 6:41 AM, Martin Liška wrote: > Hi. > > The patch prevents crashes caused by fact that do_per_function_toporder > uses get_uid () to register all dead cgraph_nodes. That does not work > now as cgraph_nodes are directly released via ggc_free and so that one > will see a garbage here. Secon

[PATCH] Deprecate std::__is_nullptr_t type trait

2019-08-14 Thread Jonathan Wakely
This non-standard extension is redundant and unused by the library. * include/std/type_traits (__is_nullptr_t): Add deprecated attribute. We support std::is_null_pointer so don't need a non-standard trait that does the same thing. Tested x86_64-linux, committed to trunk. commit 8068073

Re: [PATCH] fold more string comparison with known result (PR 90879)

2019-08-14 Thread Martin Sebor
On 8/13/19 4:46 PM, Jeff Law wrote: On 8/13/19 3:43 PM, Martin Sebor wrote: On 8/13/19 2:07 PM, Jeff Law wrote: On 8/9/19 10:51 AM, Martin Sebor wrote: PR tree-optimization/90879 - fold zero-equality of strcmp between a longer string and a smaller array gcc/c-family/ChangeLog: PR tree-

Re: [SVE] PR86753

2019-08-14 Thread Richard Sandiford
Richard Biener writes: > On Wed, Aug 14, 2019 at 6:49 PM Richard Biener > wrote: >> >> On Wed, Aug 14, 2019 at 5:06 PM Prathamesh Kulkarni >> wrote: >> > >> > Hi, >> > The attached patch tries to fix PR86753. >> > >> > For following test: >> > void >> > f1 (int *restrict x, int *restrict y, int

PowerPC 'future' patches introduction

2019-08-14 Thread Michael Meissner
I will be submitting 10 patches will that will add support to GCC for a possible future PowerPC processor. These patches add support for new instructions that extend the offsettable memory instructions (D, DS, or DQ instruction formats) to have 34 bit offsets (instead of 16, 14, or 12 bits respect

C++ PATCH to implement C++20 P1143R2, constinit (PR c++/91360)

2019-08-14 Thread Marek Polacek
This patch implements the C++20 specifier constinit, as described in . It makes sure that the compiler requires constant initialization of a variable (it can only be applied to variables with static or thread storage duration). Note the variable is *not* const; it is pos

[PATCH], Patch #1 of 10, Add instruction format enumeration

2019-08-14 Thread Michael Meissner
This patch implements the insn_form enumeration that identifies which types of instruction format is used for memory instruction. While the PowerPC has additional formats, the instruction formats that we need to use are: INSN_FORM_D -- Traditional D-form instructions (16 bits offset);

[PATCH 0/8] eBPF support for GCC

2019-08-14 Thread Jose E. Marchesi
Hi people! This patch series introduces a port of GCC to eBPF, which is a virtual machine that resides in the Linux kernel. Initially intended for user-level packet capture and filtering, eBPF is nowadays generalized to serve as a general-purpose infrastructure also for non-networking purposes.

[PATCH 1/8] Update config.sub and config.guess.

2019-08-14 Thread Jose E. Marchesi
* config.sub: Import upstream version 2019-06-30. * config.guess: Import upstream version 2019-07-24. --- ChangeLog| 5 ++ config.guess | 264 +++ config.sub | 50 +-- 3 files changed, 240 insertions(+), 79 de

[PATCH 3/8] bpf: new libgcc port

2019-08-14 Thread Jose E. Marchesi
This patch adds an eBPF port to libgcc. As of today, compiled eBPF programs do not support a single-entry point schema. Instead, a BPF "executable" is a relocatable ELF object file containing multiple entry points, in certain named sections. Also, the BPF loaders in the kernel do not execute .in

[PATCH 8/8] bpf: add myself as the maintainer for the eBPF port

2019-08-14 Thread Jose E. Marchesi
ChangeLog: * MAINTAINERS: Add myself as the maintainer for the eBPF port. --- ChangeLog | 4 MAINTAINERS | 1 + 2 files changed, 5 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 912663c4497..cbd6f904944 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -57,6 +57,7 @@ arm p

[PATCH 5/8] bpf: make target-supports.exp aware of eBPF

2019-08-14 Thread Jose E. Marchesi
This patch makes the several effective target checks in target-supports.exp to be aware of eBPF targets. gcc/testsuite/ChangeLog: * lib/target-supports.exp (check_effective_target_malloc): New function. (check_effective_target_trampolines): Adapt to eBPF. (check_ef

[PATCH 4/8] bpf: gcc.target eBPF testsuite

2019-08-14 Thread Jose E. Marchesi
This patch adds a new testsuite to gcc.target, with eBPF specific tests. Tests are included for: - Target specific diagnostics. - All built-in functions. testsuite/ChangeLog: * gcc.target/bpf/bpf.exp: New file. * gcc.target/bpf/builtin-load.c: Likewise. * cc.target/bpf/co

[PATCH 7/8] bpf: manual updates for eBPF

2019-08-14 Thread Jose E. Marchesi
gcc/ChangeLog: * doc/invoke.texi (Option Summary): Cover eBPF. (eBPF Options): New section. * doc/extend.texi (BPF Built-in Functions): Likewise. (BPF Kernel Helpers): Likewise. --- gcc/ChangeLog | 7 +++ gcc/doc/extend.texi | 171 ++

[PATCH 6/8] bpf: adjust GCC testsuite to eBPF limitations

2019-08-14 Thread Jose E. Marchesi
This patch makes many tests in gcc.dg and gcc.c-torture to be skipped in bpf-*-* targets. This is due to the many limitations imposed by eBPF to what would be perfectly valid C code: no support for indirect calls, no support for more than 5 arguments to function calls, no support for indirect jump

[PATCH], Patch #2 of 10, Add RTL prefixed attribute

2019-08-14 Thread Michael Meissner
This patch adds the RTL attribute "prefixed" that says this particular instruction is a prefixed instruction. The target hooks FINAL_SCAN_INSN and ASM_OUTPUT_OPCODE are defined. If the insn is prefixed, ASM_OUTPUT_OPCODE will emit a leading 'p' before the instruction is emitted. For example, a l

[PATCH], Patch #3 of 10, Add prefixed addressing support

2019-08-14 Thread Michael Meissner
This patch adds prefixed memory support to all offsettable instructions. Unlike previous versions of the patch, this patch combines all of the modifications for addressing to one patch. Previously, I had 3 separate patches (one for PADDI, one for scalar types, and one for vector types). 2019-08-

[PATCH], Patch #4 of 10, Adjust costs based on insn sizes

2019-08-14 Thread Michael Meissner
Some of the cost functions in the PowerPC compiler uses the length of the instruction to factor in the costs. This patches adjusts this calculation so that prefixed instructions are treated as the same cost as non-prefixed instructions. I forgot to mention in the previous patchs, all 10 of the pa

Re: [PATCH 0/8] eBPF support for GCC

2019-08-14 Thread David Malcolm
On Wed, 2019-08-14 at 23:36 +0200, Jose E. Marchesi wrote: > Hi people! > [...] > The second patch adds the new GCC port proper. Machine description, > implementation of target hooks and macros, command-line options and > the like. Looks like [PATCH 2/8] didn't make it to the mailing list for

[PATCH], Patch #5 of 10, Make -mpcrel default for -mcpu=future

2019-08-14 Thread Michael Meissner
This patch changes the default for -mcpu=future to turn on pc-relative addressing by default. I have built each of the patches in turn on a little endian power8 system doing a bootstrap and make check. There were no regressions. Can I check this patch into the trunk once the previous patches are

Re: [PATCHv4] Fix not 8-byte aligned ldrd/strd on ARMv5 (PR 89544)

2019-08-14 Thread Bernd Edlinger
On 8/14/19 2:00 PM, Richard Biener wrote: > On Thu, 8 Aug 2019, Bernd Edlinger wrote: > >> On 8/2/19 9:01 PM, Bernd Edlinger wrote: >>> On 8/2/19 3:11 PM, Richard Biener wrote: On Tue, 30 Jul 2019, Bernd Edlinger wrote: > > I have no test coverage for the movmisalign optab though

[PATCH 2/8] bpf: new GCC port

2019-08-14 Thread Jose E. Marchesi
This patch adds a port for the Linux kernel eBPF architecture to GCC. ChangeLog: * configure.ac: Support for bpf-*-* targets. * configure: Regenerate. contrib/ChangeLog: * config-list.mk (LIST): Disable go in bpf-*-* targets. gcc/ChangeLog: * config.gcc: Support for bpf-*-* targets.

Re: [PATCH 0/8] eBPF support for GCC

2019-08-14 Thread Jose E. Marchesi
> The second patch adds the new GCC port proper. Machine description, > implementation of target hooks and macros, command-line options and > the like. Looks like [PATCH 2/8] didn't make it to the mailing list for some reason (maybe it exceeded a size limit?) Yeah the O

[PATCH], Patch #6 of 10, Add 'future' support to function attributes

2019-08-14 Thread Michael Meissner
This patch adds support for using cpu=future in the "target" function attribute, "target" pragma support, and "target_clones" function attributes. In addition, it adds support for the following arguments to __builtin_cpu_supports: "arch_3_1" Whether ISA 3.1 is supported by the machin

[PATCH], Patch #7 of 10, Add support for PCREL_OPT

2019-08-14 Thread Michael Meissner
This patch adds a new RTL pass that occurs before the final pass to implement the PCREL_OPT optimization that is implemented by the linker. Without this optimization, access to external symbols loads up the address from a .GOT section and does the normal operation. For example: extern un

[PATCH], Patch #8 of 10, Miscellaneous future tests

2019-08-14 Thread Michael Meissner
This patch adds miscellaneous tests for the new prefixed addressing. With patches 1-7 applied, these patches all succeed. Can I check these patches into the trunk? 2019-08-14 Michael Meissner * gcc/testsuite/gcc.target/powerpc/prefix-odd-memory.c: New test. * gcc/testsuite/gc

[PATCH], Patch #9 of 10, Add tests with large memory offsets

2019-08-14 Thread Michael Meissner
This patch adds tests for all of the types using large address offsets that would not fit into 16 bits, and verifies that prefixed instructions are generated. The tests in this patch all succeed when patches 1-7 are applied on a little endian power8 system. Can I check these patches into the tru

[PATCH], Patch #10 of 10, Add pc-relative tests

2019-08-14 Thread Michael Meissner
This patch adds tests to make sure the appropriate pc-relative instructions are generated for -mcpu=future. The tests in this patch all pass with patches 1-7 applied on a little endian power8 system running Linux. Once patches 1-7 have been applied, can I check these patches into the trunk? 2019

Re: [PATCH] i386: Expand roundeven for SSE4.1+

2019-08-14 Thread Joseph Myers
On Sun, 14 Jul 2019, Uros Bizjak wrote: > > This patch is for expanding roundeven inline for SSE4.1 and later. > > Note that this patch is to be applied on top of > > . The patch > > is bootstrapped and regression tested on x86_64-linux-gnu

Re: PowerPC 'future' patches introduction

2019-08-14 Thread Segher Boessenkool
Hi Mike, On Wed, Aug 14, 2019 at 04:57:32PM -0400, Michael Meissner wrote: > to the current location instead of a base register, giving pc-relative > addressing. Pc-relative addressing will be supported in the next ABI (3.1) as > an alternative to the current TOC based addressing. That's not an

Re: Patch to support extended characters in C/C++ identifiers

2019-08-14 Thread Jason Merrill
On 8/12/19 6:01 PM, Lewis Hyatt wrote: Hello- The attached patch for libcpp adds support for extended characters (e.g. UTF-8) in identifiers. A preliminary version of the patch was posted on PR c/67224 as Comment 26 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67224#c26) and discussed with Jose

PC-relative TLS support

2019-08-14 Thread Alan Modra
Supporting TLS for -mpcrel turns out to be relatively simple, in part due to deciding that !TARGET_TLS_MARKERS with -mpcrel is silly. No assembler that I know of supporting prefix insns lacks TLS marker support. Also, at some point powerpc gcc ought to remove !TARGET_TLS_MARKERS generally and sim

<    1   2