提交 e5e2e4a7 编写于 作者: R Richard Henderson

tcg-arm: Use strd for tcg_out_arg_reg64

Signed-off-by: NRichard Henderson <rth@twiddle.net>
上级 d9f4dde4
...@@ -1149,9 +1149,16 @@ static TCGReg tcg_out_arg_reg64(TCGContext *s, TCGReg argreg, ...@@ -1149,9 +1149,16 @@ static TCGReg tcg_out_arg_reg64(TCGContext *s, TCGReg argreg,
if (argreg & 1) { if (argreg & 1) {
argreg++; argreg++;
} }
argreg = tcg_out_arg_reg32(s, argreg, arglo); if (use_armv6_instructions && argreg >= 4
argreg = tcg_out_arg_reg32(s, argreg, arghi); && (arglo & 1) == 0 && arghi == arglo + 1) {
return argreg; tcg_out_strd_8(s, COND_AL, arglo,
TCG_REG_CALL_STACK, (argreg - 4) * 4);
return argreg + 2;
} else {
argreg = tcg_out_arg_reg32(s, argreg, arglo);
argreg = tcg_out_arg_reg32(s, argreg, arghi);
return argreg;
}
} }
#define TLB_SHIFT (CPU_TLB_ENTRY_BITS + CPU_TLB_BITS) #define TLB_SHIFT (CPU_TLB_ENTRY_BITS + CPU_TLB_BITS)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册