]> gcc.gnu.org Git - gcc.git/log
gcc.git
4 years agoadd intrinsics for vld1(q)_x4 and vst1(q)_x4
Sylvia Taylor [Thu, 22 Aug 2019 11:28:26 +0000 (11:28 +0000)]
add intrinsics for vld1(q)_x4 and vst1(q)_x4

This patch adds the intrinsic functions for:
- vld1_<mode>_x4
- vst1_<mode>_x4
- vld1q_<mode>_x4
- vst1q_<mode>_x4

Bootstrapped and tested on aarch64-none-linux-gnu.

Committed on behalf of Sylvia Taylor.

2019-08-22  Sylvia Taylor  <sylvia.taylor@arm.com>

gcc/
* config/aarch64/aarch64-simd-builtins.def:
(ld1x4): New.
(st1x4): Likewise.
* config/aarch64/aarch64-simd.md:
(aarch64_ld1x4<VALLDIF:mode>): New pattern.
(aarch64_st1x4<VALLDIF:mode>): Likewise.
(aarch64_ld1_x4_<mode>): Likewise.
(aarch64_st1_x4_<mode>): Likewise.
* config/aarch64/arm_neon.h:
(vld1_s8_x4): New function.
(vld1q_s8_x4): Likewise.
(vld1_s16_x4): Likewise.
(vld1q_s16_x4): Likewise.
(vld1_s32_x4): Likewise.
(vld1q_s32_x4): Likewise.
(vld1_u8_x4): Likewise.
(vld1q_u8_x4): Likewise.
(vld1_u16_x4): Likewise.
(vld1q_u16_x4): Likewise.
(vld1_u32_x4): Likewise.
(vld1q_u32_x4): Likewise.
(vld1_f16_x4): Likewise.
(vld1q_f16_x4): Likewise.
(vld1_f32_x4): Likewise.
(vld1q_f32_x4): Likewise.
(vld1_p8_x4): Likewise.
(vld1q_p8_x4): Likewise.
(vld1_p16_x4): Likewise.
(vld1q_p16_x4): Likewise.
(vld1_s64_x4): Likewise.
(vld1_u64_x4): Likewise.
(vld1_p64_x4): Likewise.
(vld1q_s64_x4): Likewise.
(vld1q_u64_x4): Likewise.
(vld1q_p64_x4): Likewise.
(vld1_f64_x4): Likewise.
(vld1q_f64_x4): Likewise.
(vst1_s8_x4): Likewise.
(vst1q_s8_x4): Likewise.
(vst1_s16_x4): Likewise.
(vst1q_s16_x4): Likewise.
(vst1_s32_x4): Likewise.
(vst1q_s32_x4): Likewise.
(vst1_u8_x4): Likewise.
(vst1q_u8_x4): Likewise.
(vst1_u16_x4): Likewise.
(vst1q_u16_x4): Likewise.
(vst1_u32_x4): Likewise.
(vst1q_u32_x4): Likewise.
(vst1_f16_x4): Likewise.
(vst1q_f16_x4): Likewise.
(vst1_f32_x4): Likewise.
(vst1q_f32_x4): Likewise.
(vst1_p8_x4): Likewise.
(vst1q_p8_x4): Likewise.
(vst1_p16_x4): Likewise.
(vst1q_p16_x4): Likewise.
(vst1_s64_x4): Likewise.
(vst1_u64_x4): Likewise.
(vst1_p64_x4): Likewise.
(vst1q_s64_x4): Likewise.
(vst1q_u64_x4): Likewise.
(vst1q_p64_x4): Likewise.
(vst1_f64_x4): Likewise.
(vst1q_f64_x4): Likewise.

gcc/testsuite/
* gcc.target/aarch64/advsimd-intrinsics/vld1x4.c: New test.
* gcc.target/aarch64/advsimd-intrinsics/vst1x4.c: New test.

(cherry picked from commit 391625888d4d97f9016ab9ac04acc55d81f0c26f)

4 years agoPatch implementing vld1_*_x3, vst1_*_x2 and vst1_*_x3 intrinsics for AARCH64 for...
Sameera Deshpande [Thu, 31 May 2018 08:46:20 +0000 (08:46 +0000)]
Patch implementing vld1_*_x3, vst1_*_x2 and vst1_*_x3 intrinsics for AARCH64 for all types.

2018-05-31  Sameera Deshpande  <sameera.deshpande@linaro.org>

