Commit 405f29650b for qemu.org
commit 405f29650bfe2ed64b878d3384807a1fd385a231
Author: Richard Henderson <richard.henderson@linaro.org>
Date: Thu Aug 27 19:13:09 2026 -0700
tcg: Sort all_outop[] by INDEX name
Most of the opcodes were already sorted, but then there were
a set at the bottom that were left over from the split
between 32 and 64-bit hosts.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 489df0e738..ecc1f54c1b 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -1158,32 +1158,39 @@ static const TCGOutOpLoad outop_ld = {
/* Register allocation descriptions for every TCGOpcode. */
static const TCGOutOp * const all_outop[NB_OPS] = {
OUTOP(INDEX_op_add, TCGOutOpBinary, outop_add),
+ /* addc1o is implemented with set_carry + addcio */
+ OUTOP(INDEX_op_addc1o, TCGOutOpBinary, outop_addcio),
OUTOP(INDEX_op_addci, TCGOutOpAddSubCarry, outop_addci),
OUTOP(INDEX_op_addcio, TCGOutOpBinary, outop_addcio),
OUTOP(INDEX_op_addco, TCGOutOpBinary, outop_addco),
- /* addc1o is implemented with set_carry + addcio */
- OUTOP(INDEX_op_addc1o, TCGOutOpBinary, outop_addcio),
OUTOP(INDEX_op_and, TCGOutOpBinary, outop_and),
OUTOP(INDEX_op_andc, TCGOutOpBinary, outop_andc),
OUTOP(INDEX_op_brcond, TCGOutOpBrcond, outop_brcond),
OUTOP(INDEX_op_bswap16, TCGOutOpBswap, outop_bswap16),
OUTOP(INDEX_op_bswap32, TCGOutOpBswap, outop_bswap32),
+ OUTOP(INDEX_op_bswap64, TCGOutOpUnary, outop_bswap64),
OUTOP(INDEX_op_clz, TCGOutOpBinary, outop_clz),
OUTOP(INDEX_op_ctpop, TCGOutOpUnary, outop_ctpop),
OUTOP(INDEX_op_ctz, TCGOutOpBinary, outop_ctz),
OUTOP(INDEX_op_deposit, TCGOutOpDeposit, outop_deposit),
OUTOP(INDEX_op_divs, TCGOutOpBinary, outop_divs),
- OUTOP(INDEX_op_divu, TCGOutOpBinary, outop_divu),
OUTOP(INDEX_op_divs2, TCGOutOpDivRem, outop_divs2),
+ OUTOP(INDEX_op_divu, TCGOutOpBinary, outop_divu),
OUTOP(INDEX_op_divu2, TCGOutOpDivRem, outop_divu2),
OUTOP(INDEX_op_eqv, TCGOutOpBinary, outop_eqv),
OUTOP(INDEX_op_extract, TCGOutOpExtract, outop_extract),
OUTOP(INDEX_op_extract2, TCGOutOpExtract2, outop_extract2),
- OUTOP(INDEX_op_ld8u, TCGOutOpLoad, outop_ld8u),
+ OUTOP(INDEX_op_ext_i32_i64, TCGOutOpUnary, outop_exts_i32_i64),
+ OUTOP(INDEX_op_extrh_i64_i32, TCGOutOpUnary, outop_extrh_i64_i32),
+ OUTOP(INDEX_op_extrl_i64_i32, TCGOutOpUnary, outop_extrl_i64_i32),
+ OUTOP(INDEX_op_extu_i32_i64, TCGOutOpUnary, outop_extu_i32_i64),
+ OUTOP(INDEX_op_ld, TCGOutOpLoad, outop_ld),
OUTOP(INDEX_op_ld8s, TCGOutOpLoad, outop_ld8s),
- OUTOP(INDEX_op_ld16u, TCGOutOpLoad, outop_ld16u),
+ OUTOP(INDEX_op_ld8u, TCGOutOpLoad, outop_ld8u),
OUTOP(INDEX_op_ld16s, TCGOutOpLoad, outop_ld16s),
- OUTOP(INDEX_op_ld, TCGOutOpLoad, outop_ld),
+ OUTOP(INDEX_op_ld16u, TCGOutOpLoad, outop_ld16u),
+ OUTOP(INDEX_op_ld32s, TCGOutOpLoad, outop_ld32s),
+ OUTOP(INDEX_op_ld32u, TCGOutOpLoad, outop_ld32u),
OUTOP(INDEX_op_movcond, TCGOutOpMovcond, outop_movcond),
OUTOP(INDEX_op_mul, TCGOutOpBinary, outop_mul),
OUTOP(INDEX_op_muls2, TCGOutOpMul2, outop_muls2),
@@ -1203,7 +1210,9 @@ static const TCGOutOp * const all_outop[NB_OPS] = {
OUTOP(INDEX_op_qemu_st2, TCGOutOpQemuLdSt2, outop_qemu_st2),
OUTOP(INDEX_op_rems, TCGOutOpBinary, outop_rems),
OUTOP(INDEX_op_remu, TCGOutOpBinary, outop_remu),
+ OUTOP(INDEX_op_revbit8, TCGOutOpUnary, outop_revbit8),
OUTOP(INDEX_op_revbit32, TCGOutOpBswap, outop_revbit32),
+ OUTOP(INDEX_op_revbit64, TCGOutOpUnary, outop_revbit64),
OUTOP(INDEX_op_rotl, TCGOutOpBinary, outop_rotl),
OUTOP(INDEX_op_rotr, TCGOutOpBinary, outop_rotr),
OUTOP(INDEX_op_sar, TCGOutOpBinary, outop_sar),
@@ -1216,28 +1225,18 @@ static const TCGOutOp * const all_outop[NB_OPS] = {
OUTOP(INDEX_op_st, TCGOutOpStore, outop_st),
OUTOP(INDEX_op_st8, TCGOutOpStore, outop_st8),
OUTOP(INDEX_op_st16, TCGOutOpStore, outop_st16),
+ OUTOP(INDEX_op_st32, TCGOutOpStore, outop_st),
OUTOP(INDEX_op_sub, TCGOutOpSubtract, outop_sub),
+ /* subb1o is implemented with set_borrow + subbio */
+ OUTOP(INDEX_op_subb1o, TCGOutOpAddSubCarry, outop_subbio),
OUTOP(INDEX_op_subbi, TCGOutOpAddSubCarry, outop_subbi),
OUTOP(INDEX_op_subbio, TCGOutOpAddSubCarry, outop_subbio),
OUTOP(INDEX_op_subbo, TCGOutOpAddSubCarry, outop_subbo),
- /* subb1o is implemented with set_borrow + subbio */
- OUTOP(INDEX_op_subb1o, TCGOutOpAddSubCarry, outop_subbio),
OUTOP(INDEX_op_umax, TCGOutOpBinary, outop_umax),
OUTOP(INDEX_op_umin, TCGOutOpBinary, outop_umin),
OUTOP(INDEX_op_xor, TCGOutOpBinary, outop_xor),
[INDEX_op_goto_ptr] = &outop_goto_ptr,
-
- OUTOP(INDEX_op_bswap64, TCGOutOpUnary, outop_bswap64),
- OUTOP(INDEX_op_ext_i32_i64, TCGOutOpUnary, outop_exts_i32_i64),
- OUTOP(INDEX_op_extu_i32_i64, TCGOutOpUnary, outop_extu_i32_i64),
- OUTOP(INDEX_op_extrl_i64_i32, TCGOutOpUnary, outop_extrl_i64_i32),
- OUTOP(INDEX_op_extrh_i64_i32, TCGOutOpUnary, outop_extrh_i64_i32),
- OUTOP(INDEX_op_ld32u, TCGOutOpLoad, outop_ld32u),
- OUTOP(INDEX_op_ld32s, TCGOutOpLoad, outop_ld32s),
- OUTOP(INDEX_op_revbit8, TCGOutOpUnary, outop_revbit8),
- OUTOP(INDEX_op_revbit64, TCGOutOpUnary, outop_revbit64),
- OUTOP(INDEX_op_st32, TCGOutOpStore, outop_st),
};
#undef OUTOP