On Fri, 6 Aug 2010, Christophe LYON wrote: > From my brief investigation, I think that the problem is due to the fact that > struct real_value uses the 'long' type for the 'sig' field, while the > computation of REAL_WIDTH relies on HOST_BITS_PER_WIDE_INT.
No, this is not a problem; it's fine to use long in the representation but HOST_WIDE_INT when stored in an rtx. The issue appears rather to be with #define REAL_VALUE_TYPE_SIZE (SIGNIFICAND_BITS + 32) where with 64-bit long there are going to be 32 bits of padding in this structure that are not allowed for. Try changing that 32 to HOST_BITS_PER_LONG. -- Joseph S. Myers jos...@codesourcery.com