8.0.1-0.18
This commit is contained in:
parent
b182d5ff6b
commit
86d615d880
1
.gitignore
vendored
1
.gitignore
vendored
@ -40,3 +40,4 @@
|
||||
/gcc-8.0.1-20180220.tar.xz
|
||||
/gcc-8.0.1-20180222.tar.xz
|
||||
/gcc-8.0.1-20180310.tar.xz
|
||||
/gcc-8.0.1-20180312.tar.xz
|
||||
|
21
gcc.spec
21
gcc.spec
@ -1,17 +1,17 @@
|
||||
%global DATE 20180310
|
||||
%global SVNREV 258420
|
||||
%global DATE 20180312
|
||||
%global SVNREV 258461
|
||||
%global gcc_version 8.0.1
|
||||
%global gcc_major 8
|
||||
# Note, gcc_release must be integer, if you want to add suffixes to
|
||||
# %%{release}, append them after %%{gcc_release} on Release: line.
|
||||
%global gcc_release 0.17
|
||||
%global gcc_release 0.18
|
||||
%global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
|
||||
%global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
|
||||
%global _unpackaged_files_terminate_build 0
|
||||
%global _performance_build 1
|
||||
# Hardening slows the compiler way too much.
|
||||
%undefine _hardened_build
|
||||
%if 0%{?fedora} > 27
|
||||
%if 0%{?fedora} > 27 || 0%{?rhel} >= 8
|
||||
# Until annobin is fixed (#1519165).
|
||||
%undefine _annotated_build
|
||||
%endif
|
||||
@ -131,7 +131,7 @@ URL: http://gcc.gnu.org
|
||||
# Need binutils which support --no-add-needed >= 2.20.51.0.2-12
|
||||
# Need binutils which support -plugin
|
||||
# Need binutils which support .loc view >= 2.30
|
||||
%if %{?fedora} >= 29
|
||||
%if %{?fedora} >= 29 || 0%{?rhel} >= 8
|
||||
BuildRequires: binutils >= 2.30
|
||||
%else
|
||||
BuildRequires: binutils >= 2.24
|
||||
@ -200,7 +200,7 @@ Requires: cpp = %{version}-%{release}
|
||||
# Need binutils that support --no-add-needed
|
||||
# Need binutils that support -plugin
|
||||
# Need binutils that support .loc view >= 2.30
|
||||
%if %{?fedora} >= 29
|
||||
%if %{?fedora} >= 29 || 0%{?rhel} >= 8
|
||||
Requires: binutils >= 2.30
|
||||
%else
|
||||
Requires: binutils >= 2.24
|
||||
@ -1886,7 +1886,7 @@ cd obj-%{gcc_target_platform}
|
||||
|
||||
# run the tests.
|
||||
make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ \
|
||||
%if 0%{?fedora} >= 20
|
||||
%if 0%{?fedora} >= 20 || 0%{?rhel} >= 8
|
||||
RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector-strong}'" || :
|
||||
%else
|
||||
RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || :
|
||||
@ -3064,7 +3064,14 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Mar 12 2018 Jakub Jelinek <jakub@redhat.com> 8.0.1-0.18
|
||||
- update from the trunk
|
||||
- PRs c++/84355, c++/84802, c++/84813, debug/58150, fortran/83939,
|
||||
fortran/84546, rtl-optimization/84780, tree-optimization/83456,
|
||||
tree-optimization/84777, tree-optimization/84803
|
||||
- add pconfigintrin.h and wbnoinvdintrin.h headers (#1554279)
|
||||
- fix -march=knl from emitting AVX512VL instructions (PR target/84786)
|
||||
- fix C++ constexpr RANGE_EXPR splitting (PR c++/84808)
|
||||
|
||||
* Sat Mar 10 2018 Jakub Jelinek <jakub@redhat.com> 8.0.1-0.17
|
||||
- update from the trunk
|
||||
|
76
gcc8-pr84786.patch
Normal file
76
gcc8-pr84786.patch
Normal file
@ -0,0 +1,76 @@
|
||||
2018-03-12 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/84786
|
||||
* config/i386/sse.md (sse2_loadhpd): Use Yv constraint rather than v
|
||||
on the last operand.
|
||||
|
||||
* gcc.target/i386/avx512f-pr84786-1.c: New test.
|
||||
* gcc.target/i386/avx512f-pr84786-2.c: New test.
|
||||
|
||||
--- gcc/config/i386/sse.md.jj 2018-03-05 17:00:24.568655800 +0100
|
||||
+++ gcc/config/i386/sse.md 2018-03-12 11:05:48.917401886 +0100
|
||||
@@ -9022,14 +9022,14 @@ (define_expand "sse2_loadhpd_exp"
|
||||
;; see comment above inline_secondary_memory_needed function in i386.c
|
||||
(define_insn "sse2_loadhpd"
|
||||
[(set (match_operand:V2DF 0 "nonimmediate_operand"
|
||||
- "=x,v,x,v,o,o ,o")
|
||||
+ "=x,v,x,v ,o,o ,o")
|
||||
(vec_concat:V2DF
|
||||
(vec_select:DF
|
||||
(match_operand:V2DF 1 "nonimmediate_operand"
|
||||
- " 0,v,0,v,0,0 ,0")
|
||||
+ " 0,v,0,v ,0,0 ,0")
|
||||
(parallel [(const_int 0)]))
|
||||
(match_operand:DF 2 "nonimmediate_operand"
|
||||
- " m,m,x,v,x,*f,r")))]
|
||||
+ " m,m,x,Yv,x,*f,r")))]
|
||||
"TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))"
|
||||
"@
|
||||
movhpd\t{%2, %0|%0, %2}
|
||||
--- gcc/testsuite/gcc.target/i386/avx512f-pr84786-1.c.jj 2018-03-12 11:32:33.563665173 +0100
|
||||
+++ gcc/testsuite/gcc.target/i386/avx512f-pr84786-1.c 2018-03-12 11:35:33.964695384 +0100
|
||||
@@ -0,0 +1,25 @@
|
||||
+/* PR target/84786 */
|
||||
+/* { dg-do run { target { ! ia32 } } } */
|
||||
+/* { dg-options "-mavx512f -mno-avx512vl -O2" } */
|
||||
+/* { dg-require-effective-target avx512f } */
|
||||
+
|
||||
+#include "avx512f-check.h"
|
||||
+
|
||||
+typedef double V __attribute__((vector_size (16)));
|
||||
+
|
||||
+__attribute__((noipa)) V
|
||||
+foo (V x, double y)
|
||||
+{
|
||||
+ register double z __asm ("xmm18");
|
||||
+ asm volatile ("" : "=v" (z) : "0" (y));
|
||||
+ x[1] = z;
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+avx512f_test (void)
|
||||
+{
|
||||
+ V a = foo ((V) { 1.0, 2.0 }, 3.0);
|
||||
+ if (a[0] != 1.0 || a[1] != 3.0)
|
||||
+ abort ();
|
||||
+}
|
||||
--- gcc/testsuite/gcc.target/i386/avx512f-pr84786-2.c.jj 2018-03-12 11:32:43.445666826 +0100
|
||||
+++ gcc/testsuite/gcc.target/i386/avx512f-pr84786-2.c 2018-03-12 11:35:45.260697279 +0100
|
||||
@@ -0,0 +1,16 @@
|
||||
+/* PR target/84786 */
|
||||
+/* { dg-do compile { target { ! ia32 } } } */
|
||||
+/* { dg-options "-mavx512f -mno-avx512vl -O2" } */
|
||||
+
|
||||
+typedef double V __attribute__((vector_size (16)));
|
||||
+
|
||||
+__attribute__((noipa)) V
|
||||
+foo (V x, double y)
|
||||
+{
|
||||
+ register double z __asm ("xmm18");
|
||||
+ asm volatile ("" : "=v" (z) : "0" (y));
|
||||
+ x[1] = z;
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+/* { dg-final { scan-assembler-not "vunpcklpd\[\^\n\r]*xmm(1\[6-9]|\[23]\[0-9])" } } */
|
82
gcc8-pr84808.patch
Normal file
82
gcc8-pr84808.patch
Normal file
@ -0,0 +1,82 @@
|
||||
2018-03-12 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/84808
|
||||
* constexpr.c (find_array_ctor_elt): Don't use elt reference after
|
||||
first potential CONSTRUCTOR_ELTS reallocation. Convert dindex to
|
||||
sizetype. Formatting fixes.
|
||||
|
||||
* g++.dg/cpp1y/constexpr-84808.C: New test.
|
||||
|
||||
--- gcc/cp/constexpr.c.jj 2018-03-07 22:52:02.000000000 +0100
|
||||
+++ gcc/cp/constexpr.c 2018-03-12 12:39:46.890321137 +0100
|
||||
@@ -2194,9 +2194,9 @@ find_array_ctor_elt (tree ary, tree dind
|
||||
that the same is true of the other elements and index directly. */
|
||||
if (end > 0)
|
||||
{
|
||||
- tree cindex = (*elts)[end-1].index;
|
||||
+ tree cindex = (*elts)[end - 1].index;
|
||||
if (TREE_CODE (cindex) == INTEGER_CST
|
||||
- && compare_tree_int (cindex, end-1) == 0)
|
||||
+ && compare_tree_int (cindex, end - 1) == 0)
|
||||
{
|
||||
if (i < end)
|
||||
return i;
|
||||
@@ -2225,6 +2225,8 @@ find_array_ctor_elt (tree ary, tree dind
|
||||
constructor_elt e;
|
||||
tree lo = TREE_OPERAND (idx, 0);
|
||||
tree hi = TREE_OPERAND (idx, 1);
|
||||
+ tree value = elt.value;
|
||||
+ dindex = fold_convert (sizetype, dindex);
|
||||
if (tree_int_cst_lt (lo, dindex))
|
||||
{
|
||||
/* There are still some lower elts; shorten the range. */
|
||||
@@ -2238,7 +2240,7 @@ find_array_ctor_elt (tree ary, tree dind
|
||||
/* Append the element we want to insert. */
|
||||
++middle;
|
||||
e.index = dindex;
|
||||
- e.value = unshare_constructor (elt.value);
|
||||
+ e.value = unshare_constructor (value);
|
||||
vec_safe_insert (CONSTRUCTOR_ELTS (ary), middle, e);
|
||||
}
|
||||
else
|
||||
@@ -2254,8 +2256,8 @@ find_array_ctor_elt (tree ary, tree dind
|
||||
e.index = hi;
|
||||
else
|
||||
e.index = build2 (RANGE_EXPR, sizetype, new_lo, hi);
|
||||
- e.value = unshare_constructor (elt.value);
|
||||
- vec_safe_insert (CONSTRUCTOR_ELTS (ary), middle+1, e);
|
||||
+ e.value = unshare_constructor (value);
|
||||
+ vec_safe_insert (CONSTRUCTOR_ELTS (ary), middle + 1, e);
|
||||
}
|
||||
}
|
||||
return middle;
|
||||
--- gcc/testsuite/g++.dg/cpp1y/constexpr-84808.C.jj 2018-03-12 12:45:29.472374837 +0100
|
||||
+++ gcc/testsuite/g++.dg/cpp1y/constexpr-84808.C 2018-03-12 12:46:11.742381465 +0100
|
||||
@@ -0,0 +1,27 @@
|
||||
+// PR c++/84808
|
||||
+// { dg-do compile { target c++14 } }
|
||||
+
|
||||
+struct A { int i; constexpr A () : i() {} };
|
||||
+struct B { A a[24]; };
|
||||
+
|
||||
+constexpr int
|
||||
+foo (int n)
|
||||
+{
|
||||
+ B b;
|
||||
+ ++b.a[n + 20].i;
|
||||
+ ++b.a[n + 18].i;
|
||||
+ ++b.a[n + 16].i;
|
||||
+ ++b.a[n + 14].i;
|
||||
+ ++b.a[n + 12].i;
|
||||
+ ++b.a[n + 10].i;
|
||||
+ ++b.a[n + 8].i;
|
||||
+ ++b.a[n + 6].i;
|
||||
+ ++b.a[n + 4].i;
|
||||
+ ++b.a[n + 2].i;
|
||||
+ ++b.a[n].i;
|
||||
+ return b.a[2].i + b.a[4].i + b.a[6].i + b.a[8].i + b.a[10].i
|
||||
+ + b.a[12].i + b.a[14].i + b.a[16].i + b.a[18].i + b.a[20].i + b.a[22].i;
|
||||
+}
|
||||
+
|
||||
+constexpr int i = foo (2);
|
||||
+static_assert (i == 11, "");
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
||||
SHA512 (gcc-8.0.1-20180310.tar.xz) = 9dff425cd8463676b0e9ed6a7d9e7cd967c2e26d17cb195261cd900bff4d307f38e8f4ded1696deffd69ffa687108e1db0bcfaaa3cb3f4fd9917cc17608dcb47
|
||||
SHA512 (gcc-8.0.1-20180312.tar.xz) = 4d88974201d1894fa66c39aabd27f0657ce4d451c35df8ace7500c2ad1109da3147e770cb23e4121035ea6ec742a96bc4d6374836ddccac34cc1330fbc7b9345
|
||||
SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04
|
||||
SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1
|
||||
|
Loading…
Reference in New Issue
Block a user