diff options
Diffstat (limited to 'arch/mips/lib/libgcc.h')
| -rw-r--r-- | arch/mips/lib/libgcc.h | 17 | 
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/mips/lib/libgcc.h b/arch/mips/lib/libgcc.h index 28002ed90c2c..199a7f96282f 100644 --- a/arch/mips/lib/libgcc.h +++ b/arch/mips/lib/libgcc.h @@ -10,10 +10,18 @@ typedef int word_type __attribute__ ((mode (__word__)));  struct DWstruct {  	int high, low;  }; + +struct TWstruct { +	long long high, low; +};  #elif defined(__LITTLE_ENDIAN)  struct DWstruct {  	int low, high;  }; + +struct TWstruct { +	long long low, high; +};  #else  #error I feel sick.  #endif @@ -23,4 +31,13 @@ typedef union {  	long long ll;  } DWunion; +#if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPSR6) +typedef int ti_type __attribute__((mode(TI))); + +typedef union { +	struct TWstruct s; +	ti_type ti; +} TWunion; +#endif +  #endif /* __ASM_LIBGCC_H */  | 
