RE: [Patch][GCC][middle-end] - Generate FRINTZ for (double)(int) under -ffast-math on aarch64

2021-08-20 Thread Richard Biener via Gcc-patches
On Thu, 19 Aug 2021, Jirui Wu wrote: > Hi all, > > This patch generates FRINTZ instruction to optimize type casts. > > The changes in this patch covers: > * Generate FRINTZ for (double)(int) casts. > * Add new test cases. > > The intermediate type is not checked according to the C99 spec. > Ov

Re: [x86_64 PATCH] Tweak -Os costs for scalar-to-vector pass.

2021-08-20 Thread Richard Biener via Gcc-patches
On Thu, Aug 19, 2021 at 6:01 PM Roger Sayle wrote: > > > Doh! ENOPATCH. > > -Original Message- > From: Roger Sayle > Sent: 19 August 2021 16:59 > To: 'GCC Patches' > Subject: [x86_64 PATCH] Tweak -Os costs for scalar-to-vector pass. > > > Back in June I briefly mentioned in one of my gc

Re: [PATCH] libgfortran : Use the libtool macro to determine libm availability.

2021-08-20 Thread Richard Biener via Gcc-patches
On Thu, Aug 19, 2021 at 10:10 PM Iain Sandoe wrote: > > Hi, > > A while ago had a report of build failure against a Darwin branch on > the latest OS release. This was because (temporarily) the symlink > from libm.dylib => libSystem.dylib had been removed/omitted. > > libm is not needed on Darwin,

Re: [ping] Re-unify 'omp_build_component_ref' and 'oacc_build_component_ref'

2021-08-20 Thread Richard Biener via Gcc-patches
On Thu, Aug 19, 2021 at 10:14 PM Thomas Schwinge wrote: > > Hi! > > Richard, maybe you have an opinion here, in particular about my > "SLP vectorizer" comment below? Please see > <87r1f2puss.fsf@euler.schwinge.homeip.net">http://mid.mail-archive.com/87r1f2puss.fsf@euler.schwinge.homeip.net> > for

Re: [PATCH] libgfortran : Use the libtool macro to determine libm availability.

2021-08-20 Thread Tobias Burnus
On 20.08.21 09:34, Richard Biener via Fortran wrote: On Thu, Aug 19, 2021 at 10:10 PM Iain Sandoe wrote: libm is not needed on Darwin, and should not be added unconditionally even if that is (mostly) harmless since it is a symlink to libc. tested on x86_64, i686-darwin, x86_64-linux, OK for m

Re: [PATCH] libgfortran : Use the libtool macro to determine libm availability.

2021-08-20 Thread Iain Sandoe
> On 20 Aug 2021, at 08:52, Tobias Burnus wrote: > > On 20.08.21 09:34, Richard Biener via Fortran wrote: > >> On Thu, Aug 19, 2021 at 10:10 PM Iain Sandoe wrote: >>> libm is not needed on Darwin, and should not be added unconditionally >>> even if that is (mostly) harmless since it is a sym

[PATCH] gcov: fix output location for JSON mode.

2021-08-20 Thread Martin Liška
Hello. The patch adds support for -x and -p when being used with JSON output format. Apart from that, I utilized std::string mode in string building. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. I'm going to install the patch, Martin PR gcov-profile/89961 gcc/

Re: [PATCH] configure: Allow a host makefile fragment to override PIE flag settings.

