This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Promoting floats to doubles?


On Wed, 2004-05-05 at 02:00, Kean Johnston wrote:
> #define PROMOTE_MODE(MODE,UNSIGNEDP, TYPE) \
> #define PROMOTE_FUNCTION_ARGS
> #define PROMOTE_FOR_CALL_ONLY

PROMOTE_FOR_CALL_ONLY was removed last week by the way.

The PROMOTE_MODE stuff may not work in your case.  Currently, they are
only for integers (char/short/int/long), and they work by adding
SUBREGs.  However, SUBREGs can not be used for converting floats to
doubles and vice versa.  So the PROMOTE_MODE stuff will just lead to
trouble.  You might be able to get it working, but you will have to
rewrite the code a bit.  It might be easier to add some new hooks which
are used in the same places but generate conversions instead of adding
subregs.

It is probably easier to do this in the C front end, even if that is the
wrong place to do this.  It will be a bit more work to do this in the
middle-end.  I don't believe there are any existing hooks for this.  I
will you will. have to write some code to get this working in the
middle-end.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]