[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 125/162] target/microblaze: Use tcg_gen_addcio_i32
From: |
Richard Henderson |
Subject: |
[PATCH v3 125/162] target/microblaze: Use tcg_gen_addcio_i32 |
Date: |
Sun, 16 Feb 2025 15:09:34 -0800 |
Use this in gen_addc and gen_rsubc, both of which need
add with carry-in and carry-out.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/microblaze/translate.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
index 24005f05b2..768c6ee945 100644
--- a/target/microblaze/translate.c
+++ b/target/microblaze/translate.c
@@ -310,11 +310,7 @@ static void gen_add(TCGv_i32 out, TCGv_i32 ina, TCGv_i32
inb)
/* Input and output carry. */
static void gen_addc(TCGv_i32 out, TCGv_i32 ina, TCGv_i32 inb)
{
- TCGv_i32 zero = tcg_constant_i32(0);
- TCGv_i32 tmp = tcg_temp_new_i32();
-
- tcg_gen_add2_i32(tmp, cpu_msr_c, ina, zero, cpu_msr_c, zero);
- tcg_gen_add2_i32(out, cpu_msr_c, tmp, cpu_msr_c, inb, zero);
+ tcg_gen_addcio_i32(out, cpu_msr_c, ina, inb, cpu_msr_c);
}
/* Input carry, but no output carry. */
@@ -543,12 +539,10 @@ static void gen_rsub(TCGv_i32 out, TCGv_i32 ina, TCGv_i32
inb)
/* Input and output carry. */
static void gen_rsubc(TCGv_i32 out, TCGv_i32 ina, TCGv_i32 inb)
{
- TCGv_i32 zero = tcg_constant_i32(0);
TCGv_i32 tmp = tcg_temp_new_i32();
tcg_gen_not_i32(tmp, ina);
- tcg_gen_add2_i32(tmp, cpu_msr_c, tmp, zero, cpu_msr_c, zero);
- tcg_gen_add2_i32(out, cpu_msr_c, tmp, cpu_msr_c, inb, zero);
+ tcg_gen_addcio_i32(out, cpu_msr_c, tmp, inb, cpu_msr_c);
}
/* No input or output carry. */
--
2.43.0
- [PATCH v3 088/162] tcg: Convert bswap32 to TCGOutOpBswap, (continued)
- [PATCH v3 088/162] tcg: Convert bswap32 to TCGOutOpBswap, Richard Henderson, 2025/02/16
- [PATCH v3 116/162] tcg: Use add carry opcodes to expand add2, Richard Henderson, 2025/02/16
- [PATCH v3 120/162] tcg/i386: Remove support for add2/sub2, Richard Henderson, 2025/02/16
- [PATCH v3 129/162] target/sh4: Use tcg_gen_addcio_i32 for addc, Richard Henderson, 2025/02/16
- [PATCH v3 122/162] tcg: Add tcg_gen_addcio_{i32,i64,tl}, Richard Henderson, 2025/02/16
- [PATCH v3 131/162] target/tricore: Use tcg_gen_addcio_i32 for gen_addc_CC, Richard Henderson, 2025/02/16
- [PATCH v3 134/162] tcg/arm: Implement add/sub carry opcodes, Richard Henderson, 2025/02/16
- [PATCH v3 136/162] tcg/ppc: Implement add/sub carry opcodes, Richard Henderson, 2025/02/16
- [PATCH v3 146/162] tcg/tci: Implement add/sub carry opcodes, Richard Henderson, 2025/02/16
- [PATCH v3 121/162] tcg/i386: Special case addci r, 0, 0, Richard Henderson, 2025/02/16
- [PATCH v3 125/162] target/microblaze: Use tcg_gen_addcio_i32,
Richard Henderson <=
- [PATCH v3 137/162] tcg/ppc: Remove support for add2/sub2, Richard Henderson, 2025/02/16
- [PATCH v3 138/162] tcg/s390x: Honor carry_live in tcg_out_movi, Richard Henderson, 2025/02/16
- [PATCH v3 152/162] tcg: Assign TCGOP_TYPE in liveness_pass_2, Richard Henderson, 2025/02/16
- [PATCH v3 128/162] target/s390x: Use tcg_gen_addcio_i64 for op_addc64, Richard Henderson, 2025/02/16
- [PATCH v3 133/162] tcg/aarch64: Remove support for add2/sub2, Richard Henderson, 2025/02/16
- [PATCH v3 132/162] tcg/aarch64: Implement add/sub carry opcodes, Richard Henderson, 2025/02/16
- [PATCH v3 135/162] tcg/arm: Remove support for add2/sub2, Richard Henderson, 2025/02/16
- [PATCH v3 145/162] tcg/sparc64: Remove support for add2/sub2, Richard Henderson, 2025/02/16
- [PATCH v3 153/162] tcg: Convert ld to TCGOutOpLoad, Richard Henderson, 2025/02/16
- [PATCH v3 123/162] target/arm: Use tcg_gen_addcio_* for ADCS, Richard Henderson, 2025/02/16