gcc/
* config/aarch64/aarch64-simd-builtins.def (ld1x3): New.
(st1x2): Likewise.
(st1x3): Likewise.
* config/aarch64/aarch64-simd.md
(aarch64_ld1x3<VALLDIF:mode>): New pattern.
(aarch64_ld1_x3_<mode>): Likewise
(aarch64_st1x2<VALLDIF:mode>): Likewise
(aarch64_st1_x2_<mode>): Likewise
(aarch64_st1x3<VALLDIF:mode>): Likewise
(aarch64_st1_x3_<mode>): Likewise
* config/aarch64/arm_neon.h (vld1_u8_x3): New function.
(vld1_s8_x3): Likewise.
(vld1_u16_x3): Likewise.
(vld1_s16_x3): Likewise.
(vld1_u32_x3): Likewise.
(vld1_s32_x3): Likewise.
(vld1_u64_x3): Likewise.
(vld1_s64_x3): Likewise.
(vld1_f16_x3): Likewise.
(vld1_f32_x3): Likewise.
(vld1_f64_x3): Likewise.
(vld1_p8_x3): Likewise.
(vld1_p16_x3): Likewise.
(vld1_p64_x3): Likewise.
(vld1q_u8_x3): Likewise.
(vld1q_s8_x3): Likewise.
(vld1q_u16_x3): Likewise.
(vld1q_s16_x3): Likewise.
(vld1q_u32_x3): Likewise.
(vld1q_s32_x3): Likewise.
(vld1q_u64_x3): Likewise.
(vld1q_s64_x3): Likewise.
(vld1q_f16_x3): Likewise.
(vld1q_f32_x3): Likewise.
(vld1q_f64_x3): Likewise.
(vld1q_p8_x3): Likewise.
(vld1q_p16_x3): Likewise.
(vld1q_p64_x3): Likewise.
(vst1_s64_x2): Likewise.
(vst1_u64_x2): Likewise.
(vst1_f64_x2): Likewise.
(vst1_s8_x2): Likewise.
(vst1_p8_x2): Likewise.
(vst1_s16_x2): Likewise.
(vst1_p16_x2): Likewise.
(vst1_s32_x2): Likewise.
(vst1_u8_x2): Likewise.
(vst1_u16_x2): Likewise.
(vst1_u32_x2): Likewise.
(vst1_f16_x2): Likewise.
(vst1_f32_x2): Likewise.
(vst1_p64_x2): Likewise.
(vst1q_s8_x2): Likewise.
(vst1q_p8_x2): Likewise.
(vst1q_s16_x2): Likewise.
(vst1q_p16_x2): Likewise.
(vst1q_s32_x2): Likewise.
(vst1q_s64_x2): Likewise.
(vst1q_u8_x2): Likewise.
(vst1q_u16_x2): Likewise.
(vst1q_u32_x2): Likewise.
(vst1q_u64_x2): Likewise.
(vst1q_f16_x2): Likewise.
(vst1q_f32_x2): Likewise.
(vst1q_f64_x2): Likewise.
(vst1q_p64_x2): Likewise.
(vst1_s64_x3): Likewise.
(vst1_u64_x3): Likewise.
(vst1_f64_x3): Likewise.
(vst1_s8_x3): Likewise.
(vst1_p8_x3): Likewise.
(vst1_s16_x3): Likewise.
(vst1_p16_x3): Likewise.
(vst1_s32_x3): Likewise.
(vst1_u8_x3): Likewise.
(vst1_u16_x3): Likewise.
(vst1_u32_x3): Likewise.
(vst1_f16_x3): Likewise.
(vst1_f32_x3): Likewise.
(vst1_p64_x3): Likewise.
(vst1q_s8_x3): Likewise.
(vst1q_p8_x3): Likewise.
(vst1q_s16_x3): Likewise.
(vst1q_p16_x3): Likewise.
(vst1q_s32_x3): Likewise.
(vst1q_s64_x3): Likewise.
(vst1q_u8_x3): Likewise.
(vst1q_u16_x3): Likewise.
(vst1q_u32_x3): Likewise.
(vst1q_u64_x3): Likewise.
(vst1q_f16_x3): Likewise.
(vst1q_f32_x3): Likewise.
(vst1q_f64_x3): Likewise.
(vst1q_p64_x3): Likewise.

gcc/testsuite/
* gcc.target/aarch64/advsimd-intrinsics/vld1x3.c: New test for
vld1x3 intrinsics for aarch64.
* gcc.target/aarch64/advsimd-intrinsics/vst1x2.c: New test for
vst1x2 intrinsics for aarch64.
* gcc.target/aarch64/advsimd-intrinsics/vst1x3.c: New test for
vst1x3 intrinsics for aarch64.

(cherry picked from commit 568421baa5a4cdb7bb7c5ac323c939492ee3f052)

4 years agoDaily bump.
GCC Administrator [Wed, 16 Sep 2020 00:17:51 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Tue, 15 Sep 2020 00:17:54 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Mon, 14 Sep 2020 00:17:37 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sun, 13 Sep 2020 00:17:33 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sat, 12 Sep 2020 00:17:44 +0000 (00:17 +0000)]
Daily bump.

4 years agolibstdc++: Fix is_trivially_constructible (PR 94033)
Jonathan Wakely [Wed, 18 Mar 2020 23:19:12 +0000 (23:19 +0000)]
libstdc++: Fix is_trivially_constructible (PR 94033)

This attempts to make is_nothrow_constructible more robust (and
efficient to compile) by not depending on is_constructible. Instead the
__is_constructible intrinsic is used directly. The helper class
__is_nt_constructible_impl which checks whether the construction is
non-throwing now takes a bool template parameter that is substituted by
the result of the instrinsic. This fixes the reported bug by not using
the already-instantiated (and incorrect) value of std::is_constructible.
I don't think it really fixes the problem in general, because
std::is_nothrow_constructible itself could already have been
instantiated in a context where it gives the wrong result. A proper fix
needs to be done in the compiler.

