public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/29969] should use floating point registers for block copies
       [not found] <bug-29969-4@http.gcc.gnu.org/bugzilla/>
@ 2012-07-15 18:44 ` olegendo at gcc dot gnu.org
  0 siblings, 0 replies; 4+ messages in thread
From: olegendo at gcc dot gnu.org @ 2012-07-15 18:44 UTC (permalink / raw)
  To: gcc-bugs

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

Oleg Endo <olegendo at gcc dot gnu.org> changed:

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

--- Comment #4 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-07-15 18:43:59 UTC ---
(In reply to comment #3)
> (In reply to comment #2)
> > This could be a disaster if floating point exceptions are enabled, as it would
> > trigger an exception whenever some part of the block was an invalid floating
> > point number.
> > One would at least need to save/restore the floating point exception flags
> > around such a block copy.
> 
> If that is an issue is target specific.  First, if all floating point loads
> detect loading invalid floating point numbers, and sencond, if floating point
> exceptions are used for the target in practical terms.
> E.G. for the SH4 (at least SH4-100 / SH4-200), you get always a floating
> point exception if the exception is enabled and it could happen for any
> input data, so it is not very popular to enable it.

Jörn, I know it's been a while since you worked on the SH port...

According to SH4, SH4A and SH2A manuals these are the following exceptions
that could be triggered by FMOV instructions:

SH4 / SH4A:
 - Data TLB miss exception
 - Data protection violation exception
 - Initial page write exception
 - Data address error

SH2A:
 - Address error

... plus the 'FPU disabled exception'.
As far as I understand the manuals, FPU exceptions are only raised for
FPU arithmetic, not for loads/stores.
If this is true, using 64 bit fmov for block moves could be beneficial.
Still, I'd not enable this by default but allow the user to turn it on
with an -m option.


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

* [Bug target/29969] should use floating point registers for block copies
  2006-11-24 12:03 [Bug target/29969] New: " amylaar at gcc dot gnu dot org
  2006-11-25 23:36 ` [Bug target/29969] " pinskia at gcc dot gnu dot org
  2010-06-10 16:43 ` marc dot mengel at gmail dot com
@ 2010-06-10 19:59 ` amylaar at gcc dot gnu dot org
  2 siblings, 0 replies; 4+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2010-06-10 19:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from amylaar at gcc dot gnu dot org  2010-06-10 19:58 -------
(In reply to comment #2)
> This could be a disaster if floating point exceptions are enabled, as it would
> trigger an exception whenever some part of the block was an invalid floating
> point number.
> One would at least need to save/restore the floating point exception flags
> around such a block copy.

If that is an issue is target specific.  First, if all floating point loads
detect loading invalid floating point numbers, and sencond, if floating point
exceptions are used for the target in practical terms.
E.G. for the SH4 (at least SH4-100 / SH4-200), you get always a floating
point exception if the exception is enabled and it could happen for any
input data, so it is not very popular to enable it.


-- 


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


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

* [Bug target/29969] should use floating point registers for block copies
  2006-11-24 12:03 [Bug target/29969] New: " amylaar at gcc dot gnu dot org
  2006-11-25 23:36 ` [Bug target/29969] " pinskia at gcc dot gnu dot org
@ 2010-06-10 16:43 ` marc dot mengel at gmail dot com
  2010-06-10 19:59 ` amylaar at gcc dot gnu dot org
  2 siblings, 0 replies; 4+ messages in thread
From: marc dot mengel at gmail dot com @ 2010-06-10 16:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from marc dot mengel at gmail dot com  2010-06-10 16:43 -------
This could be a disaster if floating point exceptions are enabled, as it would
trigger an exception whenever some part of the block was an invalid floating
point number.
One would at least need to save/restore the floating point exception flags
around such a block copy.


-- 


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


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

* [Bug target/29969] should use floating point registers for block copies
  2006-11-24 12:03 [Bug target/29969] New: " amylaar at gcc dot gnu dot org
@ 2006-11-25 23:36 ` pinskia at gcc dot gnu dot org
  2010-06-10 16:43 ` marc dot mengel at gmail dot com
  2010-06-10 19:59 ` amylaar at gcc dot gnu dot org
  2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-11-25 23:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2006-11-25 23:36 -------
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-11-25 23:36:47
               date|                            |


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


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

end of thread, other threads:[~2012-07-15 18:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-29969-4@http.gcc.gnu.org/bugzilla/>
2012-07-15 18:44 ` [Bug target/29969] should use floating point registers for block copies olegendo at gcc dot gnu.org
2006-11-24 12:03 [Bug target/29969] New: " amylaar at gcc dot gnu dot org
2006-11-25 23:36 ` [Bug target/29969] " pinskia at gcc dot gnu dot org
2010-06-10 16:43 ` marc dot mengel at gmail dot com
2010-06-10 19:59 ` amylaar 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).