]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
3 years agoDaily bump.
GCC Administrator [Mon, 21 Mar 2022 00:17:27 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 20 Mar 2022 00:17:24 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 19 Mar 2022 00:17:20 +0000 (00:17 +0000)] 
Daily bump.

3 years agors6000: Allow -mlong-double-64 after -mabi={ibm,ieee}longdouble [PR104208, PR87496]
Peter Bergner [Fri, 18 Mar 2022 19:09:26 +0000 (14:09 -0500)] 
rs6000: Allow -mlong-double-64 after -mabi={ibm,ieee}longdouble [PR104208, PR87496]

The glibc build is showing a build error due to extra "error" checking from my
PR87496 fix.  That checking was overeager, disallowing setting the long double
size to 64-bits if the 128-bit long double ABI had already been specified.
Now we only emit an error if we specify a 128-bit long double ABI if our
long double size is not 128 bits.  This also fixes an erroneous error when
-mabi=ieeelongdouble is used and ISA 2.06 is not enabled, but the long double
size has been changed to 64 bits.

2022-03-04  Peter Bergner  <bergner@linux.ibm.com>

gcc/
PR target/87496
PR target/104208
* config/rs6000/rs6000.c (rs6000_option_override_internal): Make the
ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
-mlong-double-128.
Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
from here...
* common/config/rs6000/rs6000-common.c (rs6000_handle_option):
... to here.

gcc/testsuite/
PR target/87496
PR target/104208
* gcc.target/powerpc/pr104208-1.c: New test.
* gcc.target/powerpc/pr104208-2.c: Likewise.
* gcc.target/powerpc/pr87496-2.c: Swap long double options to trigger
the expected error.
* gcc.target/powerpc/pr87496-3.c: Likewise.

(cherry picked from commit cb16bc3b5f34733ef9bbf8d2e3acacdecb099a62)

3 years agoDaily bump.
GCC Administrator [Fri, 18 Mar 2022 00:17:32 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Thu, 17 Mar 2022 00:17:59 +0000 (00:17 +0000)] 
Daily bump.

3 years agotarget/104453 - guard call folding with NULL LHS
Richard Biener [Wed, 9 Feb 2022 07:48:35 +0000 (08:48 +0100)] 
target/104453 - guard call folding with NULL LHS

This guards shift builtin folding to do nothing when there is
no LHS, similar to what other foldings do.

2022-02-09  Richard Biener  <rguenther@suse.de>

PR target/104453
* config/i386/i386.c (ix86_gimple_fold_builtin): Guard shift
folding for NULL LHS.

* gcc.target/i386/pr104453.c: New testcase.

(cherry picked from commit 1c827873ed283df282f2df11dfe0ff607e07dab3)

3 years agotree-optimization/104511 - avoid FP to DFP conversion for VEC_PACK_TRUNC
Richard Biener [Mon, 14 Feb 2022 09:09:10 +0000 (10:09 +0100)] 
tree-optimization/104511 - avoid FP to DFP conversion for VEC_PACK_TRUNC

This avoids forwprop from matching DFP <-> FP vector conversions
using VEC_[UN]PACK{_TRUNC,_LO,_HI}.  Maybe DFP vectors shouldn't be
a thing, but they appearantly are.  Re-using CONVERT/NOP_EXPR for
DFP <-> FP conversions was probably a mistake.

2022-02-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/104511
* tree-ssa-forwprop.c (simplify_vector_constructor): Avoid
touching DFP <-> FP conversions.

* gcc.dg/pr104511.c: New testcase.

(cherry picked from commit f320197c8b495324dc6997a99d53e7f45ecf5840)

3 years agotarget/100784 - avoid ICE with folding __builtin_ia32_shufpd
Richard Biener [Thu, 20 Jan 2022 13:34:33 +0000 (14:34 +0100)] 
target/100784 - avoid ICE with folding __builtin_ia32_shufpd

This avoids ICEing when there is no LHS on the call by following
what foldings of other builtins do in , namely not folding.

2022-01-20  Richard Biener  <rguenther@suse.de>

PR target/100784
* config/i386/i386.c (ix86_gimple_fold_builtin): Check for
LHS before folding __builtin_ia32_shufpd and friends.

(cherry picked from commit d63d9c3dd160dce24f0209f193b8e7388b19f712)

