1 void glue(do_lwl, MEMSUFFIX) (void)
8 tmp = glue(ldl, MEMSUFFIX)(T0 & ~3);
9 /* XXX: this is valid only in big-endian mode
10 * should be reverted for little-endian...
17 T0 = (tmp << 8) | (T1 & 0x000000FF);
20 T0 = (tmp << 16) | (T1 & 0x0000FFFF);
23 T0 = (tmp << 24) | (T1 & 0x00FFFFFF);
26 #if defined (DEBUG_OP)
28 fprintf(logfile, "%s: %08x - %08x %08x => %08x\n",
29 __func__, sav, tmp, T1, T0);
35 void glue(do_lwr, MEMSUFFIX) (void)
37 #if defined (DEBUG_OP)
38 target_ulong sav = T0;
42 tmp = glue(ldl, MEMSUFFIX)(T0 & ~3);
43 /* XXX: this is valid only in big-endian mode
44 * should be reverted for little-endian...
48 T0 = (tmp >> 24) | (T1 & 0xFFFFFF00);
51 T0 = (tmp >> 16) | (T1 & 0xFFFF0000);
54 T0 = (tmp >> 8) | (T1 & 0xFF000000);
60 #if defined (DEBUG_OP)
62 fprintf(logfile, "%s: %08x - %08x %08x => %08x\n",
63 __func__, sav, tmp, T1, T0);
69 void glue(do_swl, MEMSUFFIX) (void)
71 #if defined (DEBUG_OP)
76 tmp = glue(ldl, MEMSUFFIX)(T0 & ~3);
77 #if defined (DEBUG_OP)
80 /* XXX: this is valid only in big-endian mode
81 * should be reverted for little-endian...
88 tmp = (tmp & 0xFF000000) | (T1 >> 8);
91 tmp = (tmp & 0xFFFF0000) | (T1 >> 16);
94 tmp = (tmp & 0xFFFFFF00) | (T1 >> 24);
97 glue(stl, MEMSUFFIX)(T0 & ~3, tmp);
98 #if defined (DEBUG_OP)
100 fprintf(logfile, "%s: %08x - %08x %08x => %08x\n",
101 __func__, T0, sav, T1, tmp);
107 void glue(do_swr, MEMSUFFIX) (void)
109 #if defined (DEBUG_OP)
114 tmp = glue(ldl, MEMSUFFIX)(T0 & ~3);
115 #if defined (DEBUG_OP)
118 /* XXX: this is valid only in big-endian mode
119 * should be reverted for little-endian...
123 tmp = (tmp & 0x00FFFFFF) | (T1 << 24);
126 tmp = (tmp & 0x0000FFFF) | (T1 << 16);
129 tmp = (tmp & 0x000000FF) | (T1 << 8);
135 glue(stl, MEMSUFFIX)(T0 & ~3, tmp);
136 #if defined (DEBUG_OP)
138 fprintf(logfile, "%s: %08x - %08x %08x => %08x\n",
139 __func__, T0, sav, T1, tmp);