@@ -2125,10 +2125,6 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext,
21252125 TCGArg a2 = args[2 ];
21262126 int c2 = const_args[2 ];
21272127
2128- /* Some operands are defined with "rZ" constraint, a register or
2129- the zero register. These need not actually test args[I] == 0. */
2130- #define REG0 (I ) (const_args[I] ? TCG_REG_XZR : (TCGReg)args[I])
2131-
21322128 switch (opc) {
21332129 case INDEX_op_goto_ptr:
21342130 tcg_out_insn (s, 3207 , BR, a0);
@@ -2171,18 +2167,18 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext,
21712167
21722168 case INDEX_op_st8_i32:
21732169 case INDEX_op_st8_i64:
2174- tcg_out_ldst (s, I3312_STRB, REG0 ( 0 ) , a1, a2, 0 );
2170+ tcg_out_ldst (s, I3312_STRB, a0 , a1, a2, 0 );
21752171 break ;
21762172 case INDEX_op_st16_i32:
21772173 case INDEX_op_st16_i64:
2178- tcg_out_ldst (s, I3312_STRH, REG0 ( 0 ) , a1, a2, 1 );
2174+ tcg_out_ldst (s, I3312_STRH, a0 , a1, a2, 1 );
21792175 break ;
21802176 case INDEX_op_st_i32:
21812177 case INDEX_op_st32_i64:
2182- tcg_out_ldst (s, I3312_STRW, REG0 ( 0 ) , a1, a2, 2 );
2178+ tcg_out_ldst (s, I3312_STRW, a0 , a1, a2, 2 );
21832179 break ;
21842180 case INDEX_op_st_i64:
2185- tcg_out_ldst (s, I3312_STRX, REG0 ( 0 ) , a1, a2, 3 );
2181+ tcg_out_ldst (s, I3312_STRX, a0 , a1, a2, 3 );
21862182 break ;
21872183
21882184 case INDEX_op_add_i32:
@@ -2395,7 +2391,7 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext,
23952391 /* FALLTHRU */
23962392 case INDEX_op_movcond_i64:
23972393 tcg_out_cmp (s, ext, args[5 ], a1, a2, c2);
2398- tcg_out_insn (s, 3506 , CSEL, ext, a0, REG0 ( 3 ), REG0 ( 4 ) , args[5 ]);
2394+ tcg_out_insn (s, 3506 , CSEL, ext, a0, args[ 3 ], args[ 4 ] , args[5 ]);
23992395 break ;
24002396
24012397 case INDEX_op_qemu_ld_i32:
@@ -2404,13 +2400,13 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext,
24042400 break ;
24052401 case INDEX_op_qemu_st_i32:
24062402 case INDEX_op_qemu_st_i64:
2407- tcg_out_qemu_st (s, REG0 ( 0 ) , a1, a2, ext);
2403+ tcg_out_qemu_st (s, a0 , a1, a2, ext);
24082404 break ;
24092405 case INDEX_op_qemu_ld_i128:
24102406 tcg_out_qemu_ldst_i128 (s, a0, a1, a2, args[3 ], true );
24112407 break ;
24122408 case INDEX_op_qemu_st_i128:
2413- tcg_out_qemu_ldst_i128 (s, REG0 ( 0 ), REG0 ( 1 ) , a2, args[3 ], false );
2409+ tcg_out_qemu_ldst_i128 (s, a0, a1 , a2, args[3 ], false );
24142410 break ;
24152411
24162412 case INDEX_op_bswap64_i64:
@@ -2439,7 +2435,7 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext,
24392435
24402436 case INDEX_op_deposit_i64:
24412437 case INDEX_op_deposit_i32:
2442- tcg_out_dep (s, ext, a0, REG0 ( 2 ) , args[3 ], args[4 ]);
2438+ tcg_out_dep (s, ext, a0, a2 , args[3 ], args[4 ]);
24432439 break ;
24442440
24452441 case INDEX_op_extract_i64:
@@ -2459,25 +2455,25 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext,
24592455
24602456 case INDEX_op_extract2_i64:
24612457 case INDEX_op_extract2_i32:
2462- tcg_out_extr (s, ext, a0, REG0 ( 2 ), REG0 ( 1 ) , args[3 ]);
2458+ tcg_out_extr (s, ext, a0, a2, a1 , args[3 ]);
24632459 break ;
24642460
24652461 case INDEX_op_add2_i32:
2466- tcg_out_addsub2 (s, TCG_TYPE_I32, a0, a1, REG0 ( 2 ), REG0 ( 3 ) ,
2462+ tcg_out_addsub2 (s, TCG_TYPE_I32, a0, a1, a2, args[ 3 ] ,
24672463 (int32_t )args[4 ], args[5 ], const_args[4 ],
24682464 const_args[5 ], false );
24692465 break ;
24702466 case INDEX_op_add2_i64:
2471- tcg_out_addsub2 (s, TCG_TYPE_I64, a0, a1, REG0 ( 2 ), REG0 ( 3 ) , args[4 ],
2467+ tcg_out_addsub2 (s, TCG_TYPE_I64, a0, a1, a2, args[ 3 ] , args[4 ],
24722468 args[5 ], const_args[4 ], const_args[5 ], false );
24732469 break ;
24742470 case INDEX_op_sub2_i32:
2475- tcg_out_addsub2 (s, TCG_TYPE_I32, a0, a1, REG0 ( 2 ), REG0 ( 3 ) ,
2471+ tcg_out_addsub2 (s, TCG_TYPE_I32, a0, a1, a2, args[ 3 ] ,
24762472 (int32_t )args[4 ], args[5 ], const_args[4 ],
24772473 const_args[5 ], true );
24782474 break ;
24792475 case INDEX_op_sub2_i64:
2480- tcg_out_addsub2 (s, TCG_TYPE_I64, a0, a1, REG0 ( 2 ), REG0 ( 3 ) , args[4 ],
2476+ tcg_out_addsub2 (s, TCG_TYPE_I64, a0, a1, a2, args[ 3 ] , args[4 ],
24812477 args[5 ], const_args[4 ], const_args[5 ], true );
24822478 break ;
24832479
@@ -2513,8 +2509,6 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext,
25132509 default :
25142510 g_assert_not_reached ();
25152511 }
2516-
2517- #undef REG0
25182512}
25192513
25202514static void tcg_out_vec_op (TCGContext *s, TCGOpcode opc,
@@ -3010,7 +3004,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags)
30103004 case INDEX_op_st16_i64:
30113005 case INDEX_op_st32_i64:
30123006 case INDEX_op_st_i64:
3013- return C_O0_I2 (rZ , r);
3007+ return C_O0_I2 (rz , r);
30143008
30153009 case INDEX_op_add_i32:
30163010 case INDEX_op_add_i64:
@@ -3076,7 +3070,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags)
30763070
30773071 case INDEX_op_movcond_i32:
30783072 case INDEX_op_movcond_i64:
3079- return C_O1_I4 (r, r, rC, rZ, rZ );
3073+ return C_O1_I4 (r, r, rC, rz, rz );
30803074
30813075 case INDEX_op_qemu_ld_i32:
30823076 case INDEX_op_qemu_ld_i64:
@@ -3085,23 +3079,23 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags)
30853079 return C_O2_I1 (r, r, r);
30863080 case INDEX_op_qemu_st_i32:
30873081 case INDEX_op_qemu_st_i64:
3088- return C_O0_I2 (rZ , r);
3082+ return C_O0_I2 (rz , r);
30893083 case INDEX_op_qemu_st_i128:
3090- return C_O0_I3 (rZ, rZ , r);
3084+ return C_O0_I3 (rz, rz , r);
30913085
30923086 case INDEX_op_deposit_i32:
30933087 case INDEX_op_deposit_i64:
3094- return C_O1_I2 (r, 0 , rZ );
3088+ return C_O1_I2 (r, 0 , rz );
30953089
30963090 case INDEX_op_extract2_i32:
30973091 case INDEX_op_extract2_i64:
3098- return C_O1_I2 (r, rZ, rZ );
3092+ return C_O1_I2 (r, rz, rz );
30993093
31003094 case INDEX_op_add2_i32:
31013095 case INDEX_op_add2_i64:
31023096 case INDEX_op_sub2_i32:
31033097 case INDEX_op_sub2_i64:
3104- return C_O2_I4 (r, r, rZ, rZ , rA, rMZ);
3098+ return C_O2_I4 (r, r, rz, rz , rA, rMZ);
31053099
31063100 case INDEX_op_add_vec:
31073101 case INDEX_op_sub_vec:
0 commit comments