public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/34040] Support for DOUBLE_TYPE_SIZE != 64 targets
       [not found] <bug-34040-4@http.gcc.gnu.org/bugzilla/>
@ 2012-03-08 22:17 ` kkojima at gcc dot gnu.org
  2013-12-05 19:39 ` olegendo at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: kkojima at gcc dot gnu.org @ 2012-03-08 22:17 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34040

Kazumoto Kojima <kkojima at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |olegendo at gcc dot gnu.org

--- Comment #12 from Kazumoto Kojima <kkojima at gcc dot gnu.org> 2012-03-08 22:15:33 UTC ---
*** Bug 52535 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug fortran/34040] Support for DOUBLE_TYPE_SIZE != 64 targets
       [not found] <bug-34040-4@http.gcc.gnu.org/bugzilla/>
  2012-03-08 22:17 ` [Bug fortran/34040] Support for DOUBLE_TYPE_SIZE != 64 targets kkojima at gcc dot gnu.org
@ 2013-12-05 19:39 ` olegendo at gcc dot gnu.org
  2015-09-05  4:05 ` olegendo at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: olegendo at gcc dot gnu.org @ 2013-12-05 19:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34040

--- Comment #13 from Oleg Endo <olegendo at gcc dot gnu.org> ---
(In reply to Francois-Xavier Coudert from comment #11)
> As far as I can say, the targets with this problem are: avr, bfin, h8300,
> picochip and sh (for some subtargets of sh).
> 
> On avr, bfin, h8300 and picochip, we're doomed anyway because there is no
> double-sized type at all. On sh, we could use long double math calls.
> 
> I'm making this into an enhancement; it will probably be very painful,
> because most of the front-end assumes FLOAT_TYPE_SIZE == 32 and
> DOUBLE_TYPE_SIZE == 64.

I think it would be easier to leave DOUBLE_TYPE_SIZE == 64 in all cases and use
software fp if the hardware can't do double precision.  If users insist on
doubles being automatically truncated to floats then there should be a compiler
switch for that.  E.g. on SH we have -m4-single-only option to control this. 
On SH2E code would then use hardware fp for floats and software fp for doubles
by default.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug fortran/34040] Support for DOUBLE_TYPE_SIZE != 64 targets
       [not found] <bug-34040-4@http.gcc.gnu.org/bugzilla/>
  2012-03-08 22:17 ` [Bug fortran/34040] Support for DOUBLE_TYPE_SIZE != 64 targets kkojima at gcc dot gnu.org
  2013-12-05 19:39 ` olegendo at gcc dot gnu.org
@ 2015-09-05  4:05 ` olegendo at gcc dot gnu.org
  2021-05-31 15:45 ` dominiq at lps dot ens.fr
  2023-05-31 15:17 ` gjl at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: olegendo at gcc dot gnu.org @ 2015-09-05  4:05 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34040

--- Comment #14 from Oleg Endo <olegendo at gcc dot gnu.org> ---
(In reply to Oleg Endo from comment #13)
> 
> I think it would be easier to leave DOUBLE_TYPE_SIZE == 64 in all cases and
> use software fp if the hardware can't do double precision.  If users insist
> on doubles being automatically truncated to floats then there should be a
> compiler switch for that.

This switch is already there: -fshort-double


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug fortran/34040] Support for DOUBLE_TYPE_SIZE != 64 targets
       [not found] <bug-34040-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2015-09-05  4:05 ` olegendo at gcc dot gnu.org
@ 2021-05-31 15:45 ` dominiq at lps dot ens.fr
  2023-05-31 15:17 ` gjl at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: dominiq at lps dot ens.fr @ 2021-05-31 15:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34040

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING

--- Comment #17 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Target issue?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug fortran/34040] Support for DOUBLE_TYPE_SIZE != 64 targets
       [not found] <bug-34040-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2021-05-31 15:45 ` dominiq at lps dot ens.fr