Backported to the gcc-8 and gcc-9 branches to fix PR 96999.

PR libstdc++/94033
* include/std/type_traits (__is_nt_default_constructible_atom): Remove.
(__is_nt_default_constructible_impl): Remove.
(__is_nothrow_default_constructible_impl): Remove.
(__is_nt_constructible_impl): Add bool template parameter. Adjust
partial specializations.
(__is_nothrow_constructible_impl): Replace class template with alias
template.
(is_nothrow_default_constructible): Derive from alias template
__is_nothrow_constructible_impl instead of
__is_nothrow_default_constructible_impl.
* testsuite/20_util/is_nothrow_constructible/94003.cc: New test.

(cherry picked from commit b3341826531e80e02f194460b4fbe1b0541c0463)

4 years agolibstdc++: Enable assertions in constexpr string_view members [PR 71960]
Jonathan Wakely [Thu, 10 Sep 2020 14:49:26 +0000 (15:49 +0100)]
libstdc++: Enable assertions in constexpr string_view members [PR 71960]

There is no longer any reason we can't just use __glibcxx_assert in
constexpr functions. As long as the condition is true, there will be no
call to std::__replacement_assert that would make the function
ineligible for constant evaluation.

PR libstdc++/71960
* include/experimental/string_view (basic_string_view):
Enable debug assertions.
* include/std/string_view (basic_string_view):
Likewise.

4 years agoDaily bump.
GCC Administrator [Fri, 11 Sep 2020 00:17:34 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Thu, 10 Sep 2020 00:17:38 +0000 (00:17 +0000)]
Daily bump.

4 years agoPR fortran/96890 - Wrong answer with intrinsic IALL
Harald Anlauf [Thu, 3 Sep 2020 18:33:14 +0000 (20:33 +0200)]
PR fortran/96890 - Wrong answer with intrinsic IALL

The IALL intrinsic would always return 0 when the DIM and MASK arguments
were present since the initial value of repeated BIT-AND operations was
set to 0 instead of -1.

libgfortran/ChangeLog:

* m4/iall.m4: Initial value for result should be -1.
* generated/iall_i1.c (miall_i1): Generated.
* generated/iall_i16.c (miall_i16): Likewise.
* generated/iall_i2.c (miall_i2): Likewise.
* generated/iall_i4.c (miall_i4): Likewise.
* generated/iall_i8.c (miall_i8): Likewise.

gcc/testsuite/ChangeLog:

* gfortran.dg/iall_masked.f90: New test.

(cherry picked from commit 8eeeecbcc17041fdfd3ccc928161ae86e7f9b456)

4 years agoDaily bump.
GCC Administrator [Wed, 9 Sep 2020 00:17:41 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Tue, 8 Sep 2020 00:17:45 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Mon, 7 Sep 2020 00:17:34 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sun, 6 Sep 2020 00:17:32 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sat, 5 Sep 2020 00:17:30 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Fri, 4 Sep 2020 00:17:47 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Thu, 3 Sep 2020 00:17:39 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Wed, 2 Sep 2020 00:17:40 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Tue, 1 Sep 2020 00:17:39 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Mon, 31 Aug 2020 00:17:30 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sun, 30 Aug 2020 00:17:32 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sat, 29 Aug 2020 00:17:32 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Fri, 28 Aug 2020 00:17:32 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Thu, 27 Aug 2020 00:17:38 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Wed, 26 Aug 2020 00:17:51 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Tue, 25 Aug 2020 00:17:32 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Mon, 24 Aug 2020 00:17:34 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sun, 23 Aug 2020 00:17:38 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sat, 22 Aug 2020 00:17:35 +0000 (00:17 +0000)]
Daily bump.

4 years agoUpdate links to Arm docs
Richard Sandiford [Fri, 21 Aug 2020 18:07:06 +0000 (19:07 +0100)]
Update links to Arm docs

gcc/
* doc/extend.texi: Update links to Arm docs.
* doc/invoke.texi: Likewise.

(cherry picked from commit 09698e44c766c4a05ee463d2e36bc1fdac21dce4)
(cherry picked from commit 0fc33daacbdf993ab0d5830b0af3468b0df7c187)

4 years agoAArch64: Fix hwasan failure in readline.
Tamar Christina [Mon, 3 Aug 2020 11:03:17 +0000 (12:03 +0100)]
AArch64: Fix hwasan failure in readline.

My previous fix added an unchecked call to fgets in the new function readline.
fgets can fail when there's an error reading the file in which case it returns
NULL.  It also returns NULL when the next character is EOF.

The EOF case is already covered by the existing code but the error case isn't.
This fixes it by returning the empty string on error.

Also I now use strnlen instead of strlen to make sure we never read outside the
buffer.

This was flagged by Matthew Malcomson during his hwasan work.

gcc/ChangeLog:

* config/aarch64/driver-aarch64.c (readline): Check return value fgets.

(cherry picked from commit 341573406b392f4d57e052ce22f80e85a7c479e9)