2021-08-20 Thread Richard Sandiford via Gcc-patches
Iain Sandoe writes: > Hi, > > This concerns the settings of flags (using the host makefile fragment) for > tools that will run on the host. > > At present the (no)PIE flags are computed in gcc/configure but it is not > possible to override them (either from higher level Makefile or from the > comm

Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514

2021-08-20 Thread Jakub Jelinek via Gcc-patches
On Fri, Aug 20, 2021 at 08:48:57AM +0200, Harald Anlauf via Gcc-patches wrote: > Hi! > > > Gesendet: Freitag, 20. August 2021 um 02:21 Uhr > > Von: "H.J. Lu" > > > This may have broken bootstrap on 32-bit hosts: > > > > https://gcc.gnu.org/pipermail/gcc-regression/2021-August/075209.html > > I

Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514

2021-08-20 Thread Tobias Burnus
On 20.08.21 02:21, H.J. Lu wrote: This may have broken bootstrap on 32-bit hosts: https://gcc.gnu.org/pipermail/gcc-regression/2021-August/075209.html The latter has: ../../src-master/gcc/fortran/simplify.c:4557:22: error: unknown conversion type character ‘l’ in format [-Werror=format=] 455

[committed] openmp: Diagnose some superfluous commas in OpenMP parsing

2021-08-20 Thread Jakub Jelinek via Gcc-patches
Hi! While working on error directive, I've noticed a few spots in OpenMP parsing where we consume and don't diagnose superfluous commas at the end (either of depend sink arguments or at the end of requires pragma). Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk. 2021-0

Aw: Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514

2021-08-20 Thread Harald Anlauf via Gcc-patches
Hi Jakob, thanks for the detailed explanation! > The other much easier but uglier option is to use a temporary buffer: > char buffer[21]; > sprintf (buffer, HOST_WIDE_INT_PRINT_DEC, hwint_val); > gfc_error ("... %s ...", ... buffer ...); > This works, as it uses the host sprintf i.e. *print

[committed] openmp: Implement the error directive

2021-08-20 Thread Jakub Jelinek via Gcc-patches
Hi! This patch implements the error directive. Depending on clauses it is either a compile time diagnostics (in that case diagnosed right away) or runtime diagnostics (libgomp API call that diagnoses at runtime), and either fatal or warning (error or warning at compile time or fatal error vs. err

[Patch] Fortran: Add OpenMP's error directive (was: [committed] openmp: Implement the error directive)

2021-08-20 Thread Tobias Burnus
Hi Jakub, hi all, On 20.08.21 11:45, Jakub Jelinek wrote: This patch implements the error directive. Depending on clauses it is either a compile time diagnostics (in that case diagnosed right away) or runtime diagnostics (libgomp API call that diagnoses at runtime), The attached patch does li

Re: [Patch] Fortran: Add OpenMP's error directive (was: [committed] openmp: Implement the error directive)

2021-08-20 Thread Jakub Jelinek via Gcc-patches
On Fri, Aug 20, 2021 at 12:00:10PM +0200, Tobias Burnus wrote: > gcc/fortran/ChangeLog: > > * dump-parse-tree.c (show_omp_clauses): Handle 'at', 'severity' > and 'message' clauses. > (show_omp_node, show_code_node): Handle EXEC_OMP_ERROR. > * gfortran.h (gfc_statement): Add

Re: Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514

2021-08-20 Thread Jakub Jelinek via Gcc-patches
On Fri, Aug 20, 2021 at 11:45:33AM +0200, Harald Anlauf wrote: > Hi Jakob, > > thanks for the detailed explanation! > > > The other much easier but uglier option is to use a temporary buffer: > > char buffer[21]; > > sprintf (buffer, HOST_WIDE_INT_PRINT_DEC, hwint_val); > > gfc_error ("...

Re: [PATCH] configure: Allow a host makefile fragment to override PIE flag settings.

2021-08-20 Thread Iain Sandoe
Hi Richard, > On 20 Aug 2021, at 09:39, Richard Sandiford wrote: > > Iain Sandoe writes: >> This concerns the settings of flags (using the host makefile fragment) for >> tools that will run on the host. >> >> At present the (no)PIE flags are computed in gcc/configure but it is not >> possible

RE: [x86_64 PATCH] Tweak -Os costs for scalar-to-vector pass.

2021-08-20 Thread Roger Sayle
Hi Richard, Fortunately, it's (moderately) safe to mix COSTS_N_INSNS and COSTS_N_BYTES in the i386 backend. The average length of an x86_64 instruction in typical code is between 2 and 3 bytes, so the definition of N*4 for COSTS_N_INSNS(N) and N*2 for COSTS_N_BYTES(N) allows these be mixed, wit

Re: [PATCH] configure: Allow a host makefile fragment to override PIE flag settings.

2021-08-20 Thread Richard Sandiford via Gcc-patches
Iain Sandoe writes: > Hi Richard, >> Maybe it would be easier to have the makefile fragments determine >> something like CODE_MODEL_CFLAGS, which can be "-fPIC", "-mdynamic-no-pic", >> etc., and use: >> >> COMPILER += $(NO_PIE_CFLAGS) $(CODE_MODEL_CFLAGS) > > OK. I have misgivings about this - th

Re: [RFC] ldist: Recognize rawmemchr loop patterns

2021-08-20 Thread Richard Biener via Gcc-patches
On Fri, Jun 25, 2021 at 12:23 PM Stefan Schulze Frielinghaus wrote: > > On Wed, Jun 16, 2021 at 04:22:35PM +0200, Richard Biener wrote: > > On Mon, Jun 14, 2021 at 7:26 PM Stefan Schulze Frielinghaus > > wrote: > > > > > > On Thu, May 20, 2021 at 08:37:24PM +0200, Stefan Schulze Frielinghaus > >

[PATCH] Refactor BB splitting of DRs for SLP group analysis

2021-08-20 Thread Richard Biener via Gcc-patches
This uses the group_id computed to ensure DRs in different BBs do not get merged into a DR group. To achieve this we seed the group from the BB index when group_ids are not computed and we make sure to bump the group_id when advancing to the next BB for BB SLP analysis. This paves the way for rel

Aw: Re: Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514

2021-08-20 Thread Harald Anlauf via Gcc-patches
> Gesendet: Freitag, 20. August 2021 um 12:12 Uhr > Von: "Jakub Jelinek" > I have verified it fixes i686-linux bootstrap. > But the new testcase doesn't trigger any of those new errors, is something > else in the testsuite covering those or do you have some short snippet that > could verify the e

Re: Re: Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514

2021-08-20 Thread Jakub Jelinek via Gcc-patches
On Fri, Aug 20, 2021 at 12:53:33PM +0200, Harald Anlauf wrote: > > Gesendet: Freitag, 20. August 2021 um 12:12 Uhr > > Von: "Jakub Jelinek" > > > I have verified it fixes i686-linux bootstrap. > > But the new testcase doesn't trigger any of those new errors, is something > > else in the testsuite

[PATCH, committed] Fix bootstrap breakage caused by r12-3033 (PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514)

2021-08-20 Thread Harald Anlauf via Gcc-patches
Dear all, I've just pushed the fix for the bootstrap breakage as confirmed by Jakub. commit r12-3043-g12f22906d3c025e7edb60e3264dc9cd27a49e3e1 Author: Harald Anlauf Date: Fri Aug 20 13:38:00 2021 +0200 Fortran - use temporary char buffer for passing HOST_WIDE_INT to gfc_error gcc/fo

[Patch] c-format.c/Fortran: Support %wd / host-wide integer in gfc_error (Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514)

2021-08-20 Thread Tobias Burnus
On 20.08.21 11:16, Jakub Jelinek wrote: Now, the non-Fortran FE diagnostic code actually has %wd for this (w modifier like l modifier), which takes HOST_WIDE_INT/unsigned HOST_WIDE_INT argument and prints it. So, either you get through the hops to support that, unfortunately it isn't just addin

Re: [Patch] c-format.c/Fortran: Support %wd / host-wide integer in gfc_error (Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514)

2021-08-20 Thread Jakub Jelinek via Gcc-patches
On Fri, Aug 20, 2021 at 01:50:00PM +0200, Tobias Burnus wrote: > On 20.08.21 11:16, Jakub Jelinek wrote: > > > Now, the non-Fortran FE diagnostic code actually has %wd for this (w > > modifier like l modifier), which takes HOST_WIDE_INT/unsigned HOST_WIDE_INT > > argument and prints it. > > > > S

Re: Aw: Re: Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514

2021-08-20 Thread Tobias Burnus
On 20.08.21 12:53, Harald Anlauf wrote: I have verified it fixes i686-linux bootstrap. But the new testcase doesn't trigger any of those new errors, is something else in the testsuite covering those or do you have some short snippet that could verify the errors work properly? The testcase was d

[PATCH] ipa: add debug counter for IPA MODREF PTA

2021-08-20 Thread Martin Liška
Hi. We already have a IPA modref debug counter, but it's only used in tree-ssa-alias, which is only a part of what IPA modref does. I used the dbg counter in isolation of PR101949. Ready for master? gcc/ChangeLog: * dbgcnt.def (DEBUG_COUNTER): New counter. * gimple.c (gimple_

Aw: Re: Re: Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514

2021-08-20 Thread Harald Anlauf via Gcc-patches
> Gesendet: Freitag, 20. August 2021 um 14:01 Uhr > Von: "Tobias Burnus" > On 20.08.21 12:53, Harald Anlauf wrote: > > > I played with variations of the testcase by specifying illegal > > substring bounds, but all these cases were caught in a different > > spot with similar error messages. > > I

Re: [PATCH] enable ranger and caching in pass_waccess

2021-08-20 Thread Andrew MacLeod via Gcc-patches
On 8/19/21 7:09 PM, Martin Sebor via Gcc-patches wrote: The attached patch changes the new access warning pass to use the per-function ranger instance.  To do that it makes a number of the global static functions members of the pass (that involved moving one to a later point in the file, increasi

Re: [committed] openmp: Implement the error directive

2021-08-20 Thread Thomas Schwinge
Hi! On 2021-08-20T11:45:29+0200, Jakub Jelinek via Gcc-patches wrote: > --- libgomp/error.c.jj2021-08-19 12:53:44.693106618 +0200 > +++ libgomp/error.c 2021-08-19 17:58:55.633203432 +0200 > +void > +GOMP_warning (const char *msg, size_t msglen) > +{ > + if (msg && msglen == (size_t)

Re: [committed] openmp: Implement the error directive

2021-08-20 Thread Thomas Schwinge
Hi! On 2021-08-20T15:11:45+0200, I wrote: > On 2021-08-20T11:45:29+0200, Jakub Jelinek via Gcc-patches > wrote: >> --- libgomp/error.c.jj 2021-08-19 12:53:44.693106618 +0200 >> +++ libgomp/error.c 2021-08-19 17:58:55.633203432 +0200 > >> +void >> +GOMP_warning (const char *msg, size_t msg

Re: [committed] openmp: Implement the error directive

2021-08-20 Thread Jakub Jelinek via Gcc-patches
On Fri, Aug 20, 2021 at 03:11:45PM +0200, Thomas Schwinge wrote: > > --- libgomp/error.c.jj2021-08-19 12:53:44.693106618 +0200 > > +++ libgomp/error.c 2021-08-19 17:58:55.633203432 +0200 > > > +void > > +GOMP_warning (const char *msg, size_t msglen) > > +{ > > + if (msg && msglen == (si

Re: [Patch] c-format.c/Fortran: Support %wd / host-wide integer in gfc_error (Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514)

2021-08-20 Thread Tobias Burnus
On 20.08.21 13:56, Jakub Jelinek wrote: On Fri, Aug 20, 2021 at 01:50:00PM +0200, Tobias Burnus wrote: Comments? OK? LGTM (except that the last hunk won't apply anymore). Now applied as r12-3044; I have now changed it to %wd ... ... but as discussed in another email in the thread, I think t

Re: [Patch] c-format.c/Fortran: Support %wd / host-wide integer in gfc_error (Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514)

2021-08-20 Thread Jakub Jelinek via Gcc-patches
On Fri, Aug 20, 2021 at 03:47:54PM +0200, Tobias Burnus wrote: > On 20.08.21 13:56, Jakub Jelinek wrote: > > > On Fri, Aug 20, 2021 at 01:50:00PM +0200, Tobias Burnus wrote: > > > Comments? OK? > > LGTM (except that the last hunk won't apply anymore). > > Now applied as r12-3044; I have now chang

Re: [committed] openmp: Implement the error directive

2021-08-20 Thread Thomas Schwinge
Hi Jakub! On 2021-08-20T15:21:12+0200, Jakub Jelinek wrote: > On Fri, Aug 20, 2021 at 03:11:45PM +0200, Thomas Schwinge wrote: >> > --- libgomp/error.c.jj2021-08-19 12:53:44.693106618 +0200 >> > +++ libgomp/error.c 2021-08-19 17:58:55.633203432 +0200 >> >> > +void >> > +GOMP_warning (co

[committed] libstdc++: Skip filesystem tests that depend on permissions [PR90787]

2021-08-20 Thread Jonathan Wakely via Gcc-patches
Tests that depend on filesystem permissions FAIL if run on Windows or as root. Add a helper function to detect those cases, so the tests can skip those checks gracefully. Signed-off-by: Jonathan Wakely libstdc++-v3/ChangeLog: PR libstdc++/90787 * testsuite/27_io/filesystem/itera

Re: Aw: Re: Re: Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514

2021-08-20 Thread Tobias Burnus
Hi Harald, On 20.08.21 14:17, Harald Anlauf wrote: I can confirm this. – I think in order to reduce the clutter, the diagnostic probably should be removed. I am unable to prove that we will never that check. So how about: diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index eaabb

[PATCH] IPA: MODREF should skip EAF_* flags for indirect calls

2021-08-20 Thread Martin Liška
Hello. As showed in the PR, returning (EAF_NOCLOBBER | EAF_NOESCAPE) for an argument that is a function pointer is problematic. Doing such a function call is a clobber. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin PR 1019

Re: [PATCH] more warning code refactoring

2021-08-20 Thread Martin Sebor via Gcc-patches
On 8/19/21 7:38 PM, Kewen.Lin wrote: Hi Martin, on 2021/8/20 上午12:30, Martin Sebor wrote: On 8/19/21 9:03 AM, Martin Sebor wrote: On 8/18/21 11:56 PM, Kewen.Lin wrote: Hi David, on 2021/8/19 上午11:26, David Edelsohn via Gcc-patches wrote: Hi, Martin A few PowerPC-specific testcases started

Re: [ping] Re-unify 'omp_build_component_ref' and 'oacc_build_component_ref'

2021-08-20 Thread Jakub Jelinek via Gcc-patches
On Thu, Aug 19, 2021 at 10:13:56PM +0200, Thomas Schwinge wrote: > libgomp/ > * testsuite/libgomp.c/address-space-1.c: New file. > > Co-authored-by: Jakub Jelinek > --- > libgomp/testsuite/libgomp.c/address-space-1.c | 24 +++ > 1 file changed, 24 insertions(+) > cre

Re: [patch][version 6] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc

2021-08-20 Thread Qing Zhao via Gcc-patches
> On Aug 19, 2021, at 8:54 AM, Qing Zhao via Gcc-patches > wrote: > > Breakpoint 1, expand_DEFERRED_INIT (stmt=0x7fffe96ae348) at > ../../latest-gcc/gcc/internal-fn.c:3021 > 3021mark_addressable (lhs); > (gdb) call debug_tree(lhs) > type size >

Re: [PATCH] Try LTO partial linking. (Was: Speed of compiling gimple-match.c)

2021-08-20 Thread Martin Liška
On 8/16/21 3:58 PM, Martin Liška wrote: PING^2 @Honza: Can you please review the change? I've tested the patch and apparently it's not enough for {gimple,generic}-match.o not clashing in symbol names. Apparently there are more IPA clones that collide. Leaving that for now. Martin Martin

Re: [PATCH] Try LTO partial linking. (Was: Speed of compiling gimple-match.c)

2021-08-20 Thread Martin Liška
On 6/1/21 3:19 PM, Richard Biener wrote: On Tue, Jun 1, 2021 at 1:25 PM Martin Liška wrote: On 6/1/21 9:42 AM, Richard Biener wrote: On Tue, Jun 1, 2021 at 9:33 AM Martin Liška wrote: @Richi: Can you please reply to this email? Not sure what I should add here? Honza suggested to mangle

[committed] Further improvements to constant shifts on H8

2021-08-20 Thread Jeff Law via Gcc-patches
A few more shift-by-constant improvements on the H8. For H8/300H arithmetic right shift 15 bits, we'd conceptually like to use the shift-by-16 idiom where we move half-words around.  Of course that loses a bit.  But we can save away that bit into C, shift-by-16, sign-extend, then rotate throu

RE: [Patch][GCC][middle-end] - Generate FRINTZ for (double)(int) under -ffast-math on aarch64

2021-08-20 Thread Jirui Wu via Gcc-patches
> -Original Message- > From: Richard Biener > Sent: Friday, August 20, 2021 8:15 AM > To: Jirui Wu > Cc: Richard Biener ; Andrew Pinski > ; Richard Sandiford ; > i...@airs.com; gcc-patches@gcc.gnu.org; Joseph S. Myers > > Subject: RE: [Patch][GCC][middle-end] - Generate FRINTZ for (doubl

Re: [PATCH] analyzer: Fix PR analyzer/101980

2021-08-20 Thread David Malcolm via Gcc-patches
On Fri, 2021-08-20 at 21:55 +0530, Ankur Saini wrote: > The patch fixes the test failures introduced by : > > aef703cf982072427e74034f4c460a11c5e04b8e > 1b34248527472496ca3fe2a07183beac8cf69041 > > Thanks > - Ankur Thanks for fixing this. The patch looks OK, apart from some minor whitespace is

[PATCH] c++: error message for dependent template members [PR70417]

2021-08-20 Thread Anthony Sharp via Gcc-patches
Hi, hope everyone is well. I have a patch here for issue 70417 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70417). I'm still a GCC noob, and this is probably the hardest thing I have ever coded in my life, so please forgive any initial mistakes! TLDR This patch introduces a helpful error messag

[PATCH] mips: msa: truncate immediate shift amount [PR101922]

2021-08-20 Thread Xi Ruoyao via Gcc-patches
When -mloongson-mmi is enabled, SHIFT_COUNT_TRUNCATED is turned off. This causes untruncated immediate shift amount outputed into the asm, and the GNU assembler refuses to assemble it. Truncate immediate shift amount when outputing the asm instruction to make GAS happy again. gcc/ PR tar

[Patch] Fortran: Fix Bind(C) char-len check, add ptr-contiguous check

2021-08-20 Thread Tobias Burnus
The following is about interoperability (BIND(C)) only. * The patch adds a missing check for pointer + contiguous. (Rejected to avoid copy-in issues? Or checking issues?) * And it corrects an issue regarding len > 1 characters. While subroutine foo(x) character(len=2) :: x(*) is valid F

Re: [PATCH] mips: msa: truncate immediate shift amount [PR101922]

2021-08-20 Thread Xi Ruoyao via Gcc-patches
On Sat, 2021-08-21 at 01:07 +0800, Xi Ruoyao via Gcc-patches wrote: > When -mloongson-mmi is enabled, SHIFT_COUNT_TRUNCATED is turned off. > This causes untruncated immediate shift amount outputed into the asm, > and the GNU assembler refuses to assemble it. > > Truncate immediate shift amount whe

Re: [PATCH v2] rs6000: Avoid buffer overruns

2021-08-20 Thread Segher Boessenkool
Hi! On Thu, Aug 19, 2021 at 04:40:42PM -0500, Bill Schmidt wrote: > I totally biffed the previous version of this patch, as it was built > against an experimental tree instead of trunk. Trying again... > > Although safe_inc_pos avoids buffer overruns in rs6000-gen-builtins.c, > there are some ot

Re: [Patch v2] C, C++, Fortran, OpenMP: Add support for device-modifiers for 'omp target device'

2021-08-20 Thread Marcel Vollweiler
Hi Jakub, this is the second version of the patch for the device-modifiers for 'omp target device'. Am 20.07.2021 um 15:30 schrieb Jakub Jelinek: On Wed, Jul 07, 2021 at 07:59:58PM +0200, Marcel Vollweiler wrote: OpenMP: Add support for device-modifiers for 'omp target device' gcc/c/ChangeLog

[PATCH v2 3/6] rs6000: Simplify some SSE4.1 "test" intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Copy some simple redirections from i386 , for: - _mm_test_all_zeros - _mm_test_all_ones - _mm_test_mix_ones_zeros 2021-08-20 Paul A. Clarke gcc * config/rs6000/smmintrin.h (_mm_test_all_zeros, _mm_test_all_ones, _mm_test_mix_ones_zeros): Replace. --- v2: - Removed "-Wno-psabi"

[PATCH v2 5/6] rs6000: Support more SSE4.1 "cmp", "mul", "pack" intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Function signatures and decorations match gcc/config/i386/smmintrin.h. Also, copy tests for: - _mm_cmpeq_epi64, _mm_cmpgt_epi64 - _mm_mullo_epi32, _mm_mul_epi32 - _mm_packus_epi32 from gcc/testsuite/gcc.target/i386. 2021-08-20 Paul A. Clarke gcc * config/rs6000/smmintrin.h (_mm_cmpeq

[PATCH v2 0/6] rs6000: Support more SSE4.1 intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Tested ppc64le (POWER9) and ppc64/32 (POWER7). OK for trunk? Paul A. Clarke (6): rs6000: Support SSE4.1 "round" intrinsics rs6000: Support SSE4.1 "min" and "max" intrinsics rs6000: Simplify some SSE4.1 "test" intrinsics rs6000: Support SSE4.1 "cvt" intrinsics rs6000: Support more SSE4.1

[PATCH v2 2/6] rs6000: Support SSE4.1 "min" and "max" intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Function signatures and decorations match gcc/config/i386/smmintrin.h. Also, copy tests for _mm_min_epi8, _mm_min_epu16, _mm_min_epi32, _mm_min_epu32, _mm_max_epi8, _mm_max_epu16, _mm_max_epi32, _mm_max_epu32 from gcc/testsuite/gcc.target/i386. sse4_1-pmaxsb.c and sse4_1-pminsb.c were modified fr

[PATCH v2 4/6] rs6000: Support SSE4.1 "cvt" intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Function signatures and decorations match gcc/config/i386/smmintrin.h. Also, copy tests for: - _mm_cvtepi8_epi16, _mm_cvtepi8_epi32, _mm_cvtepi8_epi64 - _mm_cvtepi16_epi32, _mm_cvtepi16_epi64 - _mm_cvtepi32_epi64, - _mm_cvtepu8_epi16, _mm_cvtepu8_epi32, _mm_cvtepu8_epi64 - _mm_cvtepu16_epi32, _mm_

[PATCH v2 1/6] rs6000: Support SSE4.1 "round" intrinsics

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Suppress exceptions (when specified), by saving, manipulating, and restoring the FPSCR. Similarly, save, set, and restore the floating-point rounding mode when required. No attempt is made to optimize writing the FPSCR (by checking if the new value would be the same), other than using lighter wei

[PATCH v2 6/6] rs6000: Guard some x86 intrinsics implementations

2021-08-20 Thread Paul A. Clarke via Gcc-patches
Some compatibility implementations of x86 intrinsics include Power intrinsics which require POWER8. Guard them. emmintrin.h: - _mm_cmpord_pd: Remove code which was ostensibly for pre-POWER8, but which indeed depended on POWER8 (vec_cmpgt(v2du)/vcmpgtud). The "POWER8" version works fine on pre

Re: [PATCH] PR fortran/100950 - ICE in output_constructor_regular_field, at varasm.c:5514

2021-08-20 Thread Harald Anlauf via Gcc-patches
Hi Tobias, > LGTM – I am fine with either variant, but I am slightly inclined to > removing the gcc_assert* > – as I believe that the existing checks come early enough and do seem to > work well. I played some more and found additional cases that we hadn't discussed before. (At least I hadn't th

RE: [x86_64 PATCH] Tweak -Os costs for scalar-to-vector pass.

2021-08-20 Thread Roger Sayle
Hi Richard, Benchmarking this patch using CSiBE on x86_64-pc-linux-gnu with -Os -m32 saves 2432 bytes. Of the 893 tests, 34 have size differences, 30 are improvements, 4 are regressions (of a few bytes). > Also I'm missing a 'else' - in the default case there's no cost/benefit of > using SSE

[PATCH] libstdc++: Fix compare_three_way for constexpr and Clang

2021-08-20 Thread Paul Keir via Gcc-patches
Hi, The current compare_three_way implementation makes provision for constant evaluation contexts (avoiding reinterpret_cast etc.), but the approach fails with Clang; when it compares two const volatile void pointers: "comparison between unequal pointers to void has unspecified result". I inclu

Re: [PATCH 0/4] drop version checks for in-tree gas [PR91602]

2021-08-20 Thread Serge Belyshev via Gcc-patches
Jeff Law writes: > This set is approved.    Push them to the trunk when it's convenient > for you. > > Thanks for your patience, Thanks! Committed as r12-3047 .. r12-3050.

Re: [PATCH] enable ranger and caching in pass_waccess

2021-08-20 Thread Martin Sebor via Gcc-patches
On 8/20/21 7:09 AM, Andrew MacLeod wrote: On 8/19/21 7:09 PM, Martin Sebor via Gcc-patches wrote: The attached patch changes the new access warning pass to use the per-function ranger instance.  To do that it makes a number of the global static functions members of the pass (that involved moving

Re: [PATCH] Fix tests that require IBM 128-bit long double

2021-08-20 Thread Segher Boessenkool
On Fri, Aug 13, 2021 at 12:09:24AM -0400, Michael Meissner wrote: > This patch adds 3 more selections to target-supports.exp to see if we can > specify to use a particular long double format (IEEE 128-bit, IBM extended > double, 64-bit), and the library support will track the changes for the long >

Re: [committed] openmp: Implement the error directive

2021-08-20 Thread Thomas Schwinge
Hi! On 2021-08-20T15:54:34+0200, I wrote: > On 2021-08-20T15:21:12+0200, Jakub Jelinek wrote: >> On Fri, Aug 20, 2021 at 03:11:45PM +0200, Thomas Schwinge wrote: >>> > --- libgomp/error.c.jj2021-08-19 12:53:44.693106618 +0200 >>> > +++ libgomp/error.c 2021-08-19 17:58:55.633203432 +0200

fix latent bootstrap-debug issue (modref, tree-inline, tree jump-threading)

2021-08-20 Thread Alexandre Oliva
I've hit a bootstrap-debug error involving large subprograms in gcc/ada/sem_ch12.adb. I'm afraid I couldn't narrow it down to a reasonable testcase. thread1 made different decisions about a block containing a builtin_eh_filter call because in one compilation, estimate_num_insns found a cgraph_n

[PATCH] c++: Fix cp_tree_equal for template value args using dependent sizeof/alignof/noexcept expressions

2021-08-20 Thread Barrett Adair via Gcc-patches
This patch fixes AST comparison for trailing return types using dependent sizeof/alignof/noexcept expressions as template value arguments. I believe this bug is over a decade old, hailing from GCC 4.6. I found it over 5 years ago and sat on the repro until I had time to fix it myself. The new test

Re: [committed] openmp: Implement the error directive

2021-08-20 Thread Jakub Jelinek via Gcc-patches
On Sat, Aug 21, 2021 at 12:21:41AM +0200, Thomas Schwinge wrote: > Fix up for recent commit 0d973c0a0d90a0a302e7eda1a4d9709be3c5b102 > "openmp: Implement the error directive". > --- > libgomp/config/nvptx/error.c | 32 +-- > .../testsuite/libgomp.c-c++-common/error