3 years agoDaily bump.
GCC Administrator [Wed, 16 Mar 2022 00:17:46 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 15 Mar 2022 00:18:02 +0000 (00:18 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 14 Mar 2022 00:17:24 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 13 Mar 2022 00:17:28 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 12 Mar 2022 00:17:34 +0000 (00:17 +0000)] 
Daily bump.

3 years agoRevert __SIZEOF__IBM128__ and __SIZEOF_FLOAT128__ patch.
Michael Meissner [Sat, 12 Mar 2022 00:09:20 +0000 (19:09 -0500)] 
Revert __SIZEOF__IBM128__ and __SIZEOF_FLOAT128__ patch.

2022-03-05  Michael Meissner  <meissner@the-meissners.org>

gcc/
PR target/99708
* config/rs6000/rs6000-c.c: Revert 2022-03-05 patch.

gcc/testsuite/
PR target/99708
* gcc.target/powerpc/pr99708.c: Revert 2022-03-05 patch.

3 years agoDaily bump.
GCC Administrator [Fri, 11 Mar 2022 00:17:34 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Thu, 10 Mar 2022 00:17:36 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Wed, 9 Mar 2022 00:17:35 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 8 Mar 2022 00:17:20 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 7 Mar 2022 00:17:23 +0000 (00:17 +0000)] 
Daily bump.

3 years agoUse correct names for __ibm128 if long double is IEEE 128-bit.
Michael Meissner [Sun, 6 Mar 2022 01:14:44 +0000 (20:14 -0500)] 
Use correct names for __ibm128 if long double is IEEE 128-bit.

If you are on a PowerPC system where the default long double is IEEE
128-bit (either through the compiler option -mabi=ieeelongdouble or via
the configure option --with-long-double-format=ieee), GCC used the wrong
names for some of the conversion functions for the __ibm128 type.

Internally, GCC uses IFmode for __ibm128 if long double is IEEE 128-bit,
instead of TFmode when long double is IBM 128-bit.  This patch adds the
missing conversions to prevent the 'if' name from being used.

In particular, before the patch, the conversions used were:

    IFmode to DImode signed: __fixifdi instead of __fixtfdi
    IFmode to DImode unsigned __fixunsifti instead of __fixunstfti
    DImode to IFmode signed: __floatdiif instead of __floatditf
    DImode to IFmode unsigned: __floatundiif instead of __floatunditf

2022-03-05  Michael Meissner  <meissner@the-meissners.org>

gcc/
PR target/104253
* config/rs6000/rs6000.c (init_float128_ibm): Update the
conversion functions used to convert IFmode types.  Backport
change made to the master branch on 2022-02-14.

gcc/testsuite/
PR target/104253
* gcc.target/powerpc/pr104253.c: New test.  Backport change made
to the master branch on 2022-02-14.

3 years agoDefine __SIZEOF_FLOAT128__ and __SIZEOF_IBM128__.
Michael Meissner [Sun, 6 Mar 2022 01:11:38 +0000 (20:11 -0500)] 
Define __SIZEOF_FLOAT128__ and __SIZEOF_IBM128__.

Define the sizes of the PowerPC specific types __float128 and __ibm128 if those
types are enabled.

This patch will define __SIZEOF_IBM128__ and __SIZEOF_FLOAT128__ if their
respective types are created in the compiler.  Currently, this means both of
these will be defined if float128 support is enabled.  But at some point in
the future, __ibm128 could be enabled without enabling float128 support and
__SIZEOF_IBM128__ would be defined.

2022-03-05  Michael Meissner  <meissner@the-meissners.org>

gcc/
PR target/99708
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
__SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
is created.  Backport change to master branch on 2022-02-17.

gcc/testsuite/
PR target/99708
* gcc.target/powerpc/pr99708.c: New test.  Backport change to
master branch on 2022-02-17.

3 years agoDaily bump.
GCC Administrator [Sun, 6 Mar 2022 00:17:32 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 5 Mar 2022 00:17:40 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 4 Mar 2022 00:17:34 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Thu, 3 Mar 2022 00:17:24 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Wed, 2 Mar 2022 00:17:28 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 1 Mar 2022 00:17:51 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 28 Feb 2022 00:17:11 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 27 Feb 2022 00:17:26 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 26 Feb 2022 00:17:23 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 25 Feb 2022 00:17:39 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Thu, 24 Feb 2022 00:17:19 +0000 (00:17 +0000)] 
Daily bump.

3 years agoFortran: skip compile-time shape check if constructor shape is not known
Harald Anlauf [Mon, 21 Feb 2022 21:49:05 +0000 (22:49 +0100)] 
Fortran: skip compile-time shape check if constructor shape is not known

gcc/fortran/ChangeLog:

PR fortran/104619
* resolve.c (resolve_structure_cons): Skip shape check if shape
of constructor cannot be determined at compile time.

gcc/testsuite/ChangeLog:

PR fortran/104619
* gfortran.dg/derived_constructor_comps_7.f90: New test.

(cherry picked from commit bc66b471d16ef2fd8cb66fd1131b41f80ecb9961)

3 years agoDaily bump.
GCC Administrator [Wed, 23 Feb 2022 00:17:35 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 22 Feb 2022 00:17:26 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 21 Feb 2022 00:17:38 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 20 Feb 2022 00:17:19 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 19 Feb 2022 00:17:37 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 18 Feb 2022 00:17:33 +0000 (00:17 +0000)] 
Daily bump.

3 years agoRevert "c++: using overloaded with local decl [PR92918]"
Jason Merrill [Thu, 17 Feb 2022 23:11:23 +0000 (18:11 -0500)] 
Revert "c++: using overloaded with local decl [PR92918]"

       PR c++/104476

This reverts commit decd38f99dd05eb54ddcaee7c52f21a56a844613.

3 years agolibstdc++: missing constexpr for __[nm]iter_base [PR102358]
Patrick Palka [Thu, 21 Oct 2021 16:13:35 +0000 (12:13 -0400)] 
libstdc++: missing constexpr for __[nm]iter_base [PR102358]

PR libstdc++/102358

libstdc++-v3/ChangeLog:

* include/bits/stl_iterator.h (__niter_base): Make constexpr
for C++20.
(__miter_base): Likewise.
* testsuite/25_algorithms/move/constexpr.cc: New test.

(cherry picked from commit 5f7976f65b45c457b57bfc2c55ec845771e0d3c2)

3 years agotree-optimization/103237 - avoid vectorizing unhandled double reductions
Richard Biener [Mon, 15 Nov 2021 10:37:56 +0000 (11:37 +0100)] 
tree-optimization/103237 - avoid vectorizing unhandled double reductions

Double reductions which have multiple LC PHIs in the inner loop
are not handled correctly during transformation since those PHIs
are not properly classified as reduction.  The following disables
vectorizing them.

2021-11-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/103237
* tree-vect-loop.c (vect_is_simple_reduction): Fail for
double reductions with multiple inner loop LC PHI nodes.

* gcc.dg/torture/pr103237.c: New testcase.

(cherry picked from commit 220bd61874cf114667b44f9ded76ed0639eb278b)

3 years agomiddle-end/103181 - fix operation_could_trap_p for vector division
Richard Biener [Thu, 11 Nov 2021 08:40:36 +0000 (09:40 +0100)] 
middle-end/103181 - fix operation_could_trap_p for vector division

For integer vector division we only checked for all zero vector
constants rather than checking whether any element in the constant
vector is zero.

It also fixes the adjustment to operation_could_trap_helper_p
where I failed to realize that RDIV_EXPR is also used for
fixed-point types.  It also fixes that handling by properly
checking for a fixed_zerop divisor.

2021-11-11  Richard Biener  <rguenther@suse.de>

PR middle-end/103181
PR middle-end/103248
* tree-eh.c (operation_could_trap_helper_p): Properly
check vector constants for a zero element for integer
division.  Separate floating point and integer division code.
Properly handle fixed-point RDIV_EXPR.

* gcc.dg/torture/pr103181.c: New testcase.
* gcc.dg/pr103248.c: Likewise.

(cherry picked from commit 2f0c8f74daef93c0c7b33294213e7db6df58c4d1)

3 years agotree-optimization/102798 - avoid copying PTA info to old SSA names
Richard Biener [Mon, 18 Oct 2021 07:10:43 +0000 (09:10 +0200)] 
tree-optimization/102798 - avoid copying PTA info to old SSA names

The vectorizer duplicates pointer-info to created pointer bases
but it has to avoid changing points-to info on existing SSA names
because there's now flow-sensitive info in there (pt->pt_null as
set from VRP).

