On Mon, Mar 8, 2010 at 8:29 AM, Joern Rennecke <joern.renne...@embecosm.com> wrote: > Quoting Frank Isamov <frank.isa...@gmail.com>: > >> Hi, >> >> I'd like to make a backend which would have 48 bits for 'long' type. >> (32 for int and 64 for long long). >> >> I have tried to define: >> #define LONG_TYPE_SIZE 48 > > That's not a partial integer mode; PDImode would have the same size as > DImode, > just not all bits would be significant. > >> and one of: >> INT_MODE (PDI, 6); > > And that wouldn't be PDImode, more like THImode (three-halves integer mode, > going by the precedent of TQFmode - three-quarter float mode - of the 1750a > port in GCC prior to version 3.1) >
I am sorry, I still can conclude how to make the backend use a certain mode for 'long' type. My architecture implements 32- and 48- bit registers and instructions operating on these registers. That it why my intention is to use 'int' for 32 and 'long' for 48 bit operations. My attempts lead to the backend ignore 48 bits path inspite of the LONG_TYPE_SIZE definition and 'long' is still processed as 32 bit value. I think I am missing something, so I am applying for help. Any piece of information would be useful. Thank you, Frank