|
|
1.1 ! root 1: /* Load/store ops. */ ! 2: #define MEM_LD_OP(name,suffix) \ ! 3: OP(glue(glue(ld,name),MEMSUFFIX)) \ ! 4: { \ ! 5: uint32_t addr = get_op(PARAM2); \ ! 6: set_op(PARAM1, glue(glue(ld,suffix),MEMSUFFIX)(addr)); \ ! 7: FORCE_RET(); \ ! 8: } ! 9: ! 10: MEM_LD_OP(8u32,ub) ! 11: MEM_LD_OP(8s32,sb) ! 12: MEM_LD_OP(16u32,uw) ! 13: MEM_LD_OP(16s32,sw) ! 14: MEM_LD_OP(32,l) ! 15: ! 16: #undef MEM_LD_OP ! 17: ! 18: #define MEM_ST_OP(name,suffix) \ ! 19: OP(glue(glue(st,name),MEMSUFFIX)) \ ! 20: { \ ! 21: uint32_t addr = get_op(PARAM1); \ ! 22: glue(glue(st,suffix),MEMSUFFIX)(addr, get_op(PARAM2)); \ ! 23: FORCE_RET(); \ ! 24: } ! 25: ! 26: MEM_ST_OP(8,b) ! 27: MEM_ST_OP(16,w) ! 28: MEM_ST_OP(32,l) ! 29: ! 30: #undef MEM_ST_OP ! 31: ! 32: OP(glue(ldf64,MEMSUFFIX)) ! 33: { ! 34: uint32_t addr = get_op(PARAM2); ! 35: set_opf64(PARAM1, glue(ldfq,MEMSUFFIX)(addr)); ! 36: FORCE_RET(); ! 37: } ! 38: ! 39: OP(glue(stf64,MEMSUFFIX)) ! 40: { ! 41: uint32_t addr = get_op(PARAM1); ! 42: glue(stfq,MEMSUFFIX)(addr, get_opf64(PARAM2)); ! 43: FORCE_RET(); ! 44: } ! 45: ! 46: #undef MEMSUFFIX
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.