2021-10-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/102798
* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
Only copy points-to info to newly generated SSA names.

* gcc.dg/pr102798.c: New testcase.

(cherry picked from commit 1631d6d2910e03e4517079d6e6ad0ae1aeb24dfa)

3 years agoipa/102762 - fix ICE with invalid __builtin_va_arg_pack () use
Richard Biener [Fri, 15 Oct 2021 06:41:57 +0000 (08:41 +0200)] 
ipa/102762 - fix ICE with invalid __builtin_va_arg_pack () use

We have to be careful to not break the argument space calculation.
If there's not enough arguments just do not append any.

2021-10-15  Richard Biener  <rguenther@suse.de>

PR ipa/102762
* tree-inline.c (copy_bb): Avoid underflowing nargs.

* gcc.dg/torture/pr102762.c: New testcase.

(cherry picked from commit 11a4714860d2df6ba496d55379e7dc702d5fc425)

3 years agotree-optimization/100923 - fix alias-ref construction wrt availability
Richard Biener [Tue, 8 Jun 2021 10:52:12 +0000 (12:52 +0200)] 
tree-optimization/100923 - fix alias-ref construction wrt availability

This PR shows that building an ao_ref from value-numbers is prone to
expose bogus contextual alias info to the oracle.  The following makes
sure to construct ao_refs from SSA names available at the program point
only.

