On 1/13/21 7:24 AM, Philippe Mathieu-Daudé wrote:
> case INDEX_op_ld8s_i32:
> case INDEX_op_ld8s_i64:
> - tcg_out_mem_long(s, LBZ, LBZX, args[0], args[1], args[2]);
> + tcg_out_mem_long(s, LBZ, LBZX, a0, a1, a2);
> tcg_out32(s, EXTSB | RS(args[0]) | RA(args[0]));
Missed replacements.
> - a0 = args[0], a1 = args[1], a2 = args[2];
> if (const_args[2]) {
Missed replacement.
> do_addi_32:
> tcg_out_mem_long(s, ADDI, ADD, a0, a1, (int32_t)a2);
> @@ -2475,7 +2481,6 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc,
> const TCGArg *args,
> }
> break;
> case INDEX_op_sub_i32:
> - a0 = args[0], a1 = args[1], a2 = args[2];
> if (const_args[1]) {
> if (const_args[2]) {
And again.
Let's just drop the hoisting parts and only do the signature parts for now.
I'd rather think of a way to split up this large function than waste time
optimizing it.
r~