summary refs log tree commit diff stats
path: root/tcg/optimize.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2025-02-09 12:55:15 -0800
committerRichard Henderson <richard.henderson@linaro.org>2025-04-28 13:40:17 -0700
commitaae2456ac0b4eb91da7ee8a4b31052f2e8a77af8 (patch)
tree06f42a4f93950d25f7ec6fc2381daa427fa9f0aa /tcg/optimize.c
parent33aba058c8fcc9b1581b03a1fbac45d8d91baac6 (diff)
downloadfocaccia-qemu-aae2456ac0b4eb91da7ee8a4b31052f2e8a77af8.tar.gz
focaccia-qemu-aae2456ac0b4eb91da7ee8a4b31052f2e8a77af8.zip
tcg: Merge INDEX_op_{ld,st}_{i32,i64,i128}
Merge into INDEX_op_{ld,st,ld2,st2}, where "2" indicates that two
inputs or outputs are required. This simplifies the processing of
i64/i128 depending on host word size.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg/optimize.c')
-rw-r--r--tcg/optimize.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/tcg/optimize.c b/tcg/optimize.c
index 4d2220664a..10a76c5461 100644
--- a/tcg/optimize.c
+++ b/tcg/optimize.c
@@ -3180,21 +3180,14 @@ void tcg_optimize(TCGContext *s)
         case INDEX_op_orc_vec:
             done = fold_orc(&ctx, op);
             break;
-        case INDEX_op_qemu_ld_i32:
+        case INDEX_op_qemu_ld:
             done = fold_qemu_ld_1reg(&ctx, op);
             break;
-        case INDEX_op_qemu_ld_i64:
-            if (TCG_TARGET_REG_BITS == 64) {
-                done = fold_qemu_ld_1reg(&ctx, op);
-                break;
-            }
-            QEMU_FALLTHROUGH;
-        case INDEX_op_qemu_ld_i128:
+        case INDEX_op_qemu_ld2:
             done = fold_qemu_ld_2reg(&ctx, op);
             break;
-        case INDEX_op_qemu_st_i32:
-        case INDEX_op_qemu_st_i64:
-        case INDEX_op_qemu_st_i128:
+        case INDEX_op_qemu_st:
+        case INDEX_op_qemu_st2:
             done = fold_qemu_st(&ctx, op);
             break;
         case INDEX_op_rems: