diff options
Diffstat (limited to 'target-arm/op_mem.h')
-rw-r--r-- | target-arm/op_mem.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/target-arm/op_mem.h b/target-arm/op_mem.h index 29fd85bc32..6bccb0651d 100644 --- a/target-arm/op_mem.h +++ b/target-arm/op_mem.h @@ -67,4 +67,24 @@ VFP_MEM_OP(d,q) #undef VFP_MEM_OP +/* iwMMXt load/store. Address is in T1 */ +#define MMX_MEM_OP(name, ldname) \ +void OPPROTO glue(op_iwmmxt_ld##name,MEMSUFFIX)(void) \ +{ \ + M0 = glue(ld##ldname,MEMSUFFIX)(T1); \ + FORCE_RET(); \ +} \ +void OPPROTO glue(op_iwmmxt_st##name,MEMSUFFIX)(void) \ +{ \ + glue(st##name,MEMSUFFIX)(T1, M0); \ + FORCE_RET(); \ +} + +MMX_MEM_OP(b, ub) +MMX_MEM_OP(w, uw) +MMX_MEM_OP(l, l) +MMX_MEM_OP(q, q) + +#undef MMX_MEM_OP + #undef MEMSUFFIX |