67 |
RETURN(); |
RETURN(); |
68 |
} |
} |
69 |
|
|
70 |
/* "half" load and stores */ |
/* "half" load and stores. We must do the memory access inline, |
71 |
|
or fault handling won't work. */ |
72 |
void glue(op_lwl, MEMSUFFIX) (void) |
void glue(op_lwl, MEMSUFFIX) (void) |
73 |
{ |
{ |
74 |
CALL_FROM_TB0(glue(do_lwl, MEMSUFFIX)); |
uint32_t tmp = glue(ldl, MEMSUFFIX)(T0 & ~3); |
75 |
|
CALL_FROM_TB1(glue(do_lwl, MEMSUFFIX), tmp); |
76 |
RETURN(); |
RETURN(); |
77 |
} |
} |
78 |
|
|
79 |
void glue(op_lwr, MEMSUFFIX) (void) |
void glue(op_lwr, MEMSUFFIX) (void) |
80 |
{ |
{ |
81 |
CALL_FROM_TB0(glue(do_lwr, MEMSUFFIX)); |
uint32_t tmp = glue(ldl, MEMSUFFIX)(T0 & ~3); |
82 |
|
CALL_FROM_TB1(glue(do_lwr, MEMSUFFIX), tmp); |
83 |
RETURN(); |
RETURN(); |
84 |
} |
} |
85 |
|
|
86 |
void glue(op_swl, MEMSUFFIX) (void) |
void glue(op_swl, MEMSUFFIX) (void) |
87 |
{ |
{ |
88 |
CALL_FROM_TB0(glue(do_swl, MEMSUFFIX)); |
uint32_t tmp = glue(ldl, MEMSUFFIX)(T0 & ~3); |
89 |
|
tmp = CALL_FROM_TB1(glue(do_swl, MEMSUFFIX), tmp); |
90 |
|
glue(stl, MEMSUFFIX)(T0 & ~3, tmp); |
91 |
RETURN(); |
RETURN(); |
92 |
} |
} |
93 |
|
|
94 |
void glue(op_swr, MEMSUFFIX) (void) |
void glue(op_swr, MEMSUFFIX) (void) |
95 |
{ |
{ |
96 |
CALL_FROM_TB0(glue(do_swr, MEMSUFFIX)); |
uint32_t tmp = glue(ldl, MEMSUFFIX)(T0 & ~3); |
97 |
|
tmp = CALL_FROM_TB1(glue(do_swr, MEMSUFFIX), tmp); |
98 |
|
glue(stl, MEMSUFFIX)(T0 & ~3, tmp); |
99 |
RETURN(); |
RETURN(); |
100 |
} |
} |
101 |
|
|