"V Robert" <v_r_robert@xxxxxxxxxxxxxx> writes: > Hi > I'm porting GCC for a 16-bit target (i.e. the register size and > memory operands are 16-bit). In the target header file, I've given > #define INT_TYPE_SIZE 16 > #define LONG_TYPE_SIZE 16, etc > > My issue is that, for immediate operands greater than 16-bits, my > ported compiler is giving "DImode" i.e. 8 bytes. > > For example, the below C statement > > int i=sizeof(0x10000); > > produces assembly which assigns 8 to i. BUT, i'm expecting 2 to be > assigned for i. What should I do to make my ported compiler treat > immediate values greater than 16-bits as HImode operand? [snip] I think you should re post this on gcc at gcc.gnu.org, where you are likely to get better feedback on this sort of problem.