[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/9] mips: Fill delay slots v3
From: |
Paul Cercueil |
Subject: |
[PATCH v2 0/9] mips: Fill delay slots v3 |
Date: |
Sat, 14 Jan 2023 15:10:48 +0000 |
Hi Paulo,
Here's the V3 of my patchset that attempts to fill branch delay slots on
MIPS.
All tests do pass now, except the "float.nodata" check, but this one
fails in master as well.
I implemented your suggestion and it worked just fine. There was one
last problem though, which caused the "clobber" check to fail once
again; code emitters that generated branches to the next
instruction (to conditionally execute some opcodes) caused problems, as
the next instruction was not detected as a jump target (no
"jit_flag_patch" set). I solved this by just checking the previous
node's code against a table of accepted values.
Cheers,
-Paul
Paul Cercueil (8):
mips: Optimize jit_eqr / jit_eqi
mips: Fill delay slots of JR opcodes in jit_jmpr
mips: Fill delay slots of JALR opcodes in jit_callr
mips: Fill delay slots of J in jit_jmpi
mips: Fill delay slots in jit_beqr / jit_beqi
mips: Fill delay slots in jit_bner / jit_bnei
mips: Fill delay slots in jit_bgtr, jit_bgti, jit_bler, jit_blei
mips: Fill delay slots in jit_bger, jit_bgei, jit_bltr, jit_blti
lib/jit_mips-cpu.c | 913 +++++++++++++++++++++++++++++----------------
lib/jit_mips.c | 89 +++--
2 files changed, 647 insertions(+), 355 deletions(-)
--
2.39.0
- [PATCH v2 0/9] mips: Fill delay slots v3,
Paul Cercueil <=
- [PATCH v3 1/8] mips: Optimize jit_eqr / jit_eqi, Paul Cercueil, 2023/01/14
- [PATCH v3 2/8] mips: Fill delay slots of JR opcodes in jit_jmpr, Paul Cercueil, 2023/01/14
- [PATCH v3 3/8] mips: Fill delay slots of JALR opcodes in jit_callr, Paul Cercueil, 2023/01/14
- [PATCH v3 4/8] mips: Fill delay slots of J in jit_jmpi, Paul Cercueil, 2023/01/14
- [PATCH v3 5/8] mips: Fill delay slots in jit_beqr / jit_beqi, Paul Cercueil, 2023/01/14
- [PATCH v3 6/8] mips: Fill delay slots in jit_bner / jit_bnei, Paul Cercueil, 2023/01/14
- [PATCH v3 7/8] mips: Fill delay slots in jit_bgtr, jit_bgti, jit_bler, jit_blei, Paul Cercueil, 2023/01/14
- [PATCH v3 8/8] mips: Fill delay slots in jit_bger, jit_bgei, jit_bltr, jit_blti, Paul Cercueil, 2023/01/14
- Re: [PATCH v2 0/9] mips: Fill delay slots v3, Paulo César Pereira de Andrade, 2023/01/14