From: "Sergei Trofimovich" <slyfox@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gcc-patches:master commit in: 8.3.0/gentoo/
Date: Fri, 20 Sep 2019 23:12:38 +0000 (UTC) [thread overview]
Message-ID: <1569021139.b15b261d1b08f083920d0af5e3640d8ab620302a.slyfox@gentoo> (raw)
commit: b15b261d1b08f083920d0af5e3640d8ab620302a
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 20 23:12:19 2019 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri Sep 20 23:12:19 2019 +0000
URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=b15b261d
8.3.0: backport PR91269 (sparc subreg regression)
Bug: https://gcc.gnu.org/PR91269
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
8.3.0/gentoo/31_all_sparc-fpu-subregs-91269.patch | 105 ++++++++++++++++++++++
8.3.0/gentoo/README.history | 1 +
2 files changed, 106 insertions(+)
diff --git a/8.3.0/gentoo/31_all_sparc-fpu-subregs-91269.patch b/8.3.0/gentoo/31_all_sparc-fpu-subregs-91269.patch
new file mode 100644
index 0000000..e21d07d
--- /dev/null
+++ b/8.3.0/gentoo/31_all_sparc-fpu-subregs-91269.patch
@@ -0,0 +1,105 @@
+https://gcc.gnu.org/PR91269
+
+From bebaf06774baca584c7e9f8410d0e49606a11d60 Mon Sep 17 00:00:00 2001
+From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Fri, 20 Sep 2019 09:42:40 +0000
+Subject: [PATCH] PR target/91269 * config/sparc/sparc.h
+ (HARD_REGNO_CALLER_SAVE_MODE): Define.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@275994 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/config/sparc/sparc.h | 7 ++++
+ gcc/testsuite/gcc.dg/pr91269.c | 70 ++++++++++++++++++++++++++++++++++
+
+--- a/gcc/config/sparc/sparc.h
++++ b/gcc/config/sparc/sparc.h
+@@ -711,6 +711,13 @@ along with GCC; see the file COPYING3. If not see
+ register window instruction in the prologue. */
+ #define HARD_REGNO_RENAME_OK(FROM, TO) ((FROM) != 1)
+
++/* Select a register mode required for caller save of hard regno REGNO.
++ Contrary to what is documented, the default is not the smallest suitable
++ mode but the largest suitable mode for the given (REGNO, NREGS) pair and
++ it quickly creates paradoxical subregs that can be problematic. */
++#define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \
++ ((MODE) == VOIDmode ? choose_hard_reg_mode (REGNO, NREGS, false) : (MODE))
++
+ /* Specify the registers used for certain standard purposes.
+ The values of these macros are register numbers. */
+
+--- /dev/null
++++ b/gcc/testsuite/gcc.dg/pr91269.c
+@@ -0,0 +1,70 @@
++/* PR target/91269 */
++/* Testcase by Sergei Trofimovich <slyfox@inbox.ru> */
++
++/* { dg-do assemble } */
++/* { dg-options "-O2 -Wno-int-conversion" } */
++/* { dg-additional-options "-fcall-used-g6 -fPIE -mcpu=niagara4" { target sparc*-*-* } } */
++
++struct m;
++
++enum { a = 2 };
++int b[1];
++int d[2715];
++int e, f, h;
++enum { i = 2 } j;
++inline int c(int k) {
++ char *cp;
++ if (k >= 62 && k <= 247)
++ cp = b[k];
++ if (cp)
++ return 65533;
++ return 2;
++}
++inline int g(int k) {
++ if (k < sizeof(d))
++ return e;
++ return 0;
++}
++
++int u(struct m*, char*, char*);
++
++int l(struct m *k, char n, long o, int *p) {
++ int q, flags = j, r, s, lasttwo = *p;
++ char inptr, outptr;
++ while (inptr) {
++ if (__builtin_expect(h, 0))
++ break;
++ unsigned ch = inptr;
++ if (lasttwo) {
++ long need = lasttwo >> 3;
++ if (__builtin_expect(need > n, 0))
++ break;
++ } else if (s == i) {
++ long t = c(ch);
++ if (t != 65533) {
++ int jch = g(ch);
++ if (jch & 8)
++ continue;
++ }
++ }
++ if (ch <= 5)
++ ;
++ else {
++ long t = c(ch);
++ if (t != 65533)
++ ;
++ else {
++ switch (f >> 8)
++ case 79:
++ q = f == 20308 || f == 20350;
++ if (q)
++ if (j)
++ r = u(k, &inptr, &outptr);
++ s = *p;
++ if (r)
++ if (o && flags & a)
++ break;
++ }
++ }
++ }
++}
+--
+2.23.0
+
diff --git a/8.3.0/gentoo/README.history b/8.3.0/gentoo/README.history
index 68b1fd8..3400182 100644
--- a/8.3.0/gentoo/README.history
+++ b/8.3.0/gentoo/README.history
@@ -1,6 +1,7 @@
1.2 TODO
+ 29_all_ia64-bootstrap.patch
+ 30_all_sparc-PIC-constant-PR91472.patch
+ + 31_all_sparc-fpu-subregs-91269.patch
1.1 06 Apr 2019
+ 26_all_overridable_native.patch
next reply other threads:[~2019-09-20 23:12 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-20 23:12 Sergei Trofimovich [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-08-17 22:26 [gentoo-commits] proj/gcc-patches:master commit in: 8.3.0/gentoo/ Sergei Trofimovich
2020-05-29 7:54 Sergei Trofimovich
2020-04-12 16:15 Sergei Trofimovich
2020-03-21 11:14 Sergei Trofimovich
2020-03-04 11:52 Sergei Trofimovich
2019-11-04 22:37 Sergei Trofimovich
2019-11-04 8:30 Sergei Trofimovich
2019-11-04 8:30 Sergei Trofimovich
2019-09-22 9:20 Sergei Trofimovich
2019-09-12 21:55 Sergei Trofimovich
2019-04-30 15:50 Sergei Trofimovich
2019-04-06 12:45 Sergei Trofimovich
2019-04-04 7:03 Sergei Trofimovich
2019-04-04 7:03 Sergei Trofimovich
2019-03-08 7:55 Sergei Trofimovich
2019-02-22 23:46 Sergei Trofimovich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1569021139.b15b261d1b08f083920d0af5e3640d8ab620302a.slyfox@gentoo \
--to=slyfox@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox