578 |
578 |
global registers */
|
579 |
579 |
// delay slot
|
580 |
580 |
tcg_out_ldst(s, TCG_AREG0, TCG_REG_CALL_STACK,
|
581 |
|
TCG_TARGET_CALL_STACK_OFFSET - sizeof(long), HOST_ST_OP);
|
|
581 |
TCG_TARGET_CALL_STACK_OFFSET - TCG_STATIC_CALL_ARGS_SIZE -
|
|
582 |
sizeof(long), HOST_ST_OP);
|
582 |
583 |
tcg_out_ldst(s, TCG_AREG0, TCG_REG_CALL_STACK,
|
583 |
|
TCG_TARGET_CALL_STACK_OFFSET - sizeof(long), HOST_LD_OP);
|
|
584 |
TCG_TARGET_CALL_STACK_OFFSET - TCG_STATIC_CALL_ARGS_SIZE -
|
|
585 |
sizeof(long), HOST_LD_OP);
|
584 |
586 |
|
585 |
587 |
/* data_reg = sign_extend(arg0) */
|
586 |
588 |
switch(opc) {
|
... | ... | |
781 |
783 |
global registers */
|
782 |
784 |
// delay slot
|
783 |
785 |
tcg_out_ldst(s, TCG_AREG0, TCG_REG_CALL_STACK,
|
784 |
|
TCG_TARGET_CALL_STACK_OFFSET - sizeof(long), HOST_ST_OP);
|
|
786 |
TCG_TARGET_CALL_STACK_OFFSET - TCG_STATIC_CALL_ARGS_SIZE -
|
|
787 |
sizeof(long), HOST_ST_OP);
|
785 |
788 |
tcg_out_ldst(s, TCG_AREG0, TCG_REG_CALL_STACK,
|
786 |
|
TCG_TARGET_CALL_STACK_OFFSET - sizeof(long), HOST_LD_OP);
|
|
789 |
TCG_TARGET_CALL_STACK_OFFSET - TCG_STATIC_CALL_ARGS_SIZE -
|
|
790 |
sizeof(long), HOST_LD_OP);
|
787 |
791 |
|
788 |
792 |
/* will become:
|
789 |
793 |
ba label2 */
|
... | ... | |
905 |
909 |
global registers */
|
906 |
910 |
// delay slot
|
907 |
911 |
tcg_out_ldst(s, TCG_AREG0, TCG_REG_CALL_STACK,
|
908 |
|
TCG_TARGET_CALL_STACK_OFFSET - sizeof(long), HOST_ST_OP);
|
|
912 |
TCG_TARGET_CALL_STACK_OFFSET - TCG_STATIC_CALL_ARGS_SIZE -
|
|
913 |
sizeof(long), HOST_ST_OP);
|
909 |
914 |
tcg_out_ldst(s, TCG_AREG0, TCG_REG_CALL_STACK,
|
910 |
|
TCG_TARGET_CALL_STACK_OFFSET - sizeof(long), HOST_LD_OP);
|
|
915 |
TCG_TARGET_CALL_STACK_OFFSET - TCG_STATIC_CALL_ARGS_SIZE -
|
|
916 |
sizeof(long), HOST_LD_OP);
|
911 |
917 |
break;
|
912 |
918 |
case INDEX_op_jmp:
|
913 |
919 |
case INDEX_op_br:
|