4 years agoAArch64: Add test for -mcpu=native
Tamar Christina [Wed, 8 Jul 2020 13:32:34 +0000 (14:32 +0100)]
AArch64: Add test for -mcpu=native

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/cpunative/aarch64-cpunative.exp: New file.
* gcc.target/aarch64/cpunative/info_0: New test.
* gcc.target/aarch64/cpunative/info_1: New test.
* gcc.target/aarch64/cpunative/info_10: New test.
* gcc.target/aarch64/cpunative/info_11: New test.
* gcc.target/aarch64/cpunative/info_12: New test.
* gcc.target/aarch64/cpunative/info_13: New test.
* gcc.target/aarch64/cpunative/info_14: New test.
* gcc.target/aarch64/cpunative/info_15: New test.
* gcc.target/aarch64/cpunative/info_2: New test.
* gcc.target/aarch64/cpunative/info_3: New test.
* gcc.target/aarch64/cpunative/info_4: New test.
* gcc.target/aarch64/cpunative/info_5: New test.
* gcc.target/aarch64/cpunative/info_6: New test.
* gcc.target/aarch64/cpunative/info_7: New test.
* gcc.target/aarch64/cpunative/info_8: New test.
* gcc.target/aarch64/cpunative/info_9: New test.
* gcc.target/aarch64/cpunative/native_cpu_0.c: New test.
* gcc.target/aarch64/cpunative/native_cpu_1.c: New test.
* gcc.target/aarch64/cpunative/native_cpu_10.c: New test.
* gcc.target/aarch64/cpunative/native_cpu_13.c: New test.
* gcc.target/aarch64/cpunative/native_cpu_14.c: New test.
* gcc.target/aarch64/cpunative/native_cpu_2.c: New test.
* gcc.target/aarch64/cpunative/native_cpu_3.c: New test.
* gcc.target/aarch64/cpunative/native_cpu_4.c: New test.
* gcc.target/aarch64/cpunative/native_cpu_5.c: New test.
* gcc.target/aarch64/cpunative/native_cpu_6.c: New test.
* gcc.target/aarch64/cpunative/native_cpu_7.c: New test.
* gcc.target/aarch64/cpunative/native_cpu_8.c: New test.

(cherry picked from commit 8bc83ee378e1cac65d75752b5137ec35d9e1aca1)

4 years agoTestuite: Document environment setting directives
Tamar Christina [Fri, 17 Jul 2020 12:12:46 +0000 (13:12 +0100)]
Testuite: Document environment setting directives

This document some of the existing DejaGnu directives to modify
environment variables before test or compiler invocations.

gcc/ChangeLog:

* doc/sourcebuild.texi (dg-set-compiler-env-var,
dg-set-target-env-var): Document.

(cherry picked from commit 7c4491e33d1be16bfb85d448862a8b956d35e4d8)

4 years agoTestsuite: Make it easier to debug environment setting functions
Tamar Christina [Fri, 17 Jul 2020 12:12:23 +0000 (13:12 +0100)]
Testsuite: Make it easier to debug environment setting functions

This adds verbose output to dg-set-compiler-env-var and dg-set-target-env-var
so you can actually see what they're setting when you add -v -v.

gcc/testsuite/ChangeLog:

* lib/gcc-dg.exp (dg-set-compiler-env-var, dg-set-target-env-var): Add
verbose output.

(cherry picked from commit e410cbff5d5a408b7c64a0c426951afc2a24df93)

4 years agoArm: Add GCC_CPUINFO override
Tamar Christina [Fri, 17 Jul 2020 12:12:00 +0000 (13:12 +0100)]
Arm: Add GCC_CPUINFO override

This adds an in intentionally undocumented environment variable
GCC_CPUINFO which can be used to test -mcpu=native.

Tests using these are added later on.

gcc/ChangeLog:

* config/arm/driver-arm.c (host_detect_local_cpu): Add GCC_CPUINFO.

(cherry picked from commit 34a6c43487caf3a2a0ec9c7c79c526d116abc8b9)

4 years agoAArch64: Add GCC_CPUINFO override
Tamar Christina [Fri, 17 Jul 2020 12:10:53 +0000 (13:10 +0100)]
AArch64: Add GCC_CPUINFO override

This adds an in intentionally undocumented environment variable
GCC_CPUINFO which can be used to test -mcpu=native.

Tests using this are added later on.

gcc/ChangeLog:

* config/aarch64/driver-aarch64.c (host_detect_local_cpu):
Add GCC_CPUINFO.

(cherry picked from commit 55f6addc0c102eab2bf19d94de3ce52f9de0ab91)

4 years agoAArch64: Fix bugs in -mcpu=native detection.
Tamar Christina [Fri, 17 Jul 2020 12:10:28 +0000 (13:10 +0100)]
AArch64: Fix bugs in -mcpu=native detection.

This patch fixes a couple of issues in AArch64's -mcpu=native processing:

The buffer used to read the lines from /proc/cpuinfo is 128 bytes long.  While
this was enough in the past with the increase in architecture extensions it is
no longer enough.   It results in two bugs:

1) No option string longer than 127 characters is correctly parsed.  Features
   that are supported are silently ignored.

2) It incorrectly enables features that are not present on the machine:
  a) It checks for substring matching instead of full word matching.  This makes
     it incorrectly detect sb support when ssbs is provided instead.
  b) Due to the truncation at the 127 char border it also incorrectly enables
     features due to the full feature being cut off and the part that is left
     accidentally enables something else.

This breaks -mcpu=native detection on some of our newer system.

The patch fixes these issues by reading full lines up to the \n in a string.
This gives us the full feature line.  Secondly it creates a set from this string
to:

 1) Reduce matching complexity from O(n*m) to O(n*logm).
 2) Perform whole word matching instead of substring matching.

To make this code somewhat cleaner I also changed from using char* to using
std::string and std::set.

Note that I have intentionally avoided the use of ifstream and stringstream
to make it easier to backport.  I have also not change the substring matching
for the initial line classification as I cannot find a documented cpuinfo format
which leads me to believe there may be kernels out there that require this which
may be why the original code does this.

I also do not want this to break if the kernel adds a new line that is long and
indents the file by two tabs to keep everything aligned.  In short I think an
imprecise match is the right thing here.

Test for this is added as the last thing in this series as it requires some
changes to be made to be able to test this.

gcc/ChangeLog:

* config/aarch64/driver-aarch64.c (INCLUDE_SET): New.
(parse_field): Use std::string.
(split_words, readline, find_field): New.
(host_detect_local_cpu): Fix truncation issues.

(cherry picked from commit b399f3c6425f6c33b64e813899cbd589288ef716)

4 years agoDaily bump.
GCC Administrator [Fri, 21 Aug 2020 00:17:38 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Thu, 20 Aug 2020 00:17:43 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Wed, 19 Aug 2020 00:17:38 +0000 (00:17 +0000)]
Daily bump.

4 years agoi386: Fix restore_stack_nonlocal expander [PR96536].
Uros Bizjak [Tue, 18 Aug 2020 17:48:51 +0000 (19:48 +0200)]
i386: Fix restore_stack_nonlocal expander [PR96536].

-fcf-protection code in restore_stack_nonlocal uses a branch based on
a clobber result.  The patch adds missing compare.

2020-08-18  UroÅ¡ Bizjak  <ubizjak@gmail.com>

gcc/ChangeLog:

PR target/96536
* config/i386/i386.md (restore_stack_nonlocal):
Add missing compare RTX.

4 years agoDaily bump.
GCC Administrator [Tue, 18 Aug 2020 00:17:37 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Mon, 17 Aug 2020 00:17:30 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sun, 16 Aug 2020 00:17:31 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sat, 15 Aug 2020 00:17:33 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Fri, 14 Aug 2020 00:17:33 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Thu, 13 Aug 2020 00:17:37 +0000 (00:17 +0000)]
Daily bump.

4 years agotestsuite: Add -fno-common to pr82374.c [PR94077]
Kewen Lin [Wed, 12 Aug 2020 09:19:16 +0000 (04:19 -0500)]
testsuite: Add -fno-common to pr82374.c [PR94077]

