Tidy up formatting.
[deliverable/binutils-gdb.git] / sim / common / sim-endian.h
index 1dca5e7a3f8031ec04debd9bbc0bb688c5cfcdca..d733c82056f8c619cdc41610bb903d28b57ef4a8 100644 (file)
@@ -74,6 +74,9 @@ INLINE_SIM_ENDIAN(void*) offset_4(unsigned_4 *x, unsigned ws, unsigned w);
 INLINE_SIM_ENDIAN(void*) offset_8(unsigned_8 *x, unsigned ws, unsigned w);
 INLINE_SIM_ENDIAN(void*) offset_16(unsigned_16 *x, unsigned ws, unsigned w);
 
+INLINE_SIM_ENDIAN(unsigned_16) sim_endian_join_16 (unsigned_8 h, unsigned_8 l);
+INLINE_SIM_ENDIAN(unsigned_8) sim_endian_split_16 (unsigned_16 word, int w);
+
 
 /* SWAP */
 
@@ -133,12 +136,13 @@ INLINE_SIM_ENDIAN(void*) offset_16(unsigned_16 *x, unsigned ws, unsigned w);
 
 #define H2T(VARIABLE) \
 do { \
-  switch (sizeof(VARIABLE)) { \
-  case 1: VARIABLE = H2T_1(VARIABLE); break; \
-  case 2: VARIABLE = H2T_2(VARIABLE); break; \
-  case 4: VARIABLE = H2T_4(VARIABLE); break; \
-  case 8: VARIABLE = H2T_8(VARIABLE); break; \
-  /*case 16: VARIABLE = H2T_16(VARIABLE); break;*/ \
+  void *vp = &(VARIABLE); \
+  switch (sizeof (VARIABLE)) { \
+  case 1: *(unsigned_1*)vp = H2T_1(*(unsigned_1*)vp); break; \
+  case 2: *(unsigned_2*)vp = H2T_2(*(unsigned_2*)vp); break; \
+  case 4: *(unsigned_4*)vp = H2T_4(*(unsigned_4*)vp); break; \
+  case 8: *(unsigned_8*)vp = H2T_8(*(unsigned_8*)vp); break; \
+  case 16: *(unsigned_16*)vp = H2T_16(*(unsigned_16*)vp); break; \
   } \
 } while (0)
 
@@ -308,8 +312,8 @@ do { \
 #define VH4_8(X) ((unsigned_4)((unsigned_8)(X) >> 32))
 #define VL4_8(X) ((unsigned_4)(X))
 
-#define VH8_16(X) ((unsigned_8)((unsigned_16)(X) >> 64))
-#define VL8_16(X) ((unsigned_8)(X))
+#define VH8_16(X) (sim_endian_split_16 ((X), 0))
+#define VL8_16(X) (sim_endian_split_16 ((X), 1))
 
 #if (WITH_TARGET_WORD_BITSIZE == 64)
 #define VH_word(X) VH4_8(X)
@@ -388,7 +392,7 @@ do { \
 #define U8_4(I0,I1) (V8_4(I0,0) | V8_4(I1,1))
 #define U16_4(I0,I1,I2,I3) (V16_4(I0,0) | V16_4(I1,1) | V16_4(I2,2) | V16_4(I3,3))
 
-#define U16_8(I0,I1) (V16_8(I0,0) | V16_8(I1,1))
+#define U16_8(I0,I1) (sim_endian_join_16 (I0, I1))
 
 
 #if (WITH_TARGET_WORD_BITSIZE == 64)
@@ -403,8 +407,8 @@ do { \
 
 
 
-#if (SIM_ENDIAN_INLINE & INCLUDE_MODULE)
-# include "sim-endian.c"
+#if H_REVEALS_MODULE_P (SIM_ENDIAN_INLINE)
+#include "sim-endian.c"
 #endif
 
 #endif /* _SIM_ENDIAN_H_ */
This page took 0.026342 seconds and 4 git commands to generate.