John Reagan tells me his message didn't go to the list, but Jakub quotes it in his reply. My comments below.
> -----Original Message----- > From: Jakub Jelinek <ja...@redhat.com> > Sent: Tuesday, January 25, 2022 7:10 AM > To: John Reagan <john.rea...@vmssoftware.com> > Cc: Robinson, Paul <paul.robin...@sony.com>; ja...@redhat.com; dwarf- > disc...@lists.dwarfstd.org > Subject: Re: [EXTERNAL] - RE: [Dwarf-Discuss] Multiple floating point > types with the same size but different encodings > > On Mon, Jan 24, 2022 at 09:43:07PM -0500, John Reagan wrote: > > Yes, on OpenVMS we have 2 32-bit floats (VAX f_float, IEEE s_float), 3 > > 64-bit floats (VAX d_float, VAX g_float, IEEE t_float), and 1 128-bit > > float (IEEE x_float). We had a 2nd 128-bit float back on the VAX but we > > don't support that anymore. > > > > Our current encoding on OpenVMS Itanium: > > > > DW_ATE_Float: s_float (size 4), t_float (byte size 8), x_float (byte > > size 16) > > > > DW_ATE_complex_float: s_float complex, t_float complex, x_float complex > > > > DW_ATE_HP_VAX_float [0x88]: f_float (byte size 4), g_float (byte size 8) > > > > DW_ATE_HP_VAX_float_d [0x89]: d_float (byte size 8) > > > > DW_ATE_VAX_complex_float [0x8f]: f_float complex, g_float complex > > > > DW_ATE_VAX_complex_float [0x90]: d_float complex > > > > For choice, I'd guess that Ron might have more history as the comments > > on the code also say that HP-UX and NSK used the same codes too. So I > > don't know if OpenVMS was the first user or if OpenVMS inherited it. I'd guess that HP-UX got there first, and the VAX-specific ones were added for OpenVMS later. NSK had a legacy floating-point format but I don't recall how we described it. > > If s_float and f_float or t_float and g_float coexist on the same platform > in the same ABI, I'm afraid DW_AT_precision to distinguish between them, Did you mean, DW_AT_precision isn't enough to distinguish between them? > IEEE single has 24-bit significand precision (1 bit implied) and > it seems s_float does too, and similarly IEEE double has 53-bit precision > (1 bit implied) and it seems g_gloat does too (d_float has 56-bit > precision). > So we'd need also exponent bias (or minimum or maximum exponent) > to differentiate between them. > > Jakub It sounds like ATE codes would be better all around. We could have a pile of attributes that parameterize all the things, but that seems overly general. --paulr _______________________________________________ Dwarf-Discuss mailing list Dwarf-Discuss@lists.dwarfstd.org http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org