As the PR comments show, the case gcc.dg/gomp/pr82374.c fails on
Power7 since gcc8.  But it passes from gcc10.  By looking into
the difference, it's due to that gcc10 sets -fno-common as default,
which makes vectorizer force the alignment and be able to use
aligned vector load/store on those targets which doesn't support
unaligned vector load/store (here it's Power7).

As Jakub suggested in the PR, this patch is to append -fno-common
into dg-options.

Verified with gcc8/gcc9 releases on ppc64-redhat-linux (Power7).

gcc/testsuite/ChangeLog:

PR testsuite/94077
* gcc.dg/gomp/pr82374.c: Add option -fno-common.

4 years agoDaily bump.
GCC Administrator [Wed, 12 Aug 2020 00:17:37 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Tue, 11 Aug 2020 00:17:56 +0000 (00:17 +0000)]
Daily bump.

4 years agolibstdc++: Remove unused Makefile.in
Jonathan Wakely [Mon, 10 Aug 2020 10:47:50 +0000 (11:47 +0100)]
libstdc++: Remove unused Makefile.in

This file was unintentionally added by r271568 when backporting a change
from trunk.

* src/c++17/Makefile.in: Remove unused file.

4 years agoDaily bump.
GCC Administrator [Mon, 10 Aug 2020 00:17:44 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sun, 9 Aug 2020 00:17:48 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sat, 8 Aug 2020 00:17:46 +0000 (00:17 +0000)]
Daily bump.

4 years agoaarch64: Fix up __aarch64_cas16_acq_rel fallback
Jakub Jelinek [Mon, 3 Aug 2020 20:55:28 +0000 (22:55 +0200)]
aarch64: Fix up __aarch64_cas16_acq_rel fallback

As mentioned in the PR, the fallback path when LSE is unavailable writes
incorrect registers to the memory if the previous content compares equal
to x0, x1 - it writes copy of x0, x1 from the start of function, but it
should write x2, x3.

2020-08-03  Jakub Jelinek  <jakub@redhat.com>

PR target/96402
* config/aarch64/lse.S (__aarch64_cas16_acq_rel): Use x2, x3 instead
of x(tmp0), x(tmp1) in STXP arguments.

* gcc.target/aarch64/pr96402.c: New test.

(cherry picked from commit 90b43856fdff7d96d93d22970eca8a86c56e0ddc)

4 years agolibstdc++: Fix FS-dependent filesystem tests
Jonathan Wakely [Thu, 12 Mar 2020 17:39:04 +0000 (17:39 +0000)]
libstdc++: Fix FS-dependent filesystem tests

These tests were failing on XFS because it doesn't support setting file
timestamps past 2038, so the expected overflow when reading back a huge
timestamp into a file_time_type didn't happen.

Additionally, the std::filesystem::file_time_type::clock has an
epoch that is out of range of 32-bit time_t so testing times around that
epoch may also fail.

This fixes the tests to give up gracefully if the filesystem doesn't
support times that can't be represented in 32-bit time_t.

Backport from mainline
2020-02-28  Jonathan Wakely  <jwakely@redhat.com>

* testsuite/27_io/filesystem/operations/last_write_time.cc: Fixes for
filesystems that silently truncate timestamps.
* testsuite/experimental/filesystem/operations/last_write_time.cc:
Likewise.

(cherry picked from commit 2fa3247fef79ede9ec3638605ea137b0e4d76075)

4 years agoFix filesystem::last_write_time failure with 32-bit time_t
Jonathan Wakely [Thu, 10 Jan 2019 15:39:28 +0000 (15:39 +0000)]
Fix filesystem::last_write_time failure with 32-bit time_t

* testsuite/27_io/filesystem/operations/last_write_time.cc: Fix
test failures on targets with 32-bit time_t.

(cherry picked from commit 174f1d264274d3f77133713a3853fc016ba527b4)

4 years agolibstdc++: Fix experimental::path::generic_string (PR 93245)
Jonathan Wakely [Sat, 21 Mar 2020 22:11:44 +0000 (22:11 +0000)]
libstdc++: Fix experimental::path::generic_string (PR 93245)

This function was unimplemented, simply returning the native format
string instead.

PR libstdc++/93245
* include/experimental/bits/fs_path.h (path::generic_string<C,T,A>()):
Return the generic format not the native format.
* testsuite/experimental/filesystem/path/generic/generic_string.cc:
Improve test coverage.

(cherry picked from commit a577c0c26931090e7c25e56ef5ffc807627961ec)

4 years agolibstdc++: Fix path::generic_string allocator handling (PR 94242)
Jonathan Wakely [Sat, 21 Mar 2020 21:51:07 +0000 (21:51 +0000)]
libstdc++: Fix path::generic_string allocator handling (PR 94242)

It's not possible to construct a path::string_type from an allocator of
a different type. Create the correct specialization of basic_string, and
adjust path::_S_str_convert to use a basic_string_view so that it is
independent of the allocator type.

PR libstdc++/94242
* include/bits/fs_path.h (path::_S_str_convert): Replace first
parameter with basic_string_view so that strings with different
allocators can be accepted.
(path::generic_string<C,T,A>()): Use basic_string object that uses the
right allocator type.
* testsuite/27_io/filesystem/path/generic/94242.cc: New test.
* testsuite/27_io/filesystem/path/generic/generic_string.cc: Improve
test coverage.

(cherry picked from commit 9fc985118d9f5014afc1caf32a411ee5803fba61)

4 years agoDaily bump.
GCC Administrator [Fri, 7 Aug 2020 00:17:48 +0000 (00:17 +0000)]
Daily bump.

4 years agolibstdc++: Fix unnecessary allocations in read_symlink [PR 96484]
Jonathan Wakely [Thu, 6 Aug 2020 17:44:50 +0000 (18:44 +0100)]
libstdc++: Fix unnecessary allocations in read_symlink [PR 96484]

libstdc++-v3/ChangeLog:

PR libstdc++/96484
* src/filesystem/ops.cc (fs::read_symlink): Return an error
immediately for non-symlinks.
* src/filesystem/std-ops.cc (fs::read_symlink): Likewise.

(cherry picked from commit 6a13a4e3f29fc4ce5eff96d74ba965c9fdc02184)

4 years agoDaily bump.
GCC Administrator [Thu, 6 Aug 2020 00:17:40 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Wed, 5 Aug 2020 00:17:56 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Tue, 4 Aug 2020 00:17:34 +0000 (00:17 +0000)]
Daily bump.

4 years agocpp: Do not use @dots for ... tokens in code examples
Jonathan Wakely [Mon, 3 Aug 2020 20:16:50 +0000 (21:16 +0100)]
cpp: Do not use @dots for ... tokens in code examples

This prevents a ... token in code examples from being turned into a
single HORIZONTAL ELLIPSIS glyph (e.g. via the HTML &hellip; entity).

gcc/ChangeLog:

* doc/cpp.texi (Variadic Macros): Use the exact ... token in
code examples.

(cherry picked from commit 2ac7fe2769890fe4c146da9cfa6d0eabb185d7db)

4 years agoDaily bump.
GCC Administrator [Mon, 3 Aug 2020 00:17:30 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sun, 2 Aug 2020 00:17:33 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sat, 1 Aug 2020 00:17:37 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Fri, 31 Jul 2020 00:17:34 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Thu, 30 Jul 2020 00:17:33 +0000 (00:17 +0000)]
Daily bump.

4 years agogcc-changelog: fix combining of arguments.
Martin Liska [Wed, 29 Jul 2020 12:13:42 +0000 (14:13 +0200)]
gcc-changelog: fix combining of arguments.

contrib/ChangeLog:

2020-07-29  Martin Liska  <mliska@suse.cz>

* git-backport.py: fix how are ChangeLog paths combined.

4 years agoDaily bump.
GCC Administrator [Wed, 29 Jul 2020 00:17:33 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Tue, 28 Jul 2020 00:17:40 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Mon, 27 Jul 2020 00:17:30 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sun, 26 Jul 2020 00:17:28 +0000 (00:17 +0000)]
Daily bump.

4 years agoPR 93592 - Invalid UP/DOWN rounding with EN descriptor.
Dominique d'Humieres [Fri, 24 Jul 2020 18:07:12 +0000 (20:07 +0200)]
PR 93592 - Invalid UP/DOWN rounding with EN descriptor.

The fix is obvious (I have added a comment). The tests are probably
an overkill, but it does not hurt.

libgfortran/ChangeLog:

PR fortran/93592
* io/write_float.def (build_float_string): Do not reset
  nbefore for FMT_F and FMT_EN.

gcc/testsuite/ChangeLog:

PR fortran/93592
* gfortran.dg/fmt_en.f90: Adjust test.
* gfortran.dg/fmt_en_rd.f90: New test.
* gfortran.dg/fmt_en_rn.f90: New test.
* gfortran.dg/fmt_en_ru.f90: New test.
* gfortran.dg/fmt_en_rz.f90: New test.

(cherry picked from commit 05e0971bcf94a481cbfa2731484f024a67dbd4a5)

4 years agoDaily bump.
GCC Administrator [Sat, 25 Jul 2020 00:17:33 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Fri, 24 Jul 2020 00:17:33 +0000 (00:17 +0000)]
Daily bump.

4 years agoPR fortran/89574 - ICE in conv_function_val, at fortran/trans-expr.c:3792
Harald Anlauf [Tue, 21 Jul 2020 19:37:30 +0000 (21:37 +0200)]
PR fortran/89574 - ICE in conv_function_val, at fortran/trans-expr.c:3792

When checking for an external procedure from the same file, do not
consider symbols from different modules.

gcc/fortran/
PR fortran/89574
* trans-decl.c (gfc_get_extern_function_decl): Check whether a
symbol belongs to a different module.

(cherry picked from commit 28f2a080cc27531a8c78aec9f44aeff4961c2a4c)

4 years agogcc-changelog: fix when somebody reverts a backport
Martin Liska [Thu, 23 Jul 2020 08:39:00 +0000 (10:39 +0200)]
gcc-changelog: fix when somebody reverts a backport

contrib/ChangeLog:

* gcc-changelog/git_commit.py: When reverting a backport,
we should print only Revert header.

(cherry picked from commit 02cada26e4783b4bfeaf6512a6c22df24d7a25fc)

4 years agogcc-changelog: Fix typo in output
Jonathan Wakely [Fri, 17 Jul 2020 08:53:19 +0000 (09:53 +0100)]
gcc-changelog: Fix typo in output

contrib/ChangeLog:

* gcc-changelog/git_update_version.py: Fix typo.

(cherry picked from commit 0c1d1c01039a96c191a7aded40e5df40b14d387a)

4 years agoDaily bump.
GCC Administrator [Thu, 23 Jul 2020 00:17:34 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Wed, 22 Jul 2020 00:17:35 +0000 (00:17 +0000)]
Daily bump.

4 years agoPR libstdc++/68737 Do not use vsnprintf on HPUX
Jonathan Wakely [Mon, 28 Jan 2019 23:58:57 +0000 (23:58 +0000)]
PR libstdc++/68737 Do not use vsnprintf on HPUX

It doesn't conform to the spec, so use vsprintf with a large buffer
instead.

PR libstdc++/68737
* config/locale/generic/c_locale.h (__convert_from_v)
[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
* config/os/hpux/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
* include/bits/locale_facets.tcc (num_put::_M_insert_float)
[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.

(cherry picked from commit c98f255154798847bdd1fc6ce33266c1a1ddc13a)

4 years agoDaily bump.
GCC Administrator [Tue, 21 Jul 2020 00:17:40 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Mon, 20 Jul 2020 00:17:33 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sun, 19 Jul 2020 00:17:33 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sat, 18 Jul 2020 00:17:34 +0000 (00:17 +0000)]
Daily bump.

4 years ago[PATCH] rs6000 improve handling of built-in initialization [PR95952]
Will Schmidt [Mon, 13 Jul 2020 18:38:17 +0000 (13:38 -0500)]
[PATCH] rs6000 improve handling of built-in initialization [PR95952]

  Handle a scenario with a combination of old hardware, gcc-8 and
binutils where gcc will ICE during it's selftest.  This ICE was exposed
when the builtin processing for better #pragma support was added, where
we no longer skip builtin initialization based on the current mask.

Per the bug report and assorted debug, the ICE occurrs when building
the gcc-8 branch on a 970* based system with an old binutils.  (gcc-9 and
newer is OK.  binutils 2.34 is reported to allow success).

The attached patch adds a clause to the builtin initialization to skip
initialization of a builtin when the builtin mask is set but the icode
value is zero.   The subsequent assert check remains in place.

2020-07-13  Will Schmidt  <will_schmidt@vnet.ibm.com>

gcc/ChangeLog:

PR target/95952

* config/rs6000/rs6000.c (altivec_init_builtins): Add continue clause to
predicate builtin handling.

4 years agoDaily bump.
GCC Administrator [Fri, 17 Jul 2020 00:17:36 +0000 (00:17 +0000)]
Daily bump.

4 years agoS/390: Emit vector alignment hints for z13 if AS accepts them
Stefan Schulze Frielinghaus [Tue, 26 May 2020 16:21:52 +0000 (18:21 +0200)]
S/390: Emit vector alignment hints for z13 if AS accepts them

Squashed with commit 87cb9423add08743d8bb3368f0af61ddc9572837

gcc/ChangeLog:

* config.in: Regenerate.
* config/s390/s390.c (print_operand): Emit vector alignment hints
for target z13, if AS accepts them.  For other targets the logic
stays the same.
* config/s390/s390.h (TARGET_VECTOR_LOADSTORE_ALIGNMENT_HINTS): Define
macro.
* configure: Regenerate.
* configure.ac: Check HAVE_AS_VECTOR_LOADSTORE_ALIGNMENT_HINTS_ON_Z13.

gcc/testsuite/ChangeLog:

* gcc.target/s390/vector/align-1.c: Change target architecture
to z13.
* gcc.target/s390/vector/align-2.c: Change target architecture
to z13.

(cherry picked from commit 929fd91ba975eebf9e57f7f092041271dcaf0c34)

4 years agoS/390: Support vector load/store alignment hints
Andreas Krebbel [Wed, 21 Nov 2018 07:48:49 +0000 (07:48 +0000)]
S/390: Support vector load/store alignment hints

The IBM z14 POP adds an optional alignment operand to the vl, vst,
vlm, and vstm instruction (vector loads and stores). Vectors residing
on 8 or 16 byte boundaries might get loaded or stored faster on some
models given the instruction uses the proper hint operand.  A wrong
hint will hurt performance though.

The attached testcase align-1 currently fails due to:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88085

gcc/ChangeLog:

2018-11-21  Andreas Krebbel  <krebbel@linux.ibm.com>

* configure.ac: Add check for Binutils to determine whether vector
load/store alignments hints are being supported.
* config.in: Regenerate.
* configure: Regenerate.
* config/s390/s390.c (print_operand): Support new output
modifier A.
* config/s390/s390.md ("movti"): Append alignment hint output
using the new output modifier 'A'.
* config/s390/vector.md ("mov<mode>", "*vec_tf_to_v1tf")
("*vec_ti_to_v1ti"): Likewise.

gcc/testsuite/ChangeLog:

2018-11-21  Andreas Krebbel  <krebbel@linux.ibm.com>

* gcc.target/s390/vector/align-1.c: New test.
* gcc.target/s390/vector/align-2.c: New test.

(cherry picked from commit b8923037ef1b229326b7f238580d91bbbb76b8ff)

4 years agoDaily bump.
GCC Administrator [Thu, 16 Jul 2020 00:17:53 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Wed, 15 Jul 2020 00:17:47 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Tue, 14 Jul 2020 00:17:46 +0000 (00:17 +0000)]
Daily bump.

4 years ago[PATCH, rs6000]Add support to enable vmsumudm behind vec_msum builtin.
Will Schmidt [Fri, 10 Jul 2020 22:13:24 +0000 (17:13 -0500)]
[PATCH, rs6000]Add support to enable vmsumudm behind vec_msum builtin.

2020-07-08  Will Schmidt  <will_schmidt@vnet.ibm.com>

gcc/ChangeLog:

* config/rs6000/altivec.h (vec_vmsumudm): New define.
* config/rs6000/altivec.md (UNSPEC_VMSUMUDM): New unspec.
  (altivec_vmsumudm): New define_insn.
* config/rs6000/rs6000-builtin.def (altivec_vmsumudm): New BU_ALTIVEC_3
  entry. (vmsumudm): New BU_ALTIVEC_OVERLOAD_3 entry.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
  entries for ALTIVEC_BUILTIN_VMSUMUDM variants of vec_msum.
* doc/extend.texi: Add document for vmsumudm behind vmsum.

gcc/testsuite/ChangeLog:

* gcc.target/powerpc/builtins-msum-runnable.c: New test.
* gcc.target/powerpc/vsx-builtin-msum.c: New test.

Modified from ...
(cherry picked from commit c1a57681a64150d2fc336ba8e055c5f82e3737e8)

4 years agoDaily bump.
GCC Administrator [Mon, 13 Jul 2020 00:17:27 +0000 (00:17 +0000)]
Daily bump.

4 years agoDaily bump.
GCC Administrator [Sun, 12 Jul 2020 00:17:28 +0000 (00:17 +0000)]
Daily bump.

This page took 0.096585 seconds and 5 git commands to generate.