Re: [PATCH v2 0/5] RISC-V big endian support

2021-02-23 Thread Kito Cheng via Gcc-patches
Hi Marcus: I just spend some time on those two testcase, I think this those two testcase could just skip in big-endinan. > FAIL: gcc.target/riscv/shift-and-1.c scan-assembler-not andi > FAIL: gcc.target/riscv/shift-and-2.c scan-assembler-not andi However seems like rv32be has still has some

Re: PR 96391? Can we fix it for gcc11?

2021-02-23 Thread Richard Biener
On Tue, 23 Feb 2021, Qing Zhao wrote: > Hi, Richard, > > > On Feb 9, 2021, at 11:36 AM, Richard Biener wrote: > > > > On Tue, 9 Feb 2021, Qing Zhao wrote: > >> > >> Yes, I understand that without a working testing case to repeat the error, > >> it’s very hard to debug and fix the issue. >

[PATCH v2] rs6000: Convert the vector element register to SImode [PR98914]

2021-02-23 Thread Xionghu Luo via Gcc-patches
vec_insert defines the element argument type to be signed int by ELFv2 ABI, When expanding a vector with a variable rtx, convert the rtx type SImode. gcc/ChangeLog: 2021-02-24 Xionghu Luo PR target/98914 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Convert

Re: [PATCH] rs6000: Fix MMA API - Add support for compatibility built-ins

2021-02-23 Thread Peter Bergner via Gcc-patches
On 2/23/21 4:53 PM, Segher Boessenkool wrote: > Hi! > > On Tue, Feb 23, 2021 at 04:00:42PM -0600, Peter Bergner wrote: >> (mma_assemble_pair): Add compatibility built-in. > s/Add/New/ is better (it makes clear you do not add something to the > (already existing) mma_assemble_pair, that it is

Re: PING [PATCH] avoid -Warray-bounds checks for vtable assignments (PR 98266)

2021-02-23 Thread Martin Sebor via Gcc-patches
On 2/23/21 2:52 PM, Jason Merrill wrote: On 2/23/21 11:02 AM, Martin Sebor wrote: [CC Jason for any further comments/clarification] On 2/9/21 10:49 AM, Martin Sebor wrote: On 2/8/21 4:11 PM, Jeff Law wrote: On 2/8/21 3:44 PM, Martin Sebor wrote: On 2/8/21 3:26 PM, Jeff Law wrote: On

Re: [PATCH, rs6000] Rename variable for clarity

2021-02-23 Thread Segher Boessenkool
Hi! On Tue, Feb 23, 2021 at 04:12:42PM -0600, Pat Haugen wrote: > gcc/ > * config/rs6000/rs6000.c (next_insn_prefixed_p): Rename. > (rs6000_final_prescan_insn): Adjust. > (rs6000_asm_output_opcode): Likewise. Excellent. Okay for trunk and 10. Thank you! Segher

Re: [PATCH] rs6000: Fix MMA API - Add support for compatibility built-ins

2021-02-23 Thread Segher Boessenkool
Hi! On Tue, Feb 23, 2021 at 04:00:42PM -0600, Peter Bergner wrote: > (mma_assemble_pair): Add compatibility built-in. s/Add/New/ is better (it makes clear you do not add something to the (already existing) mma_assemble_pair, that it is in fact new here). > (mma_init_builtins): USE

Re: [PATCH] doc: c: c++: Document the C/C++ extended asm empty input constraints

2021-02-23 Thread Segher Boessenkool
Hi! On Tue, Feb 23, 2021 at 12:05:34AM +, Neven Sajko wrote: > On Mon, 22 Feb 2021 at 16:30, Segher Boessenkool > wrote: > > On Mon, Feb 15, 2021 at 11:22:52PM +, Neven Sajko via Gcc-patches wrote: > > > There is a long-standing, but undocumented GCC inline assembly feature > > > that's

Re: [PATCH 4/4] libstdc++: More efficient last day of month.

2021-02-23 Thread Matthias Kretz
I like the idea. On Dienstag, 23. Februar 2021 14:25:10 CET Cassio Neri via Libstdc++ wrote: > ((__m ^ (__m >> 3)) & 1) | 30 Note that you can drop the `& 1` part. 30 in binary is 0b0. ORing with a value in [0, 0b01101] will only toggle the last bit. --

[PATCH, rs6000] Rename variable for clarity

2021-02-23 Thread Pat Haugen via Gcc-patches
Rename next_insn_prefixed_p for improved clarity. Bootstrap/regtest on powerpc64le with no new regressions. Ok for trunk? -Pat 2021-02-22 Pat Haugen gcc/ * config/rs6000/rs6000.c (next_insn_prefixed_p): Rename. (rs6000_final_prescan_insn): Adjust.

Re: [PATCH] rs6000: Fix MMA API - Add support for compatibility built-ins

2021-02-23 Thread Peter Bergner via Gcc-patches
On 2/5/21 12:28 PM, Segher Boessenkool wrote: > On Fri, Feb 05, 2021 at 04:11:30PM +0100, Florian Weimer wrote: >> * Peter Bergner: >>> On 2/5/21 4:28 AM, Florian Weimer wrote: Maybe add a check that the compatibility builtins are flagged as availble using __has_builtin? >>> >>> Do you

[PATCH] [libstdc++] Refactor/cleanup of atomic wait implementation

2021-02-23 Thread Thomas Rodgers
From: Thomas Rodgers * This revises the previous version to fix std::__condvar::wait_until() usage. This is a substantial rewrite of the atomic wait/notify (and timed wait counterparts) implementation. The previous __platform_wait looped on EINTR however this behavior is not required by the

Re: [WIP] Re: [PATCH] openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738]