On the way it modifies the awkward valueize_refs[_1] API.

2021-06-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/100923
* tree-ssa-sccvn.c (valueize_refs_1): Take a pointer to
the operand vector to be valueized.
(valueize_refs): Likewise.
(valueize_shared_reference_ops_from_ref): Adjust.
(valueize_shared_reference_ops_from_call): Likewise.
(vn_reference_lookup_3): Likewise.
(vn_reference_lookup_pieces): Likewise.  Re-valueize
with honoring availability when we are about to create
the ao_ref and valueized before.
(vn_reference_lookup): Likewise.
(vn_reference_insert_pieces): Adjust.

* gcc.dg/torture/pr100923.c: New testcase.

(cherry picked from commit 7a56d3d3e99cc77ad8a6a674870c814da6225675)

3 years agotree-optimization/101158 - adjust SLP call matching sequence
Richard Biener [Tue, 22 Jun 2021 07:24:24 +0000 (09:24 +0200)] 
tree-optimization/101158 - adjust SLP call matching sequence

This moves the check for same operands after verifying we're
facing compatible calls.

2021-06-22  Richard Biener  <rguenther@suse.de>

PR tree-optimization/101158
* tree-vect-slp.c (vect_build_slp_tree_1): Move same operand
checking after checking for matching operation.

* gfortran.dg/pr101158.f90: New testcase.

(cherry picked from commit 7a22d8a764418265680a6bb9a9aec31e984eb015)

3 years agoDaily bump.
GCC Administrator [Thu, 17 Feb 2022 00:17:43 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Wed, 16 Feb 2022 00:17:32 +0000 (00:17 +0000)] 
Daily bump.

3 years agors6000: Move the hunk affecting VSX/ALTIVEC ahead [PR103627]
Kewen Lin [Mon, 7 Feb 2022 03:30:02 +0000 (21:30 -0600)] 
rs6000: Move the hunk affecting VSX/ALTIVEC ahead [PR103627]

The modified hunk can update VSX and ALTIVEC flag, we have some codes
to check/warn for some flags related to VSX and ALTIVEC sitting where
the hunk is proprosed to be moved to.  Without this adjustment, the
VSX and ALTIVEC update is too late, it can cause the incompatibility
and result in unexpected behaviors, the associated test case is one
typical case.

Since we already have the code which sets TARGET_FLOAT128_TYPE and lays
after the moved place, and OPTION_MASK_FLOAT128_KEYWORD will rely on
TARGET_FLOAT128_TYPE, so it just simply remove them.

gcc/ChangeLog:

PR target/103627
* config/rs6000/rs6000.c (rs6000_option_override_internal): Move the
hunk affecting VSX and ALTIVEC to appropriate place.

gcc/testsuite/ChangeLog:

PR target/103627
* gcc.target/powerpc/pr103627-3.c: New test.

(cherry picked from commit e66ba0f55c000152df63fc67c11a64f79122ef86)

3 years agors6000: Disable MMA if no VSX support [PR103627]
Kewen Lin [Mon, 7 Feb 2022 03:29:32 +0000 (21:29 -0600)] 
rs6000: Disable MMA if no VSX support [PR103627]

As PR103627 shows, there is an unexpected case where !TARGET_VSX
and TARGET_MMA co-exist.  As ISA3.1 claims, SIMD is a requirement
for MMA.  By looking into the ICE, I noticed that the current
MMA implementation depends on vector pairs load/store which use
VSX register, but we don't have a separated option to control
Power10 vector support and Segher pointed out "-mpower9-vector is
a workaround that should go away" and more explanations in [1].
So this patch makes MMA require VSX instead.

[1] https://gcc.gnu.org/pipermail/gcc-patches/2022-January/589303.html

gcc/ChangeLog:

PR target/103627
* config/rs6000/rs6000.c (rs6000_option_override_internal): Disable
MMA if !TARGET_VSX.

gcc/testsuite/ChangeLog:

PR target/103627
* gcc.target/powerpc/pr103627-1.c: New test.
* gcc.target/powerpc/pr103627-2.c: New test.

