| 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 |
|
|