2021-02-23 Thread Jakub Jelinek via Gcc-patches
On Tue, Feb 23, 2021 at 09:43:51PM +, Kwok Cheung Yeung wrote: > On 19/02/2021 7:12 pm, Kwok Cheung Yeung wrote: > > I have included the current state of my patch. All task-detach-* tests > > pass when executed without offloading or with offloading to GCN, but > > with offloading to Nvidia,

Re: PING [PATCH] avoid -Warray-bounds checks for vtable assignments (PR 98266)

2021-02-23 Thread Jason Merrill via Gcc-patches
On 2/23/21 11:02 AM, Martin Sebor wrote: [CC Jason for any further comments/clarification] On 2/9/21 10:49 AM, Martin Sebor wrote: On 2/8/21 4:11 PM, Jeff Law wrote: On 2/8/21 3:44 PM, Martin Sebor wrote: On 2/8/21 3:26 PM, Jeff Law wrote: On 2/8/21 2:56 PM, Martin Sebor wrote: On

[PATCH] PR libfortran/99218 - [8/9/10/11 Regression] matmul on temporary array accesses invalid memory

2021-02-23 Thread Harald Anlauf via Gcc-patches
Dear all, under certain circumstances a call to MATMUL for rank-2 times rank-1 would invoke a highly tuned rank-2 times rank-2 algorithm which could lead to invalid reads and writes. The solution is to check the rank of the second argument to matmul and fall back to a regular algorithm for

Re: [WIP] Re: [PATCH] openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738]