(cherry picked from commit 8103623923ac4ea19b97a369979d4bd5731aab57)

3 years agoDaily bump.
GCC Administrator [Tue, 15 Feb 2022 00:17:27 +0000 (00:17 +0000)] 
Daily bump.

3 years agoRISC-V: Add target machine headers as a dependency for riscv-sr.o
Maciej W. Rozycki [Mon, 14 Feb 2022 17:36:46 +0000 (17:36 +0000)] 
RISC-V: Add target machine headers as a dependency for riscv-sr.o

Make riscv-sr.o depend on target machine headers, removing spurious test
failures:

FAIL: gcc.target/riscv/save-restore-3.c scan-assembler-not call[ \t]*t0,__riscv_save_0
FAIL: gcc.target/riscv/save-restore-3.c scan-assembler-not tail[ \t]*__riscv_restore_0
FAIL: gcc.target/riscv/save-restore-3.c scan-assembler tail[ \t]*foo
FAIL: gcc.target/riscv/save-restore-6.c scan-assembler-not call[ \t]*t0,__riscv_save_0
FAIL: gcc.target/riscv/save-restore-6.c scan-assembler-not tail[ \t]*__riscv_restore_0
FAIL: gcc.target/riscv/save-restore-6.c scan-assembler tail[ \t]*other_func

if the definitions of UNSPECs are locally changed and GCC rebuilt from a
dirty tree.

gcc/
* config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.

(cherry picked from commit 3faeba72cf93bdbf0b42d6b1b65fd4f0794f9d2a)

3 years agoDaily bump.
GCC Administrator [Mon, 14 Feb 2022 00:17:20 +0000 (00:17 +0000)] 
Daily bump.

3 years ago[POWER10] __morestack calls from pcrel code
Alan Modra [Tue, 29 Jun 2021 04:01:45 +0000 (13:31 +0930)] 
[POWER10] __morestack calls from pcrel code

Compiling gcc/testsuite/gcc.dg/split-*.c and others with -mcpu=power10
and linking with a non-pcrel libgcc results in crashes due to the
power10 pcrel code not having r2 set for the generic-morestack.c
functions called from __morestack.  There is also a problem when
non-pcrel code calls a pcrel libgcc.  See the patch comments.

A similar situation theoretically occurs with ELFv1 multi-toc
executables, when __morestack might be located in a different toc
group to its caller.  This patch makes no attempt to fix that, since
the gold linker does not support multi-toc (gold is needed for proper
support of -fsplit-stack code) nor does gcc emit __morestack calls
that support multi-toc.

* config/rs6000/morestack.S (R2_SAVE): Define.
(__morestack): Save and restore r2.  Set up r2 for called
functions.

(cherry picked from commit cd6ca96f5d530e4ee07b65ac8b075119ba5bb035)

3 years ago[RS6000] Adjust gcc asm for power10
Alan Modra [Mon, 28 Sep 2020 07:12:33 +0000 (16:42 +0930)] 
[RS6000] Adjust gcc asm for power10

Generate assembly with .localentry,1 functions using @notoc calls.
This patch makes libgcc.a asm look the same as power10 pcrel as far as
toc/notoc is concerned.

Otherwise calling between functions that advertise as using the TOC
and those that don't, will require linker call stubs in statically
linked code.

gcc/
* config/rs6000/ppc-asm.h: Support __PCREL__ code.
libgcc/
* config/rs6000/morestack.S,
* config/rs6000/tramp.S: Support __PCREL__ code.
libitm/
* config/powerpc/sjlj.S: Support __PCREL__ code.

(cherry picked from commit 2dd7b93778d551b6981c8086ecb38e26f677bd2b)

3 years agoDaily bump.
GCC Administrator [Sun, 13 Feb 2022 00:17:30 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 12 Feb 2022 00:17:34 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 11 Feb 2022 00:17:41 +0000 (00:17 +0000)] 
Daily bump.

3 years agopr104458.c: Replace long with long long for -mx32
H.J. Lu [Thu, 10 Feb 2022 14:26:23 +0000 (06:26 -0800)] 
pr104458.c: Replace long with long long for -mx32

PR target/104458
* gcc.target/i386/pr104458.c: Replace long with long long.

(cherry picked from commit 69febe852753448582ae4a73793816dfb9d91c3b)

3 years agoi386: Fix vec_unpacks_float_lo_v4si operand constraint [PR104469]
Uros Bizjak [Thu, 10 Feb 2022 16:23:17 +0000 (17:23 +0100)] 
i386: Fix vec_unpacks_float_lo_v4si operand constraint [PR104469]

2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>

gcc/ChangeLog:

