[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] PPC fix for upcoming hand written code generator
From: |
Joachim Henke |
Subject: |
[Qemu-devel] PPC fix for upcoming hand written code generator |
Date: |
Mon, 2 Jan 2006 19:43:48 +0100 |
Hi Paul,
I just had a short look at your hand written code generator
(https://nowt.dyndns.org/cgi-bin/svn-qop-diff) and did some quick tests
with the i386-softmmu target on my iMac G5 (Mac OS 10.4.3). Before I could
successfully compile the code, I needed to apply a small fix:
--- host-ppc/qop-code.h
+++ host-ppc/qop-code.h
@@ -243,8 +243,8 @@
ENCODE_D(14, dest, 0, 0); \
QOP_END
-DO_SETcc32(lt, 0, 0);
-DO_SETcc32(le, 1, 1);
+DO_SETcc32(ltu, 0, 0)
+DO_SETcc32(leu, 1, 1)
#define DO_JMPcc32(name, negate, cond) \
QOP_START(jmp_##name##32) \
--- host-ppc/qop-host.def
+++ host-ppc/qop-host.def
@@ -33,8 +33,8 @@
DEF2(jmp_ns32, HRC_G, 0)
DEF1(jmp, 0)
-DEF3(set_lt32, HRC_G, HRC_G, HRC_G)
-DEF3(set_le32, HRC_G, HRC_G, HRC_G)
+DEF3(set_ltu32, HRC_G, HRC_G, HRC_G)
+DEF3(set_leu32, HRC_G, HRC_G, HRC_G)
DEF2(ld8s32, HRC_G, HRC_G)
DEF2(ld8u32, HRC_G, HRC_G)
I hope this helps you. Before, GCC returned with an error:
gcc-3.3 -Wall -O2 -g -fno-strict-aliasing -D__powerpc__ -I.
-I/build/qemu-pb/target-i386 -I/build/qemu-pb -I/build/qemu-pb/host-ppc
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/build/qemu-pb/fpu
-DHAS_AUDIO -I/build/qemu-pb/slirp -c -o translate-qop.o
/build/qemu-pb/translate-qop.c
In file included from /build/qemu-pb/translate-qop.c:59:
/build/qemu-pb/host-ppc/qop-code.h: In function `dyngen_qop':
/build/qemu-pb/host-ppc/qop-code.h:246: error: `INDEX_op_set_lt32' undeclared
(first use in this function)
/build/qemu-pb/host-ppc/qop-code.h:246: error: (Each undeclared identifier is
reported only once
/build/qemu-pb/host-ppc/qop-code.h:246: error: for each function it appears in.)
/build/qemu-pb/host-ppc/qop-code.h:247: error: `INDEX_op_set_le32' undeclared
(first use in this function)
make[1]: *** [translate-qop.o] Error 1
make: *** [all] Error 1
Although benchmarking with LZMA (7-Zip) on Win98SE showed a speed improve
of about 10%, the time it ran (taken with an external stopwatch) was almost
the same. Seems that QEMU's "internal clock" ticks a bit slower with your
patch.
I'm just a bit curious to know, when the i386 target will benefit from your
new code, and if it will be ready to be included into main CVS soon.
Thanks for your work!
Jo.
- [Qemu-devel] PPC fix for upcoming hand written code generator,
Joachim Henke <=