+/* PowerPC is Big Endian -> High Reg == second reg */
+/* Low Reg == first ("normal") reg */
+#define GET_FIRST_REG(a) ((a) & 0x0000ffff)
+#define GET_SECOND_REG(a) (((a) & 0xffff0000) >> 16)
+
+#define SET_FIRST_REG(regoff,b) \
+ do { (regoff) &= 0xffff0000; (regoff) |= (b) & 0x0000ffff; } while(0)
+#define SET_SECOND_REG(regoff,b) \
+do { \
+ (regoff) &= 0x0000ffff; (regoff) |= ((b) & 0x0000ffff) << 16; \
+} while(0)
+
+#define GET_LOW_REG(a) GET_SECOND_REG(a)
+#define GET_HIGH_REG(a) GET_FIRST_REG(a)
+
+#define PACK_REGS(low,high) \
+ ( ((high) & 0x0000ffff) | (((low) & 0x0000ffff) << 16) )
+#define SET_HIGH_REG(regoff,b) SET_FIRST_REG(regoff, b)
+#define SET_LOW_REG(regoff,b) SET_SECOND_REG(regoff, b)
+