public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "anlauf at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/96983] [11 regression] ICE compiling gfortran.dg/pr96711.f90 starting with r11-3042 Date: Fri, 11 Sep 2020 18:56:31 +0000 [thread overview] Message-ID: <bug-96983-4-477uw0mzDi@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-96983-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96983 --- Comment #19 from anlauf at gcc dot gnu.org --- (In reply to ro@CeBiTec.Uni-Bielefeld.DE from comment #14) > > --- Comment #13 from anlauf at gcc dot gnu.org --- > > This may lead to a total mess, and I am unable to test it, but can you try: > > I just ran bootstraps on both sparc-sun-solaris2.11 and > i386-pc-solaris2.11. x86 results are unchanged, but sparc is completely > miserable: OK, thanks. Scrap the patch from comment#13. Let's try using long double when TYPE_PRECISION (long_double_type_node) is big enough for the conversion: diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c index 32fe9886c57..c508a4faedb 100644 --- a/gcc/fortran/trans-intrinsic.c +++ b/gcc/fortran/trans-intrinsic.c @@ -395,6 +395,13 @@ build_round_expr (tree arg, tree restype) fn = builtin_decl_for_precision (BUILT_IN_LROUND, argprec); else if (resprec <= LONG_LONG_TYPE_SIZE) fn = builtin_decl_for_precision (BUILT_IN_LLROUND, argprec); + else if (resprec == TYPE_PRECISION (long_double_type_node) + && resprec >= argprec) + { + int kind = TYPE_PRECISION (long_double_type_node) / 8; + arg = fold_convert (long_double_type_node, arg); + fn = gfc_builtin_decl_for_float_kind (BUILT_IN_ROUND, kind); + } else if (resprec >= argprec && resprec == 128) { /* Search for a real kind suitable as temporary for conversion. */ This should have no effect on x86. I may work on SPARC; could you please test for me? It will not work on POWER given comment#15 by Peter. However, the prints by Peter suggest that IBM's long double could be a usable type. So if this works on SPARC, one could adapt it to POWER, but we'd need also a slightly adapted testcase that runs only on POWER, while the original one is for IEEE128 platforms only.
next prev parent reply other threads:[~2020-09-11 18:56 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-08 13:21 [Bug fortran/96983] New: " seurer at gcc dot gnu.org 2020-09-08 14:18 ` [Bug fortran/96983] " anlauf at gcc dot gnu.org 2020-09-08 14:21 ` rguenth at gcc dot gnu.org 2020-09-08 15:50 ` anlauf at gcc dot gnu.org 2020-09-08 19:08 ` seurer at gcc dot gnu.org 2020-09-08 19:54 ` seurer at gcc dot gnu.org 2020-09-08 20:52 ` bergner at gcc dot gnu.org 2020-09-09 9:48 ` ro at gcc dot gnu.org 2020-09-09 14:51 ` anlauf at gcc dot gnu.org 2020-09-09 14:54 ` anlauf at gcc dot gnu.org 2020-09-09 15:01 ` ro at CeBiTec dot Uni-Bielefeld.DE 2020-09-09 17:58 ` anlauf at gcc dot gnu.org 2020-09-09 19:03 ` bergner at gcc dot gnu.org 2020-09-10 12:50 ` ro at CeBiTec dot Uni-Bielefeld.DE 2020-09-10 17:29 ` anlauf at gcc dot gnu.org 2020-09-10 22:11 ` ro at CeBiTec dot Uni-Bielefeld.DE 2020-09-10 22:59 ` bergner at gcc dot gnu.org 2020-09-10 23:12 ` bergner at gcc dot gnu.org 2020-09-10 23:28 ` bergner at gcc dot gnu.org 2020-09-10 23:31 ` bergner at gcc dot gnu.org 2020-09-11 18:56 ` anlauf at gcc dot gnu.org [this message] 2020-09-11 19:47 ` segher at gcc dot gnu.org 2020-09-13 21:37 ` ro at CeBiTec dot Uni-Bielefeld.DE 2020-09-14 17:06 ` joseph at codesourcery dot com 2020-09-14 19:04 ` anlauf at gcc dot gnu.org 2020-09-14 20:04 ` anlauf at gcc dot gnu.org 2020-09-14 20:42 ` joseph at codesourcery dot com 2020-09-15 0:08 ` segher at gcc dot gnu.org 2020-10-03 15:15 ` dominiq at lps dot ens.fr 2020-10-03 18:57 ` ro at CeBiTec dot Uni-Bielefeld.DE 2020-10-16 12:07 ` rguenth at gcc dot gnu.org 2020-11-30 21:58 ` seurer at gcc dot gnu.org 2021-03-08 16:17 ` ebotcazou at gcc dot gnu.org 2021-03-10 11:32 ` cvs-commit at gcc dot gnu.org 2021-04-22 3:03 ` [Bug fortran/96983] [11/12 " cvs-commit at gcc dot gnu.org 2021-04-27 11:39 ` jakub at gcc dot gnu.org 2021-05-19 12:37 ` burnus at gcc dot gnu.org 2021-05-19 16:43 ` ro at CeBiTec dot Uni-Bielefeld.DE 2021-05-20 7:52 ` cvs-commit at gcc dot gnu.org 2021-05-20 8:06 ` cvs-commit at gcc dot gnu.org 2021-05-20 8:11 ` burnus at gcc dot gnu.org 2021-07-28 7:05 ` rguenth at gcc dot gnu.org 2022-03-17 2:02 ` cvs-commit at gcc dot gnu.org 2022-03-17 21:00 ` meissner at gcc dot gnu.org
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=bug-96983-4-477uw0mzDi@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.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: linkBe 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; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).