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

--- Comment #7 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-06-05 20:08:08 
UTC ---
> (In reply to comment #4)
> 
> Make -mfused-madd no-op instead to remove for the backward
> compatibility.

Sorry, I don't quite follow.  According to my understanding we have
something like the following...

(A): New behavior (attachment 27558, using common gcc/config/fused-madd.opt)
(B): Old behavior
(C): New behavior, with -mfused-madd being a nop

                 |                  |  (A)     |   (B)    |   (C)
1st option       | 2nd option       | fma pat. | fmac pat.| fma pat. (new)
                 |                  | (new)    | (old)    | (mfused-madd = nop)
=================+==================+==========+==========+==================
<no option>      | -ffp-contract=   | 1        | 0        | 1
                 |  <no opt = fast> |          |          |
-----------------+------------------+----------+----------+------------------
<no option>      | -fpp-contract=off| 0        | 0        | 0
-----------------+------------------+----------+----------+------------------
-mfused-madd     | -ffp-contract=   | 1        | 1        | 1
                 |  <no opt = fast> |          |          |
-----------------+------------------+----------+----------+------------------
-mno-fused-madd  | -ffp-contract=   | 0        | 0        | 0
                 |  <no opt = fast> |          |          |
-----------------+------------------+----------+----------+------------------
-mfused-madd     | -fpp-contract=off| 0        | 1        | 0
-----------------+------------------+----------+----------+------------------
-mno-fused-madd  | -fpp-contract=off| 0        | 0        | 0
-----------------+------------------+----------+----------+------------------
-fpp-contract=off| -mfused-madd     | 1        | 1        | 0  (*)
-----------------+------------------+----------+----------+------------------
-fpp-contract=off| -mno-fused-madd  | 0        | 0        | 0
-----------------+------------------+----------+----------+------------------

My intention was to avoid having any special -mfused-madd handling in the SH
target code and to re-use the existing common gcc/config/fused-madd.opt.

Making -mfused-madd a no-op with special handling will only differ in the (*)
marked case.  Is this what you had in mind?

Reply via email to