32 bit float emulation on 16 bit machine

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am porting GCC on a 16 bit machine.
I need float emulation and float 32 bit sized.

I do not manage to have libgcc's float emulation working at execution
with 32 bit float configuration but it is alright with 64 bit.

This is my configuration for 32 bit float:

____ target.h _________________________

#define LIBGCC2_UNITS_PER_WORD    2
#define TARGET_FLOAT_FORMAT IEEE_FLOAT_FORMAT
#define FLOAT_TYPE_SIZE   32
____________________________________

this is the one for 64 bit float (working well):

____ target.h _________________________

/* #define LIBGCC2_UNITS_PER_WORD    2 */
#define TARGET_FLOAT_FORMAT IEEE_FLOAT_FORMAT
#define FLOAT_TYPE_SIZE   64
____________________________________

and here is my t-target :

____t- target _________________________
FPBIT = fp-bit.c
DPBIT = dp-bit.c

fp-bit.c: $(srcdir)/config/fp-bit.c
  echo '#define FLOAT' > fp-bit.c
  echo '#define FLOAT_ONLY' >> fp-bit.c
  echo '#define CMPtype HItype' >> fp-bit.c
  echo '#define DF SF' >> fp-bit.c
  echo '#define DI SI' >> fp-bit.c
  echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
  echo '#define SMALL_MACHINE' >> fp-bit.c
  cat $(srcdir)/config/fp-bit.c >> fp-bit.c

dp-bit.c: $(srcdir)/config/fp-bit.c
  cat $(srcdir)/config/fp-bit.c > dp-bit.c
...
TARGET_LIBGCC2_CFLAGS = -O0 -DDF=SF
LIB2_SIDITI_CONV_FUNCS=yes
...
____________________________________

I tried other solutions around these two but nothing to do, wrong
execution unless with the 64 bit configuration.
Could you please help me to configure well so that float emulation is
alright and floats size is 32 bits?


Regards,

Florent

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux