[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 04/10] microblaze: Improve srl
From: |
edgar . iglesias |
Subject: |
[Qemu-devel] [PATCH 04/10] microblaze: Improve srl |
Date: |
Thu, 24 Oct 2013 23:08:51 +0200 |
From: "Edgar E. Iglesias" <address@hidden>
write_carry only looks at bit zero, no need to mask out the others.
Meassured a 12% speed improvement in linux-user srl loops.
Signed-off-by: Edgar E. Iglesias <address@hidden>
---
target-microblaze/translate.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/target-microblaze/translate.c b/target-microblaze/translate.c
index 916db15..93aafac 100644
--- a/target-microblaze/translate.c
+++ b/target-microblaze/translate.c
@@ -780,13 +780,10 @@ static void dec_bit(DisasContext *dc)
case 0x1:
case 0x41:
/* srl. */
- t0 = tcg_temp_new();
LOG_DIS("srl r%d r%d\n", dc->rd, dc->ra);
- /* Update carry. */
- tcg_gen_andi_tl(t0, cpu_R[dc->ra], 1);
- write_carry(dc, t0);
- tcg_temp_free(t0);
+ /* Update carry. Note that write carry only looks at the LSB. */
+ write_carry(dc, cpu_R[dc->ra]);
if (dc->rd) {
if (op == 0x41)
tcg_gen_shri_tl(cpu_R[dc->rd], cpu_R[dc->ra], 1);
--
1.7.10.4
- [Qemu-devel] [PATCH 00/10] MicroBlaze queue, edgar . iglesias, 2013/10/24
- [Qemu-devel] [PATCH 01/10] microblaze: Clarify expected input of write_carry, edgar . iglesias, 2013/10/24
- [Qemu-devel] [PATCH 02/10] microblaze: Make write_carryi input a boolean, edgar . iglesias, 2013/10/24
- [Qemu-devel] [PATCH 03/10] microblaze: Simplify andn by using tcg_gen_andc, edgar . iglesias, 2013/10/24
- [Qemu-devel] [PATCH 04/10] microblaze: Improve srl,
edgar . iglesias <=
- [Qemu-devel] [PATCH 05/10] microblaze: Improve src, edgar . iglesias, 2013/10/24
- [Qemu-devel] [PATCH 06/10] microblaze: Move the saving of the reservation addr into gen_load, edgar . iglesias, 2013/10/24
- [Qemu-devel] [PATCH 07/10] microblaze: Turn res_addr into a tcg global, edgar . iglesias, 2013/10/24
- [Qemu-devel] [PATCH 08/10] microblaze: At swx, check that the reserved word is unmodified, edgar . iglesias, 2013/10/24
- [Qemu-devel] [PATCH 09/10] hw/microblaze: Indentation cleanups, edgar . iglesias, 2013/10/24
- [Qemu-devel] [PATCH 10/10] hw/microblaze: Add support for loading initrd images, edgar . iglesias, 2013/10/24