2021-02-23 Thread Kwok Cheung Yeung
On 19/02/2021 7:12 pm, Kwok Cheung Yeung wrote: I have included the current state of my patch. All task-detach-* tests pass when executed without offloading or with offloading to GCN, but with offloading to Nvidia, task-detach-6.* hangs consistently but everything else passes (probably because

Re: [PATCH] handle bad __dynamic_cast more gracefully (PR 99074)

2021-02-23 Thread Martin Sebor via Gcc-patches
On 2/22/21 7:03 PM, Jason Merrill wrote: On 2/22/21 8:00 PM, Martin Sebor wrote: On 2/22/21 4:08 PM, Jason Merrill wrote: On 2/13/21 7:31 PM, Martin Sebor wrote: The test case in PR 99074 invokes dynamic_cast with the this pointer in a non-static member function called on a null pointer.  The

Re: [PATCH, constexpr, coroutines ] Generic lambda coroutines cannot be constexpr [PR96251].

2021-02-23 Thread Jason Merrill via Gcc-patches
On 2/23/21 8:20 AM, Iain Sandoe wrote: Hi Jason, Jason Merrill wrote: On 2/22/21 3:59 PM, Iain Sandoe wrote: * I was not able to see any way in which the instantiation process could be made to bail in this case and re-try for non-constexpr. Many of the other places that set

Re: add rv64im{,c,fc} multilibs

2021-02-23 Thread Jim Wilson
On Tue, Feb 23, 2021 at 2:17 AM Alexandre Oliva wrote: > I take your response as confirming my expectation that the defaults are > to remain unchanged for now, and I will thus proceed under this > assumption. > If we add default multilibs for you, then to be fair, we need to add default

[PATCH] clear more front end VLA bounds from IL (PR 97172)

2021-02-23 Thread Martin Sebor via Gcc-patches
Adding attribute access to declarations of functions that take VLA arguments relies on the front end adding attribute "arg spec" to each VLA parameter. Like the VLA bounds in attribute access, the same VLA bounds in attribute "arg spec" can cause trouble during LTO streaming which expects front

[PATCH]middle-end slp: fix accidental resource re-use of slp_tree (PR99220)

2021-02-23 Thread Tamar Christina via Gcc-patches
Hi Richi, The attached testcase shows a bug where two nodes end up with the same pointer. During the loop that analyzes all the instances in optimize_load_redistribution_1 we do if (value) { SLP_TREE_REF_COUNT (value)++; SLP_TREE_CHILDREN (root)[i] = value;

Re: [Patch, fortran] PR99124 - [9/10/11 Regression] ICE in gfc_get_class_from_expr, at fortran/trans-expr.c:541

2021-02-23 Thread Tobias Burnus
Hi Paul, On 23.02.21 18:39, Paul Richard Thomas via Fortran wrote: Can you elaborate? The polymorphic result must be allocatable or pointer for the dynamic type to be transmitted. This means that the function cannot be elemental. If the result of the non-elemental function is an array, gfc

Re: [Patch, fortran] PR99124 - [9/10/11 Regression] ICE in gfc_get_class_from_expr, at fortran/trans-expr.c:541

2021-02-23 Thread Paul Richard Thomas via Gcc-patches
Hi Tobias, → Can you add also a testcase that which triggers the error message you > see in the unpatched class_assign_4.f90? > > I was unable to find a way to use a typebound operator with a polymorphic > > result > I am confused – the attach testcase does seem to work fine with current >

arm: Fix CMSE support detection in libgcc (PR target/99157)

2021-02-23 Thread Christophe Lyon via Gcc-patches
As discussed in the PR, the Makefile fragment lacks a double '$' to get the return-code from GCC invocation, resulting is CMSE support missing from multilibs. I checked that the simple patch proposed in the PR fixes the problem. 2021-02-23 Christophe Lyon Hau Hsu PR target/99157 libgcc/ *

[PATCH 3/3] Force IBM long double for conversion test on PowerPC.

2021-02-23 Thread Michael Meissner via Gcc-patches
[PATCH 3/3] Force IBM long double for conversion test on PowerPC. The test c-c++-common/dfp/convert-bfp-11.c explicit expects long double to use the IBM 128-bit extended double format. In particular, some of the tests expect an infinity to be created if decimal values that are converted that are

[PATCH 2/3] Force long double to be IBM 128-bit on PowerPC test, PR target/70117

2021-02-23 Thread Michael Meissner via Gcc-patches
[PATCH 2/3] Force long double to be IBM 128-bit on PowerPC test, PR target/70117. This patch fixes the pr70117 test to use IBM 128-bit long double. I have run tests on a little endian power9 system with 3 compilers. There were no regressions with these patches, and the two tests in the

[PATCH 1/3] Add long double target-supports on PowerPC.

2021-02-23 Thread Michael Meissner via Gcc-patches
[PATCH 1/3] Add long double target-supports on PowerPC. This patch add several more selections to target-supports.exp: * 3 selections for the current long double format; * 3 selections if we can change the long double format to a particular value. * 3 functions to

Re: [PATCH 1/3] PowerPC: Add long double target-supports.

2021-02-23 Thread Michael Meissner via Gcc-patches
On Fri, Jan 15, 2021 at 06:16:43PM +, Joseph Myers wrote: > On Thu, 14 Jan 2021, Michael Meissner via Gcc-patches wrote: > > > +return [check_runtime_nocache ppc_long_double_ovveride_ibm128 { > > > +return [check_runtime_nocache ppc_long_double_ovveride_ieee128 { > > > +return

[PATCH, 0 of 3], Fix PowerPC test suite for IEEE 128-bit long double

2021-02-23 Thread Michael Meissner via Gcc-patches
As I mentioned in the patch for adding _Float128 <-> Decimal conversions, there are two test cases that fail if you configure the compiler to use IEEE 128-bit long double or 64-bit long double. That is because these tests are explicitly testing that the long double is a pair of doubles (i.e. IBM

Re: [PATCH 1/2] libstdc++: Robustify long double std::to_chars testcase [PR98384]

2021-02-23 Thread Patrick Palka via Gcc-patches
On Mon, 22 Feb 2021, Patrick Palka wrote: > This makes the hexadecimal section of the long double std::to_chars > testcase more robust by avoiding false-negative FAILs due to printf > using a different leading hex digit than us, and by additionally > verifying the correctness of the hexadecimal

PING [PATCH] avoid -Warray-bounds checks for vtable assignments (PR 98266)

2021-02-23 Thread Martin Sebor via Gcc-patches
[CC Jason for any further comments/clarification] On 2/9/21 10:49 AM, Martin Sebor wrote: On 2/8/21 4:11 PM, Jeff Law wrote: On 2/8/21 3:44 PM, Martin Sebor wrote: On 2/8/21 3:26 PM, Jeff Law wrote: On 2/8/21 2:56 PM, Martin Sebor wrote: On 2/8/21 12:59 PM, Jeff Law wrote: On 1/19/21

[PATCH] libstdc++: Update baseline symbols for {aarch64,ia64,m68k,riscv64}-linux

2021-02-23 Thread Andreas Schwab
libstdc++-v3/ * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:

c++: typedef for linkage [PR 99208]

2021-02-23 Thread Nathan Sidwell
Unnamed types with a typedef name for linkage were always troublesome in modules. This is the underlying cause of that trouble -- we were creating incorrect type structures. Classes have an implicit self-reference, and we created that for unnamed classes too. It turns out we make use of

Re: PR 96391? Can we fix it for gcc11?

2021-02-23 Thread Qing Zhao via Gcc-patches
Hi, Richard, > On Feb 9, 2021, at 11:36 AM, Richard Biener wrote: > > On Tue, 9 Feb 2021, Qing Zhao wrote: >> >> Yes, I understand that without a working testing case to repeat the error, >> it’s very hard to debug and fix the issue. >> >> However, providing a testing case for this bug is

Re: [PATCH] IPA ICF + ASAN: do not merge vars with different alignment

2021-02-23 Thread Martin Liška
On 2/23/21 3:55 PM, Richard Biener wrote: On Tue, Feb 23, 2021 at 3:41 PM Martin Liška wrote: On 2/23/21 3:32 PM, Richard Biener wrote: On Tue, Feb 23, 2021 at 3:22 PM Martin Liška wrote: On 2/23/21 12:56 PM, Richard Biener wrote: Can't we fix the asan runtime? Does the same issue

Re: [PATCH] IPA ICF + ASAN: do not merge vars with different alignment

2021-02-23 Thread Richard Biener via Gcc-patches
On Tue, Feb 23, 2021 at 3:41 PM Martin Liška wrote: > > On 2/23/21 3:32 PM, Richard Biener wrote: > > On Tue, Feb 23, 2021 at 3:22 PM Martin Liška wrote: > >> > >> On 2/23/21 12:56 PM, Richard Biener wrote: > >>> Can't we fix the asan runtime? Does the same issue happen when merging > >>> two

Re: [PATCH] IPA ICF + ASAN: do not merge vars with different alignment

2021-02-23 Thread Martin Liška
On 2/23/21 3:32 PM, Richard Biener wrote: On Tue, Feb 23, 2021 at 3:22 PM Martin Liška wrote: On 2/23/21 12:56 PM, Richard Biener wrote: Can't we fix the asan runtime? Does the same issue happen when merging two comdat with different alignment and LTO? All right, there's a detail

Re: [PATCH] IPA ICF + ASAN: do not merge vars with different alignment

2021-02-23 Thread Richard Biener via Gcc-patches
On Tue, Feb 23, 2021 at 3:22 PM Martin Liška wrote: > > On 2/23/21 12:56 PM, Richard Biener wrote: > > Can't we fix the asan runtime? Does the same issue happen when merging > > two comdat with different alignment and LTO? > > All right, there's a detail explanation what happens. > Let's

Re: [PATCH] IPA ICF + ASAN: do not merge vars with different alignment

2021-02-23 Thread Martin Liška
On 2/23/21 12:56 PM, Richard Biener wrote: Can't we fix the asan runtime? Does the same issue happen when merging two comdat with different alignment and LTO? All right, there's a detail explanation what happens. Let's consider the following example: struct my_struct { unsigned long

[PATCH 4/4] libstdc++: More efficient last day of month.

2021-02-23 Thread Cassio Neri via Gcc-patches
This patch reimplements std::chrono::year_month_day_last:day() which yields the last day of a particular month. The current implementation uses a look-up table implemented as an unsigned[12] array. The new implementation instead is based on the fact that a month m in [1, 12], except for m == 2

[PATCH 3/4] libstdc++: More efficient is_leap.

2021-02-23 Thread Cassio Neri via Gcc-patches
This patch reimplements std::chrono::year::is_leap(). Leap year check is ubiquitously implemented (including here) as: y % 4 == 0 && (y % 100 != 0 || y % 400 == 0). The rationale being that testing divisibility by 4 first implies an earlier return for 75% of the cases, therefore, avoiding

[PATCH 2/4] libstdc++: More efficient days from date.

2021-02-23 Thread Cassio Neri via Gcc-patches
This patch reimplements std::chrono::year_month_day::_M_days_since_epoch() which calculates the number of elapsed days since 1970/01/01. The new implementation is based on Proposition 6.2 of Neri and Schneider, "Euclidean Affine Functions and Applications to Calendar Algorithms" available at

[PATCH 1/4] libstdc++: More efficient date from days.

2021-02-23 Thread Cassio Neri via Gcc-patches
This patch reimplements std::chrono::year_month_day::_S_from_days() which retrieves a date from the number of elapsed days since 1970/01/01. The new implementation is based on Proposition 6.3 of Neri and Schneider, "Euclidean Affine Functions and Applications to Calendar Algorithms" available at

Re: [PATCH, constexpr, coroutines ] Generic lambda coroutines cannot be constexpr [PR96251].

2021-02-23 Thread Iain Sandoe
Hi Jason, Jason Merrill wrote: > On 2/22/21 3:59 PM, Iain Sandoe wrote: >> * I was not able to see any way in which the instantiation process >> could be made to bail in this case and re-try for non-constexpr. > > Many of the other places that set cp_function_chain->invalid_constexpr >

Re: [Patch, fortran] PR99124 - [9/10/11 Regression] ICE in gfc_get_class_from_expr, at fortran/trans-expr.c:541

2021-02-23 Thread Tobias Burnus
Hi Paul, On 23.02.21 12:52, Paul Richard Thomas via Gcc-patches wrote: This is a straightforward fix that had the side-effect of uncovering an invalid testcase, class_assign_4.f90. I had worked up a new test, based on the one in the PR, and found that another brand determined that it is invalid

Re: [PATCH] IPA ICF + ASAN: do not merge vars with different alignment

2021-02-23 Thread Richard Biener via Gcc-patches
On Tue, Feb 23, 2021 at 10:42 AM Martin Liška wrote: > > Hello. > > The patch is about confusion that brings ICF when it merged 2 variables > with different alignments (when ASAN is used). > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? Can't

[Patch, fortran] PR99124 - [9/10/11 Regression] ICE in gfc_get_class_from_expr, at fortran/trans-expr.c:541

2021-02-23 Thread Paul Richard Thomas via Gcc-patches
Hi All, This is a straightforward fix that had the side-effect of uncovering an invalid testcase, class_assign_4.f90. I had worked up a new test, based on the one in the PR, and found that another brand determined that it is invalid according to F2018, C15100. I was unable to find a way to use a

Re: [PATCH v3 2/2] ada: add 128bit operation to MIPS N32 and N64

2021-02-23 Thread Arnaud Charlet
>>> I did generate the ChangeLog by contrib/mklog.py by: >>> contrib/mklog.py 0002_MY_PATCH.patch >>> and get an empty ChangeLog template. >>> >>> gcc/ada/ChangeLog: >>> >>>* ChangeLog: >>>* Makefile.rtl: >>> >>> So, should I keep it as is? >> >> The ChangeLog file is

Re: add rv64im{,c,fc} multilibs

2021-02-23 Thread Alexandre Oliva
On Feb 23, 2021, Kito Cheng wrote: > We've added a new configure option to allow you to override that > without changing source code. Ah, nice, thanks! I'll add a note on our internal patch to switch to that when we switch to GCC 11. I take your response as confirming my expectation that the

[PATCH][pushed] Fix UBSAN in __ubsan::Value::getSIntValue

2021-02-23 Thread Martin Liška
The patch is LLVM backport. Applied to master. /home/marxin/Programming/gcc2/libsanitizer/ubsan/ubsan_value.cpp:77:25: runtime error: left shift of 0xfffb by 96 places cannot be represented in type '__int128' #0 0x7754edfe in __ubsan::Value::getSIntValue()

[PATCH v4 2/2] MIPS: add builtime option for -mcompact-branches

2021-02-23 Thread YunQiang Su
For R6+ target, it allows to configure gcc to use compact branches only. gcc/ChangeLog: * config.gcc: add -with-compact-branches=policy build option. * doc/install.texi: Likewise. --- gcc/config.gcc | 12 +++- gcc/doc/install.texi | 19 +++ 2 files

[PATCH v4 1/2] MIPS: Not trigger error for pre-R6 and -mcompact-branches=always

2021-02-23 Thread YunQiang Su
For MIPSr6, we may wish to use compact-branches only. Currently, we have to use `always' option, while it is mark as conflict with pre-R6. cc1: error: unsupported combination: ‘mips32r2’ -mcompact-branches=always Just ignore -mcompact-branches=always for pre-R6. This patch also defines

[PATCH v4 2/2] ada: add 128bit operation for MIPS N32 and N64

2021-02-23 Thread YunQiang Su
For MIPS N64 and N32: add GNATRTL_128BIT_PAIRS to LIBGNAT_TARGET_PAIRS add GNATRTL_128BIT_OBJS to EXTRA_GNATRTL_NONTASKING_OBJS gcc/ada/ChangeLog: PR ada/98996 * Makefile.rtl: add 128Bit operation file for MIPS N64 and N32 to LIBGNAT_TARGET_PAIRS and

[PATCH v4 1/2] MIPS: unaligned load: use SImode for SUBREG if OK (PR98996)

2021-02-23 Thread YunQiang Su
It is found by ada s-pack96.adb ftbfs, due to 96bit load: 96 = 64 + 32. While the 32bit pair of l r is mark as SUBREG, so they are not in SImode, make it fail to find suitable insn. gcc/ChangeLog: PR target/98996 * config/mips/mips.c (mips_expand_ext_as_unaligned_load):

Re: [PATCH v3 2/2] ada: add 128bit operation to MIPS N32 and N64

2021-02-23 Thread YunQiang Su via Gcc-patches
Arnaud Charlet 于2021年2月23日周二 下午5:33写道: > > > > > For MIPS N64 and N32: > > > > add GNATRTL_128BIT_PAIRS to LIBGNAT_TARGET_PAIRS > > > > add GNATRTL_128BIT_OBJS to EXTRA_GNATRTL_NONTASKING_OBJS > > > > > > > > gcc/ada/ChangeLog: > > > > PR ada/98996 > > > > * Makefile.rtl: add

Re: [gcc-12 PATCH] ira: Correct HONOR_REG_ALLOC_ORDER usage

2021-02-23 Thread Uros Bizjak via Gcc-patches
On Tue, Feb 23, 2021 at 8:48 AM Richard Biener wrote: > > On Mon, 22 Feb 2021, Uros Bizjak wrote: > > > The intention of HONOR_REG_ALLOC_ORDER is to ensure that IRA allocates > > registers in the order given by REG_ALLOC_ORDER. However in > > ira_better_spill_reload_regno_p, there is still a

Re: [PATCH v3 2/2] ada: add 128bit operation to MIPS N32 and N64

2021-02-23 Thread Arnaud Charlet
> > > For MIPS N64 and N32: > > > add GNATRTL_128BIT_PAIRS to LIBGNAT_TARGET_PAIRS > > > add GNATRTL_128BIT_OBJS to EXTRA_GNATRTL_NONTASKING_OBJS > > > > > > gcc/ada/ChangeLog: > > > PR ada/98996 > > > * Makefile.rtl: add 128Bit operation file to MIPS > > > N64 and N32

Re: [PATCH v3 2/2] ada: add 128bit operation to MIPS N32 and N64

2021-02-23 Thread YunQiang Su via Gcc-patches
Arnaud Charlet 于2021年2月23日周二 下午5:07写道: > > > For MIPS N64 and N32: > > add GNATRTL_128BIT_PAIRS to LIBGNAT_TARGET_PAIRS > > add GNATRTL_128BIT_OBJS to EXTRA_GNATRTL_NONTASKING_OBJS > > > > gcc/ada/ChangeLog: > > PR ada/98996 > > * Makefile.rtl: add 128Bit operation file to MIPS >

Re: [PATCH] config.sub, config.guess : Import upstream 2021-01-25.

2021-02-23 Thread Kito Cheng via Gcc-patches
Committed, thanks! On Tue, Feb 23, 2021 at 4:18 PM Richard Biener wrote: > > On Tue, 23 Feb 2021, Kito Cheng wrote: > > > Hi > > > > Does it update config.sub and config.guess, I know it's already > > stage 4, but the config.* stuff update should be harmless things, > > and we need this for

Re: add rv64im{,c,fc} multilibs

2021-02-23 Thread Kito Cheng via Gcc-patches
Hi Alexandre: We've added a new configure option to allow you to override that without changing source code. For example:

[PATCH] IPA ICF + ASAN: do not merge vars with different alignment

2021-02-23 Thread Martin Liška
Hello. The patch is about confusion that brings ICF when it merged 2 variables with different alignments (when ASAN is used). Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog: PR sanitizer/99168 *

Re: [PATCH v3 2/2] ada: add 128bit operation to MIPS N32 and N64

2021-02-23 Thread Arnaud Charlet
> For MIPS N64 and N32: > add GNATRTL_128BIT_PAIRS to LIBGNAT_TARGET_PAIRS > add GNATRTL_128BIT_OBJS to EXTRA_GNATRTL_NONTASKING_OBJS > > gcc/ada/ChangeLog: > PR ada/98996 > * Makefile.rtl: add 128Bit operation file to MIPS > N64 and N32 (LIBGNAT_TARGET_PAIRS,

[COMMITED][BACKPORT GCC9] aarch64: Add cpu cost tables for A64FX

2021-02-23 Thread Qian Jianhua
This is a backport of adding cost tables for A64FX. 2021-02-23 Qian Jianhua gcc/ChangeLog: * config/aarch64/aarch64-cost-tables.h (a64fx_extra_costs): New. * config/aarch64/aarch64.c (a64fx_addrcost_table): New. (a64fx_regmove_cost, a64fx_vector_cost): New.

Patch ping

2021-02-23 Thread Jakub Jelinek via Gcc-patches
Hi! I'd like to ping the https://gcc.gnu.org/pipermail/gcc-patches/2021-February/565350.html patch, P2 PR99085 ice-on-valid-code fix in fixup_partitions. Thanks Jakub

Re: [PATCH] fold-const: Fix ICE in fold_read_from_constant_string on invalid code [PR99204]

2021-02-23 Thread Richard Biener
On Tue, 23 Feb 2021, Jakub Jelinek wrote: > Hi! > > fold_read_from_constant_string and expand_expr_real_1 have code to optimize > constant reads from string (tree vs. rtl). > If the STRING_CST array type has zero low bound, index is fold converted to > sizetype and so the compare_tree_int works

Re: [PATCH,rs6000] [v2] Optimize pcrel access of globals

2021-02-23 Thread Richard Biener via Gcc-patches
On Tue, Feb 23, 2021 at 4:48 AM acsawdey--- via Gcc-patches wrote: > > From: Aaron Sawdey > > This patch implements a RTL pass that looks for pc-relative loads of the > address of an external variable using the PCREL_GOT relocation and a > single load or store that uses that external address. >

[PATCH] fold-const: Fix ICE in fold_read_from_constant_string on invalid code [PR99204]

2021-02-23 Thread Jakub Jelinek via Gcc-patches
Hi! fold_read_from_constant_string and expand_expr_real_1 have code to optimize constant reads from string (tree vs. rtl). If the STRING_CST array type has zero low bound, index is fold converted to sizetype and so the compare_tree_int works fine, but if it has some other low bound, it calls

[committed] libstdc++: Fix up constexpr std::char_traits::compare [PR99181]

2021-02-23 Thread Jakub Jelinek via Gcc-patches
Hi! Because of LWG 467, std::char_traits::lt compares the values cast to unsigned char rather than char, so even when char is signed we get unsigned comparision. std::char_traits::compare uses __builtin_memcmp and that works the same, but during constexpr evaluation we were calling

Re: [PATCH] config.sub, config.guess : Import upstream 2021-01-25.

2021-02-23 Thread Richard Biener
On Tue, 23 Feb 2021, Kito Cheng wrote: > Hi > > Does it update config.sub and config.guess, I know it's already > stage 4, but the config.* stuff update should be harmless things, > and we need this for RISC-V big-endian support, which is already > supported in binutils 2.36. > > This imports

[PATCH] config.sub, config.guess : Import upstream 2021-01-25.

2021-02-23 Thread Kito Cheng
Hi Does it update config.sub and config.guess, I know it's already stage 4, but the config.* stuff update should be harmless things, and we need this for RISC-V big-endian support, which is already supported in binutils 2.36. This imports from: sha1 6faca61810d335c7837f320733fe8e15a1431fc2

add rv64im{,c,fc} multilibs

2021-02-23 Thread Alexandre Oliva
We've had customer demand for these multilibs. We'd be happy to maintain this change locally, but I thought I'd contribute the patch, just in case there's wider interest in them. WDYT? for gcc/ChangeLog * config/riscv/t-elf-multilib: Add multilibs for rv64im, rv64imc, and