TCG: Use gen_opparam_ptr from context instead of global variable.
Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
		
							parent
							
								
									efd7f48600
								
							
						
					
					
						commit
						c4afe5c4d3
					
				| 
						 | 
				
			
			@ -16,7 +16,7 @@ static inline void gen_icount_start(void)
 | 
			
		|||
    count = tcg_temp_local_new_i32();
 | 
			
		||||
    tcg_gen_ld_i32(count, cpu_env, offsetof(CPUArchState, icount_decr.u32));
 | 
			
		||||
    /* This is a horrid hack to allow fixing up the value later.  */
 | 
			
		||||
    icount_arg = gen_opparam_ptr + 1;
 | 
			
		||||
    icount_arg = tcg_ctx.gen_opparam_ptr + 1;
 | 
			
		||||
    tcg_gen_subi_i32(count, count, 0xdeadbeef);
 | 
			
		||||
 | 
			
		||||
    tcg_gen_brcondi_i32(TCG_COND_LT, count, 0, icount_label);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										254
									
								
								tcg/tcg-op.h
								
								
								
								
							
							
						
						
									
										254
									
								
								tcg/tcg-op.h
								
								
								
								
							| 
						 | 
				
			
			@ -33,230 +33,230 @@ static inline void tcg_gen_op0(TCGOpcode opc)
 | 
			
		|||
