public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "ro at CeBiTec dot Uni-Bielefeld.DE" <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: Thu, 10 Sep 2020 12:50:21 +0000	[thread overview]
Message-ID: <bug-96983-4-lXByADrWq3@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 #12 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #10 from anlauf at gcc dot gnu.org ---
> (In reply to ro@CeBiTec.Uni-Bielefeld.DE from comment #9)
>> >> 0x67606b build_round_expr
>> >>         /vol/gcc/src/hg/master/local/gcc/fortran/trans-intrinsic.c:408
>> >
>> > That's:
>> >
>> >       arg = fold_convert (gfc_float128_type_node, arg);
>> >
>> > Can you find out what gfc_float128_type_node is on SPARC,
>
>> 408	      arg = fold_convert (gfc_float128_type_node, arg);
>> (gdb) p gfc_float128_type_node
>> $2 = <tree 0x0>
>
> OK.  Can you print kind which was determined a few lines before?

(gdb) p kind
$30 = 16

> Also, to find out why gfc_float128_type_node is NULL_TREE,
> can you investigate the array gfc_real_kinds?
>
> On x86, the supported kind values are 4,8,10,16, and

4, 8, 16 on sparc

> (gdb) p gfc_real_kinds[3]
> $9 = {epsilon = {{_mpfr_prec = 113, _mpfr_sign = 1, _mpfr_exp = -111, 
>       _mpfr_d = 0x27ee628}}, huge = {{_mpfr_prec = 113, _mpfr_sign = 1,
> _mpfr_exp = 16384, 
>       _mpfr_d = 0x27ee5e8}}, tiny = {{_mpfr_prec = 113, _mpfr_sign = 1, 
>       _mpfr_exp = -16381, _mpfr_d = 0x27ee5c8}}, subnormal = {{_mpfr_prec =
> 113, 
>       _mpfr_sign = 1, _mpfr_exp = -16493, _mpfr_d = 0x27ee608}}, kind = 16,
> radix = 2, 
>   digits = 113, min_exponent = -16381, max_exponent = 16384, range = 4931,
> precision = 33, 
>   mode_precision = 128, c_float = 0, c_double = 0, c_long_double = 0,
> c_float128 = 1}

(gdb) p gfc_real_kinds[2]
$37 = {epsilon = {{_mpfr_prec = 113, _mpfr_sign = 1, _mpfr_exp = -111, 
      _mpfr_d = 0x1baf2bc}}, huge = {{_mpfr_prec = 113, _mpfr_sign = 1, 
      _mpfr_exp = 16384, _mpfr_d = 0x1b9b31c}}, tiny = {{_mpfr_prec = 113, 
      _mpfr_sign = 1, _mpfr_exp = -16381, _mpfr_d = 0x1baf27c}}, subnormal = {{
      _mpfr_prec = 113, _mpfr_sign = 1, _mpfr_exp = -16493, 
      _mpfr_d = 0x1baf29c}}, kind = 16, radix = 2, digits = 113, 
  min_exponent = -16381, max_exponent = 16384, range = 4931, precision = 33, 
  mode_precision = 128, c_float = 0, c_double = 0, c_long_double = 1, 
  c_float128 = 0}

> In trans-types.c we have:
>
>       if (gfc_real_kinds[index].c_float128)
>         gfc_float128_type_node = type;
>
> Look in particular at the value of c_float128.

Not set for any of the 3 supported kinds.

>> I'd expect that's long double, which is IEEE128 on SPARC.
>
> So if it is IEEE128, where does the difference from x86 come from?

Here's how the types align:

                        kind    mode_precision  c_long_double   c_float128
x86 long double         10      80              1               0
x86 __float128          16      128             0               1
sparc long double       16      128             1               0

  parent reply	other threads:[~2020-09-10 12:50 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 [this message]
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
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-lXByADrWq3@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: 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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).