PR target/104469
* config/i386/sse.md (vec_unpacks_float_lo_v4si):
Change operand 1 constraint to register_operand.

gcc/testsuite/ChangeLog:

PR target/104469
* gcc.target/i386/pr104469.c: New test.

(cherry picked from commit 53fcc46339239c4958e2a15bb9e59274133bbcf7)

3 years agoDaily bump.
GCC Administrator [Thu, 10 Feb 2022 00:17:35 +0000 (00:17 +0000)] 
Daily bump.

3 years agoi386: Force inputs to a register to avoid lowpart_subreg failure [PR104458]
Uros Bizjak [Wed, 9 Feb 2022 22:40:55 +0000 (23:40 +0100)] 
i386: Force inputs to a register to avoid lowpart_subreg failure [PR104458]

Input operands can be in the form of:

(subreg:DI (reg:V2SF 96) 0)

which chokes lowpart_subreg. Force inputs to a register, which is
preferable even when the input operand is from memory.

2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>

gcc/ChangeLog:

PR target/104458
* config/i386/i386-expand.c (ix86_split_idivmod):
Force operands[2] and operands[3] into a register..

gcc/testsuite/ChangeLog:

PR target/104458
* gcc.target/i386/pr104458.c: New test.

3 years agoICE: QImode(not SImode) operand should be passed to gen_vec_initv16qiqi in ashlv16qi3.
liuhongt [Wed, 9 Feb 2022 05:14:43 +0000 (13:14 +0800)] 
ICE: QImode(not SImode) operand should be passed to gen_vec_initv16qiqi in ashlv16qi3.

ix86_expand_vector_init expects vals to be a parallel containing
values of individual fields which should be either element mode of the
vector mode, or a vector mode with the same element mode and smaller
number of elements.

But in the expander ashlv16qi3, the second operand is SImode which
can't be directly passed to gen_vec_initv16qiqi.

gcc/ChangeLog:

PR target/104451
* config/i386/sse.md (<insn><mode>3): lowpart_subreg
operands[2] from SImode to QImode.

gcc/testsuite/ChangeLog:

PR target/104451
* gcc.target/i386/pr104451.c: New test.

3 years agoDaily bump.
GCC Administrator [Wed, 9 Feb 2022 00:17:37 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 8 Feb 2022 00:17:27 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 7 Feb 2022 00:17:29 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 6 Feb 2022 00:17:23 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 5 Feb 2022 00:17:38 +0000 (00:17 +0000)] 
Daily bump.

3 years agoFortran: reject simplifying TRANSFER for MOLD with storage size 0
Harald Anlauf [Tue, 1 Feb 2022 22:33:24 +0000 (23:33 +0100)] 
Fortran: reject simplifying TRANSFER for MOLD with storage size 0

gcc/fortran/ChangeLog:

PR fortran/104311
* check.c (gfc_calculate_transfer_sizes): Checks for case when
storage size of SOURCE is greater than zero while the storage size
of MOLD is zero and MOLD is an array shall not depend on SIZE.

gcc/testsuite/ChangeLog:

PR fortran/104311
* gfortran.dg/transfer_simplify_15.f90: New test.

(cherry picked from commit 4e4252db0348a7274663a892c3a96d3ed7702aff)

3 years agoDaily bump.
GCC Administrator [Fri, 4 Feb 2022 00:17:27 +0000 (00:17 +0000)] 
Daily bump.

3 years agopowerpc: Fix asm machine directive for some CPUs
Sebastian Huber [Tue, 18 Jan 2022 11:44:53 +0000 (12:44 +0100)] 
powerpc: Fix asm machine directive for some CPUs

For some CPUs, the assembler machine directive cannot be determined by ISA
flags.

gcc/

PR target/104090
* config/rs6000/rs6000.c (rs6000_machine_from_flags): Use also
rs6000_cpu.

3 years agoDaily bump.
GCC Administrator [Thu, 3 Feb 2022 00:17:34 +0000 (00:17 +0000)] 
Daily bump.

3 years agoFortran: error recovery when simplifying EOSHIFT
Harald Anlauf [Tue, 1 Feb 2022 20:36:42 +0000 (21:36 +0100)] 
Fortran: error recovery when simplifying EOSHIFT

gcc/fortran/ChangeLog:

PR fortran/104331
* simplify.c (gfc_simplify_eoshift): Avoid NULL pointer
dereference when shape is not set.

gcc/testsuite/ChangeLog:

PR fortran/104331
* gfortran.dg/eoshift_9.f90: New test.

(cherry picked from commit 447047a8f95c6bf4b1873f390c833e91aa8af18c)

3 years agofold-const: do not fold NaN result from non-NaN operands [PR95115]
Xi Ruoyao [Sun, 30 Jan 2022 17:15:20 +0000 (01:15 +0800)] 
fold-const: do not fold NaN result from non-NaN operands [PR95115]

These operations should raise an invalid operation exception at runtime.
So they should not be folded during compilation unless -fno-trapping-math
is used.

gcc/
PR middle-end/95115
* fold-const.c (const_binop): Do not fold NaN result from
  non-NaN operands.

gcc/testsuite
* gcc.dg/pr95115.c: New test.

(cherry picked from commit 34afa19d29c5bf0b0f504e4d0aca4e9a8bc82c5c)

3 years agoDaily bump.
GCC Administrator [Wed, 2 Feb 2022 00:18:10 +0000 (00:18 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Tue, 1 Feb 2022 00:17:23 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Mon, 31 Jan 2022 00:17:27 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 30 Jan 2022 00:17:30 +0000 (00:17 +0000)] 
Daily bump.

3 years agoFortran: fix ICE and wrong code with TRANSFER and CHARACTER(kind=4)
Harald Anlauf [Tue, 11 Jan 2022 21:06:10 +0000 (22:06 +0100)] 
Fortran: fix ICE and wrong code with TRANSFER and CHARACTER(kind=4)

gcc/fortran/ChangeLog:

PR fortran/83079
* target-memory.c (gfc_interpret_character): Result length is
in bytes and thus depends on the character kind.
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct
string length for the result of the TRANSFER intrinsic and for
temporaries for the different character kinds.

gcc/testsuite/ChangeLog:

PR fortran/83079
* gfortran.dg/transfer_char_kind4.f90: New test.

(cherry picked from commit 29401b7b4581e9131e7057e263dcea8b40a6b5ab)

3 years agoFortran: fix simplification of TRANSFER for zero-sized character array result
Harald Anlauf [Thu, 20 Jan 2022 21:36:50 +0000 (22:36 +0100)] 
Fortran: fix simplification of TRANSFER for zero-sized character array result

gcc/fortran/ChangeLog:

PR fortran/104127
* simplify.c (gfc_simplify_transfer): Ensure that the result
typespec is set up for TRANSFER with MOLD of type CHARACTER
including character length even if the result is a zero-sized
array.

gcc/testsuite/ChangeLog:

PR fortran/104127
* gfortran.dg/transfer_simplify_11.f90: Fix logic.
* gfortran.dg/transfer_simplify_13.f90: New test.

(cherry picked from commit 6c1a93102b41a558f3ad49a7c66015257535c747)

3 years agoDaily bump.
GCC Administrator [Sat, 29 Jan 2022 00:17:31 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Fri, 28 Jan 2022 00:17:24 +0000 (00:17 +0000)] 
Daily bump.

3 years agoSync git aliases from master.
Martin Liska [Thu, 27 Jan 2022 18:37:15 +0000 (19:37 +0100)] 
Sync git aliases from master.

contrib/ChangeLog:

* gcc-git-customization.sh: Sync from master.
* git-descr.sh: New file.
* git-undescr.sh: New file.

3 years agoDaily bump.
GCC Administrator [Thu, 27 Jan 2022 00:18:12 +0000 (00:18 +0000)] 
Daily bump.

3 years agoFortran: MOLD argument to TRANSFER intrinsic having storage size zero
Harald Anlauf [Tue, 25 Jan 2022 20:56:39 +0000 (21:56 +0100)] 
Fortran: MOLD argument to TRANSFER intrinsic having storage size zero

gcc/fortran/ChangeLog:

PR fortran/104227
* check.c (gfc_calculate_transfer_sizes): Fix checking of arrays
passed as MOLD argument to the TRANSFER intrinsic for having
storage size zero.

gcc/testsuite/ChangeLog:

PR fortran/104227
* gfortran.dg/transfer_check_6.f90: New test.

(cherry picked from commit ec543c9833c2d9283c035cd8430849eb4ec04406)

3 years agoDaily bump.
GCC Administrator [Wed, 26 Jan 2022 00:17:47 +0000 (00:17 +0000)] 
Daily bump.

3 years agoFortran: reject invalid non-constant pointer initialization targets
Harald Anlauf [Sun, 9 Jan 2022 21:08:14 +0000 (22:08 +0100)] 
Fortran: reject invalid non-constant pointer initialization targets

gcc/fortran/ChangeLog:

PR fortran/101762
* expr.c (gfc_check_pointer_assign): For pointer initialization
targets, check that subscripts and substring indices in
specifications are constant expressions.

gcc/testsuite/ChangeLog:

PR fortran/101762
* gfortran.dg/pr101762.f90: New test.

(cherry picked from commit 2e63128306ff93d8f53119137dd6c28b2defac94)

3 years agoFortran: fix error recovery on bad structure constructor in DATA statement
Harald Anlauf [Wed, 12 Jan 2022 20:24:49 +0000 (21:24 +0100)] 
Fortran: fix error recovery on bad structure constructor in DATA statement

gcc/fortran/ChangeLog:

PR fortran/67804
* primary.c (gfc_match_structure_constructor): Recover from errors
that occurred while checking for a valid structure constructor in
a DATA statement.

gcc/testsuite/ChangeLog:

PR fortran/67804
* gfortran.dg/pr93604.f90: Adjust to changed diagnostics.
* gfortran.dg/pr67804.f90: New test.

(cherry picked from commit 0b8464365b15ac108cd1d00d5bc56d229c1340de)

3 years agoDaily bump.
GCC Administrator [Tue, 25 Jan 2022 00:17:26 +0000 (00:17 +0000)] 
Daily bump.

3 years agogcc-changelog: sync from master.
Martin Liska [Mon, 24 Jan 2022 12:44:57 +0000 (13:44 +0100)] 
gcc-changelog: sync from master.

contrib/ChangeLog:

* gcc-changelog/git_commit.py: Sync from master.
* gcc-changelog/test_email.py: Likewise.
* gcc-changelog/test_patches.txt: Likewise.

3 years agoDaily bump.
GCC Administrator [Mon, 24 Jan 2022 00:17:23 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sun, 23 Jan 2022 00:17:27 +0000 (00:17 +0000)] 
Daily bump.

3 years agoDaily bump.
GCC Administrator [Sat, 22 Jan 2022 00:17:32 +0000 (00:17 +0000)] 
Daily bump.

3 years agoFortran: fix ICE overloading elemental intrinsics
Harald Anlauf [Thu, 13 Jan 2022 20:50:45 +0000 (21:50 +0100)] 
Fortran: fix ICE overloading elemental intrinsics

gcc/fortran/ChangeLog:

PR fortran/103782
* expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a
call of an intrinsic which may have been overloaded.

gcc/testsuite/ChangeLog:

PR fortran/103782
* gfortran.dg/overload_4.f90: New test.

(cherry picked from commit a4a8ae123cd70188e4b4bf5e288a84e0a76fb0fd)

3 years agoDaily bump.
GCC Administrator [Fri, 21 Jan 2022 00:17:24 +0000 (00:17 +0000)] 
Daily bump.

3 years agoFortran: handle expansion of zero-sized array constructors
Harald Anlauf [Mon, 17 Jan 2022 21:52:08 +0000 (22:52 +0100)] 
Fortran: handle expansion of zero-sized array constructors

gcc/fortran/ChangeLog:

PR fortran/103692
* array.c (gfc_expand_constructor): Handle zero-sized array
constructors.

gcc/testsuite/ChangeLog:

PR fortran/103692
* gfortran.dg/pr102520.f90: Adjust error messages.
* gfortran.dg/pr103692.f90: New test.

(cherry picked from commit 0d01a2722671bef37b931fd1f121e44b27e68268)

3 years agoDaily bump.
GCC Administrator [Thu, 20 Jan 2022 00:17:47 +0000 (00:17 +0000)] 
Daily bump.

3 years agolibsanitizer: Cherry-pick LLVM release/13.x commit d96358a28193
H.J. Lu [Fri, 17 Dec 2021 19:08:32 +0000 (11:08 -0800)] 
libsanitizer: Cherry-pick LLVM release/13.x commit d96358a28193

Cherry-pick from LLVM release/13.x branch:

commit d96358a2819399a2abb60ad3b26444ab7b4409cf
Author: Michał Górny <mgorny@moritz.systems>
Date:   Mon Dec 13 22:28:26 2021 +0100

    [compiler-rt] Increase kDlsymAllocPoolSize to fix test failures

    Increase kDlsymAllocPoolSize on the release branch as discussed on bug
    51620, as an alternative to backporting
    cb0e14ce6dcdd614a7207f4ce6fcf81a164471ab and its dependencies.
    The minimum size is 8192, as needed for the following test to pass:

      AddressSanitizer-i386-linux :: TestCases/Linux/long-object-path.cpp

    Fixes #51620

PR sanitizer/102911
* asan/asan_malloc_linux.cpp (kDlsymAllocPoolSize): Set it to
8192 on Linux.

(cherry picked from commit 8c0f58cd71ec3afcce5abf10c750ec494e88232b)