static inline void tcg_gen_op1_i32(TCGOpcode opc, TCGv_i32 arg1)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op1_i64(TCGOpcode opc, TCGv_i64 arg1)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op1i(TCGOpcode opc, TCGArg arg1)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = arg1;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op2_i32(TCGOpcode opc, TCGv_i32 arg1, TCGv_i32 arg2)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op2_i64(TCGOpcode opc, TCGv_i64 arg1, TCGv_i64 arg2)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op2i_i32(TCGOpcode opc, TCGv_i32 arg1, TCGArg arg2)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = arg2;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op2i_i64(TCGOpcode opc, TCGv_i64 arg1, TCGArg arg2)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = arg2;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op2ii(TCGOpcode opc, TCGArg arg1, TCGArg arg2)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = arg1;
 | 
			
		||||
    *gen_opparam_ptr++ = arg2;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg1;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op3_i32(TCGOpcode opc, TCGv_i32 arg1, TCGv_i32 arg2,
 | 
			
		||||
                                   TCGv_i32 arg3)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op3_i64(TCGOpcode opc, TCGv_i64 arg1, TCGv_i64 arg2,
 | 
			
		||||
                                   TCGv_i64 arg3)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op3i_i32(TCGOpcode opc, TCGv_i32 arg1,
 | 
			
		||||
                                    TCGv_i32 arg2, TCGArg arg3)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = arg3;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op3i_i64(TCGOpcode opc, TCGv_i64 arg1,
 | 
			
		||||
                                    TCGv_i64 arg2, TCGArg arg3)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = arg3;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_ldst_op_i32(TCGOpcode opc, TCGv_i32 val,
 | 
			
		||||
                                       TCGv_ptr base, TCGArg offset)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(val);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_PTR(base);
 | 
			
		||||
    *gen_opparam_ptr++ = offset;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(val);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_PTR(base);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = offset;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_ldst_op_i64(TCGOpcode opc, TCGv_i64 val,
 | 
			
		||||
                                       TCGv_ptr base, TCGArg offset)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(val);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_PTR(base);
 | 
			
		||||
    *gen_opparam_ptr++ = offset;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(val);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_PTR(base);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = offset;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_qemu_ldst_op_i64_i32(TCGOpcode opc, TCGv_i64 val,
 | 
			
		||||
                                                TCGv_i32 addr, TCGArg mem_index)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(val);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(addr);
 | 
			
		||||
    *gen_opparam_ptr++ = mem_index;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(val);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(addr);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = mem_index;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_qemu_ldst_op_i64_i64(TCGOpcode opc, TCGv_i64 val,
 | 
			
		||||
                                                TCGv_i64 addr, TCGArg mem_index)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(val);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(addr);
 | 
			
		||||
    *gen_opparam_ptr++ = mem_index;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(val);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(addr);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = mem_index;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op4_i32(TCGOpcode opc, TCGv_i32 arg1, TCGv_i32 arg2,
 | 
			
		||||
                                   TCGv_i32 arg3, TCGv_i32 arg4)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op4_i64(TCGOpcode opc, TCGv_i64 arg1, TCGv_i64 arg2,
 | 
			
		||||
                                   TCGv_i64 arg3, TCGv_i64 arg4)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op4i_i32(TCGOpcode opc, TCGv_i32 arg1, TCGv_i32 arg2,
 | 
			
		||||
                                    TCGv_i32 arg3, TCGArg arg4)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = arg4;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg4;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op4i_i64(TCGOpcode opc, TCGv_i64 arg1, TCGv_i64 arg2,
 | 
			
		||||
                                    TCGv_i64 arg3, TCGArg arg4)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = arg4;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg4;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op4ii_i32(TCGOpcode opc, TCGv_i32 arg1, TCGv_i32 arg2,
 | 
			
		||||
                                     TCGArg arg3, TCGArg arg4)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = arg3;
 | 
			
		||||
    *gen_opparam_ptr++ = arg4;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg3;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg4;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op4ii_i64(TCGOpcode opc, TCGv_i64 arg1, TCGv_i64 arg2,
 | 
			
		||||
                                     TCGArg arg3, TCGArg arg4)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = arg3;
 | 
			
		||||
    *gen_opparam_ptr++ = arg4;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg3;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg4;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op5_i32(TCGOpcode opc, TCGv_i32 arg1, TCGv_i32 arg2,
 | 
			
		||||
                                   TCGv_i32 arg3, TCGv_i32 arg4, TCGv_i32 arg5)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg5);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg5);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op5_i64(TCGOpcode opc, TCGv_i64 arg1, TCGv_i64 arg2,
 | 
			
		||||
                                   TCGv_i64 arg3, TCGv_i64 arg4, TCGv_i64 arg5)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg5);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg5);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op5i_i32(TCGOpcode opc, TCGv_i32 arg1, TCGv_i32 arg2,
 | 
			
		||||
                                    TCGv_i32 arg3, TCGv_i32 arg4, TCGArg arg5)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
    *gen_opparam_ptr++ = arg5;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op5i_i64(TCGOpcode opc, TCGv_i64 arg1, TCGv_i64 arg2,
 | 
			
		||||
                                    TCGv_i64 arg3, TCGv_i64 arg4, TCGArg arg5)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
    *gen_opparam_ptr++ = arg5;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op5ii_i32(TCGOpcode opc, TCGv_i32 arg1,
 | 
			
		||||
| 
						 | 
				
			
			@ -264,11 +264,11 @@ static inline void tcg_gen_op5ii_i32(TCGOpcode opc, TCGv_i32 arg1,
 | 
			
		|||
                                     TCGArg arg4, TCGArg arg5)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = arg4;
 | 
			
		||||
    *gen_opparam_ptr++ = arg5;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg4;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op5ii_i64(TCGOpcode opc, TCGv_i64 arg1,
 | 
			
		||||
| 
						 | 
				
			
			@ -276,11 +276,11 @@ static inline void tcg_gen_op5ii_i64(TCGOpcode opc, TCGv_i64 arg1,
 | 
			
		|||
                                     TCGArg arg4, TCGArg arg5)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = arg4;
 | 
			
		||||
    *gen_opparam_ptr++ = arg5;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg4;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op6_i32(TCGOpcode opc, TCGv_i32 arg1, TCGv_i32 arg2,
 | 
			
		||||
| 
						 | 
				
			
			@ -288,12 +288,12 @@ static inline void tcg_gen_op6_i32(TCGOpcode opc, TCGv_i32 arg1, TCGv_i32 arg2,
 | 
			
		|||
                                   TCGv_i32 arg6)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg5);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg6);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg5);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg6);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op6_i64(TCGOpcode opc, TCGv_i64 arg1, TCGv_i64 arg2,
 | 
			
		||||
| 
						 | 
				
			
			@ -301,12 +301,12 @@ static inline void tcg_gen_op6_i64(TCGOpcode opc, TCGv_i64 arg1, TCGv_i64 arg2,
 | 
			
		|||
                                   TCGv_i64 arg6)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg5);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg6);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg5);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg6);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op6i_i32(TCGOpcode opc, TCGv_i32 arg1, TCGv_i32 arg2,
 | 
			
		||||
| 
						 | 
				
			
			@ -314,12 +314,12 @@ static inline void tcg_gen_op6i_i32(TCGOpcode opc, TCGv_i32 arg1, TCGv_i32 arg2,
 | 
			
		|||
                                    TCGv_i32 arg5, TCGArg arg6)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg5);
 | 
			
		||||
    *gen_opparam_ptr++ = arg6;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg5);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg6;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op6i_i64(TCGOpcode opc, TCGv_i64 arg1, TCGv_i64 arg2,
 | 
			
		||||
| 
						 | 
				
			
			@ -327,12 +327,12 @@ static inline void tcg_gen_op6i_i64(TCGOpcode opc, TCGv_i64 arg1, TCGv_i64 arg2,
 | 
			
		|||
                                    TCGv_i64 arg5, TCGArg arg6)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg5);
 | 
			
		||||
    *gen_opparam_ptr++ = arg6;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg5);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg6;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op6ii_i32(TCGOpcode opc, TCGv_i32 arg1,
 | 
			
		||||
| 
						 | 
				
			
			@ -340,12 +340,12 @@ static inline void tcg_gen_op6ii_i32(TCGOpcode opc, TCGv_i32 arg1,
 | 
			
		|||
                                     TCGv_i32 arg4, TCGArg arg5, TCGArg arg6)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
    *gen_opparam_ptr++ = arg5;
 | 
			
		||||
    *gen_opparam_ptr++ = arg6;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I32(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg5;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg6;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tcg_gen_op6ii_i64(TCGOpcode opc, TCGv_i64 arg1,
 | 
			
		||||
| 
						 | 
				
			
			@ -353,12 +353,12 @@ static inline void tcg_gen_op6ii_i64(TCGOpcode opc, TCGv_i64 arg1,
 | 
			
		|||
                                     TCGv_i64 arg4, TCGArg arg5, TCGArg arg6)
 | 
			
		||||
{
 | 
			
		||||
    *tcg_ctx.gen_opc_ptr++ = opc;
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
    *gen_opparam_ptr++ = arg5;
 | 
			
		||||
    *gen_opparam_ptr++ = arg6;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg1);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg2);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg3);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = GET_TCGV_I64(arg4);
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg5;
 | 
			
		||||
    *tcg_ctx.gen_opparam_ptr++ = arg6;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void gen_set_label(int n)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										36
									
								
								tcg/tcg.c
								
								
								
								
							
							
						
						
									
										36
									
								
								tcg/tcg.c
								
								
								
								
							| 
						 | 
				
			
			@ -298,7 +298,7 @@ void tcg_func_start(TCGContext *s)
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
    s->gen_opc_ptr = gen_opc_buf;
 | 
			
		||||
    gen_opparam_ptr = gen_opparam_buf;
 | 
			
		||||
    s->gen_opparam_ptr = gen_opparam_buf;
 | 
			
		||||
 | 
			
		||||
#if defined(CONFIG_QEMU_LDST_OPTIMIZATION) && defined(CONFIG_SOFTMMU)
 | 
			
		||||
    /* Initialize qemu_ld/st labels to assist code generation at the end of TB
 | 
			
		||||
| 
						 | 
				
			
			@ -642,22 +642,22 @@ void tcg_gen_callN(TCGContext *s, TCGv_ptr func, unsigned int flags,
 | 
			
		|||
#endif /* TCG_TARGET_EXTEND_ARGS */
 | 
			
		||||
 | 
			
		||||
    *s->gen_opc_ptr++ = INDEX_op_call;
 | 
			
		||||
    nparam = gen_opparam_ptr++;
 | 
			
		||||
    nparam = s->gen_opparam_ptr++;
 | 
			
		||||
    if (ret != TCG_CALL_DUMMY_ARG) {
 | 
			
		||||
#if TCG_TARGET_REG_BITS < 64
 | 
			
		||||
        if (sizemask & 1) {
 | 
			
		||||
#ifdef TCG_TARGET_WORDS_BIGENDIAN
 | 
			
		||||
            *gen_opparam_ptr++ = ret + 1;
 | 
			
		||||
            *gen_opparam_ptr++ = ret;
 | 
			
		||||
            *s->gen_opparam_ptr++ = ret + 1;
 | 
			
		||||
            *s->gen_opparam_ptr++ = ret;
 | 
			
		||||
#else
 | 
			
		||||
            *gen_opparam_ptr++ = ret;
 | 
			
		||||
            *gen_opparam_ptr++ = ret + 1;
 | 
			
		||||
            *s->gen_opparam_ptr++ = ret;
 | 
			
		||||
            *s->gen_opparam_ptr++ = ret + 1;
 | 
			
		||||
#endif
 | 
			
		||||
            nb_rets = 2;
 | 
			
		||||
        } else
 | 
			
		||||
#endif
 | 
			
		||||
        {
 | 
			
		||||
            *gen_opparam_ptr++ = ret;
 | 
			
		||||
            *s->gen_opparam_ptr++ = ret;
 | 
			
		||||
            nb_rets = 1;
 | 
			
		||||
        }
 | 
			
		||||
    } else {
 | 
			
		||||
| 
						 | 
				
			
			@ -671,7 +671,7 @@ void tcg_gen_callN(TCGContext *s, TCGv_ptr func, unsigned int flags,
 | 
			
		|||
#ifdef TCG_TARGET_CALL_ALIGN_ARGS
 | 
			
		||||
            /* some targets want aligned 64 bit args */
 | 
			
		||||
            if (real_args & 1) {
 | 
			
		||||
                *gen_opparam_ptr++ = TCG_CALL_DUMMY_ARG;
 | 
			
		||||
                *s->gen_opparam_ptr++ = TCG_CALL_DUMMY_ARG;
 | 
			
		||||
                real_args++;
 | 
			
		||||
            }
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -686,28 +686,28 @@ void tcg_gen_callN(TCGContext *s, TCGv_ptr func, unsigned int flags,
 | 
			
		|||
	       have to get more complicated to differentiate between
 | 
			
		||||
	       stack arguments and register arguments.  */
 | 
			
		||||
#if defined(TCG_TARGET_WORDS_BIGENDIAN) != defined(TCG_TARGET_STACK_GROWSUP)
 | 
			
		||||
            *gen_opparam_ptr++ = args[i] + 1;
 | 
			
		||||
            *gen_opparam_ptr++ = args[i];
 | 
			
		||||
            *s->gen_opparam_ptr++ = args[i] + 1;
 | 
			
		||||
            *s->gen_opparam_ptr++ = args[i];
 | 
			
		||||
#else
 | 
			
		||||
            *gen_opparam_ptr++ = args[i];
 | 
			
		||||
            *gen_opparam_ptr++ = args[i] + 1;
 | 
			
		||||
            *s->gen_opparam_ptr++ = args[i];
 | 
			
		||||
            *s->gen_opparam_ptr++ = args[i] + 1;
 | 
			
		||||
#endif
 | 
			
		||||
            real_args += 2;
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
#endif /* TCG_TARGET_REG_BITS < 64 */
 | 
			
		||||
 | 
			
		||||
        *gen_opparam_ptr++ = args[i];
 | 
			
		||||
        *s->gen_opparam_ptr++ = args[i];
 | 
			
		||||
        real_args++;
 | 
			
		||||
    }
 | 
			
		||||
    *gen_opparam_ptr++ = GET_TCGV_PTR(func);
 | 
			
		||||
    *s->gen_opparam_ptr++ = GET_TCGV_PTR(func);
 | 
			
		||||
 | 
			
		||||
    *gen_opparam_ptr++ = flags;
 | 
			
		||||
    *s->gen_opparam_ptr++ = flags;
 | 
			
		||||
 | 
			
		||||
    *nparam = (nb_rets << 16) | (real_args + 1);
 | 
			
		||||
 | 
			
		||||
    /* total parameters, needed to go backward in the instruction stream */
 | 
			
		||||
    *gen_opparam_ptr++ = 1 + nb_rets + real_args + 3;
 | 
			
		||||
    *s->gen_opparam_ptr++ = 1 + nb_rets + real_args + 3;
 | 
			
		||||
 | 
			
		||||
#if defined(TCG_TARGET_EXTEND_ARGS) && TCG_TARGET_REG_BITS == 64
 | 
			
		||||
    for (i = 0; i < nargs; ++i) {
 | 
			
		||||
| 
						 | 
				
			
			@ -1240,7 +1240,7 @@ static void tcg_liveness_analysis(TCGContext *s)
 | 
			
		|||
    mem_temps = tcg_malloc(s->nb_temps);
 | 
			
		||||
    tcg_la_func_end(s, dead_temps, mem_temps);
 | 
			
		||||
 | 
			
		||||
    args = gen_opparam_ptr;
 | 
			
		||||
    args = s->gen_opparam_ptr;
 | 
			
		||||
    op_index = nb_ops - 1;
 | 
			
		||||
    while (op_index >= 0) {
 | 
			
		||||
        op = gen_opc_buf[op_index];
 | 
			
		||||
| 
						 | 
				
			
			@ -2221,7 +2221,7 @@ static inline int tcg_gen_code_common(TCGContext *s, uint8_t *gen_code_buf,
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef USE_TCG_OPTIMIZATIONS
 | 
			
		||||
    gen_opparam_ptr =
 | 
			
		||||
    s->gen_opparam_ptr =
 | 
			
		||||
        tcg_optimize(s, s->gen_opc_ptr, gen_opparam_buf, tcg_op_defs);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue