tcg-sparc improvements
Status from this message: Thanks, applied all (4/5 with your fix).
Get series with b4
b4 am [email protected]Versions newest first
Patches in v1 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | tcg-sparc: Add tcg_out_arithc.tcg/ | +43 | 0 replies | |
| 2/5 | tcg-sparc: Implement add2, sub2, mulu2.tcg/ | +27 | 0 replies | |
| 3/5 | tcg-sparc: Do not remove %o[012] from 'r' constraint.tcg/ | +3 | 0 replies | |
| 4/5 | tcg-sparc: Implement division properly.tcg/ tcg/ | +55 | 1 reply | |
| 5/5 | tcg-sparc: Implement ext32[su]_i64tcg/ tcg/ | +21 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [Qemu-devel] [PATCH 0/5] tcg-sparc improvements
As noticed elsewhere on the list mulu2_i32 is missing. Which led me to notice that add2_i32 and sub2_i32 were also missing and also led me to notice that division was incorrectly implemented.
My initial implementation of 32-bit division copied the existing practice of using the 64-bit division insns for sparcv9, with proper sign/zero extensions on the input operands. But that required extra temporaries and quickly got ugly. In the end I thought it was clearer to simply use the 32-bit division insns unconditionally.
That excercise, however, made me notice that 32-bit extension was not special-cased, leading to the final patch.
r~
Richard Henderson (5):
tcg-sparc: Add tcg_out_arithc.
tcg-sparc: Implement add2, sub2, mulu2.
tcg-sparc: Do not remove %o[012] from 'r' constraint.
tcg-sparc: Implement division properly.
tcg-sparc: Implement ext32[su]_i64
tcg/sparc/tcg-target.c | 206 ++++++++++++++++++++++++++++++++---------------- tcg/sparc/tcg-target.h | 8 ++ 2 files changed, 145 insertions(+), 69 deletions(-)