@ 2023-05-31 15:17 ` gjl at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: gjl at gcc dot gnu.org @ 2023-05-31 15:17 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34040

--- Comment #18 from Georg-Johann Lay <gjl at gcc dot gnu.org> ---
(In reply to Francois-Xavier Coudert from comment #11)
> As far as I can say, the targets with this problem are: avr, bfin, h8300,
> picochip and sh (for some subtargets of sh).
> 
> On avr, bfin, h8300 and picochip, we're doomed anyway because there is no
> double-sized type at all. On sh, we could use long double math calls.
> 
> I'm making this into an enhancement; it will probably be very painful,
> because most of the front-end assumes FLOAT_TYPE_SIZE == 32 and
> DOUBLE_TYPE_SIZE == 64.

At least for AVR, the situation changed with v10, see
https://gcc.gnu.org/gcc-10/changes.html#avr
https://gcc.gnu.org/install/configure.html#avr

In order to keep v10 compatible with older versions of avr-gcc, double still
defaults to 32 bits, though.  To get 64-bit double, you'll have to configure
using --with-double=64 (or use --with-double=64,32 so you can which to 32-bit
double with -mdouble=32 at compile-time).

The default for this option is --with-double=32,64; hence what's also possible
is to use default configuraton, but provide -mdouble=64 for every translation
unit.

FYI, the 64-bit double support is provided by LibF7, which is a part of
avr-libgcc.  For details and shortcomings, see
https://gcc.gnu.org/wiki/avr-gcc#Libf7
https://gcc.gnu.org/git/?p=gcc.git;a=tree;f=libgcc/config/avr/libf7

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug fortran/34040] Support for DOUBLE_TYPE_SIZE != 64 targets
  2007-11-09 10:42 [Bug middle-end/34040] New: [4.3 Regression] ICE: in simplify_subreg, at simplify-rtx.c:4921 building libgfortran rask at gcc dot gnu dot org
@ 2009-05-05  8:18 ` fxcoudert at gcc dot gnu dot org
  0 siblings, 0 replies; 6+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2009-05-05  8:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from fxcoudert at gcc dot gnu dot org  2009-05-05 08:18 -------
As far as I can say, the targets with this problem are: avr, bfin, h8300,
picochip and sh (for some subtargets of sh).

On avr, bfin, h8300 and picochip, we're doomed anyway because there is no
double-sized type at all. On sh, we could use long double math calls.

I'm making this into an enhancement; it will probably be very painful, because
most of the front-end assumes FLOAT_TYPE_SIZE == 32 and DOUBLE_TYPE_SIZE == 64.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fxcoudert at gcc dot gnu dot
                   |                            |org
           Severity|normal                      |enhancement
 GCC target triplet|sh-unknown-elf              |sh, avr, bfin, h8300,
                   |                            |picochip
           Priority|P3                          |P5
   Last reconfirmed|2007-11-16 23:42:54         |2009-05-05 08:18:07
               date|                            |
            Summary|relation between kinds and C|Support for DOUBLE_TYPE_SIZE
                   |types (for math builtins)   |!= 64 targets
                   |shouldn't be hardcoded      |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34040


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-05-31 15:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-34040-4@http.gcc.gnu.org/bugzilla/>
2012-03-08 22:17 ` [Bug fortran/34040] Support for DOUBLE_TYPE_SIZE != 64 targets kkojima at gcc dot gnu.org
2013-12-05 19:39 ` olegendo at gcc dot gnu.org
2015-09-05  4:05 ` olegendo at gcc dot gnu.org
2021-05-31 15:45 ` dominiq at lps dot ens.fr
2023-05-31 15:17 ` gjl at gcc dot gnu.org
2007-11-09 10:42 [Bug middle-end/34040] New: [4.3 Regression] ICE: in simplify_subreg, at simplify-rtx.c:4921 building libgfortran rask at gcc dot gnu dot org
2009-05-05  8:18 ` [Bug fortran/34040] Support for DOUBLE_TYPE_SIZE != 64 targets fxcoudert at gcc dot gnu dot org

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).