Re: [Qemu-devel] [PATCH 0/5] tcg: movcond
On Tue, 18 Sep 2012, Aurelien Jarno wrote: On Tue, Sep 18, 2012 at 07:23:55AM -0700, Richard Henderson wrote: As recently discussed, with the optional fallback to setcond. I include a patch to target-alpha to test correctness both before and after implementing the opcode in the i386 backend, as well as in the optimizations. Thanks for this new implementation, it's a lot cleaner than the previous one, especially the fallback to setcond if not implemented, and the argument alias for the x86 backend, deferring the issue to the register allocator instead of trying to do that in the backend. From my side, I am ok with it. That said I'd also like to have at least the opinion of Malc and Blue (Cc:ed). Comments from others are also welcome. I don't have objections (philosphical or otherwise) to this, the only request is for a detailed directions on how to exercise non emulated version (i.e. where to get the alpha image from how to run it exactly) [..snip..] P.S. The only thing i've noticed is somewhat unusual naming convention in the README, nothing else uses cN and vN naming of arguments, perhaps sticking to t0, t1, t2, t3 is better to avoid confusion? -- mailto:av1...@comtv.ru
Re: [Qemu-devel] [PATCH 0/5] tcg: movcond
On 09/19/2012 06:03 AM, malc wrote: (i.e. where to get the alpha image from how to run it exactly) The easiest alpha test is to just run the rom shipped with qemu, i.e. no arguments. That will certainly be good enough to test conditional move and conditional branch insns. P.S. The only thing i've noticed is somewhat unusual naming convention in the README, nothing else uses cN and vN naming of arguments, perhaps sticking to t0, t1, t2, t3 is better to avoid confusion? I wanted better to highlight that the first two inputs are the comparison inputs, and the second two inputs are the values to be moved. r~
Re: [Qemu-devel] [PATCH 0/5] tcg: movcond
On Tue, Sep 18, 2012 at 9:11 PM, Aurelien Jarno aurel...@aurel32.net wrote: On Tue, Sep 18, 2012 at 07:23:55AM -0700, Richard Henderson wrote: As recently discussed, with the optional fallback to setcond. I include a patch to target-alpha to test correctness both before and after implementing the opcode in the i386 backend, as well as in the optimizations. Thanks for this new implementation, it's a lot cleaner than the previous one, especially the fallback to setcond if not implemented, and the argument alias for the x86 backend, deferring the issue to the register allocator instead of trying to do that in the backend. From my side, I am ok with it. That said I'd also like to have at least the opinion of Malc and Blue (Cc:ed). Comments from others are also welcome. OK. It looks like Sparc64 version should be similar to i386 one, cmp + movcc. Richard Henderson (5): tcg: Introduce movcond target-alpha: Use movcond tcg-i386: Implement movcond tcg: Optimize movcond for constant comparisons tcg: Optimize two-address commutative operations target-alpha/translate.c | 102 ++- tcg/README | 6 +++ tcg/arm/tcg-target.h | 1 + tcg/hppa/tcg-target.h| 1 + tcg/i386/tcg-target.c| 29 ++ tcg/i386/tcg-target.h| 7 tcg/ia64/tcg-target.h| 2 + tcg/mips/tcg-target.h| 1 + tcg/optimize.c | 49 ++- tcg/ppc/tcg-target.h | 1 + tcg/ppc64/tcg-target.h | 2 + tcg/s390/tcg-target.h| 2 + tcg/sparc/tcg-target.h | 2 + tcg/tcg-op.h | 41 +++ tcg/tcg-opc.h| 2 + tcg/tcg.c| 11 +++-- tcg/tcg.h| 1 + tcg/tci/tcg-target.h | 2 + 18 files changed, 200 insertions(+), 62 deletions(-) -- 1.7.11.4 -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net
Re: [Qemu-devel] [PATCH 0/5] tcg: movcond
On 09/19/2012 12:07 PM, Blue Swirl wrote: It looks like Sparc64 version should be similar to i386 one, cmp + movcc. Yes. We should leave that til after tcg-sparc branch is merged, please. r~
[Qemu-devel] [PATCH 0/5] tcg: movcond
As recently discussed, with the optional fallback to setcond. I include a patch to target-alpha to test correctness both before and after implementing the opcode in the i386 backend, as well as in the optimizations. r~ Richard Henderson (5): tcg: Introduce movcond target-alpha: Use movcond tcg-i386: Implement movcond tcg: Optimize movcond for constant comparisons tcg: Optimize two-address commutative operations target-alpha/translate.c | 102 ++- tcg/README | 6 +++ tcg/arm/tcg-target.h | 1 + tcg/hppa/tcg-target.h| 1 + tcg/i386/tcg-target.c| 29 ++ tcg/i386/tcg-target.h| 7 tcg/ia64/tcg-target.h| 2 + tcg/mips/tcg-target.h| 1 + tcg/optimize.c | 49 ++- tcg/ppc/tcg-target.h | 1 + tcg/ppc64/tcg-target.h | 2 + tcg/s390/tcg-target.h| 2 + tcg/sparc/tcg-target.h | 2 + tcg/tcg-op.h | 41 +++ tcg/tcg-opc.h| 2 + tcg/tcg.c| 11 +++-- tcg/tcg.h| 1 + tcg/tci/tcg-target.h | 2 + 18 files changed, 200 insertions(+), 62 deletions(-) -- 1.7.11.4
Re: [Qemu-devel] [PATCH 0/5] tcg: movcond
On Tue, Sep 18, 2012 at 07:23:55AM -0700, Richard Henderson wrote: As recently discussed, with the optional fallback to setcond. I include a patch to target-alpha to test correctness both before and after implementing the opcode in the i386 backend, as well as in the optimizations. Thanks for this new implementation, it's a lot cleaner than the previous one, especially the fallback to setcond if not implemented, and the argument alias for the x86 backend, deferring the issue to the register allocator instead of trying to do that in the backend. From my side, I am ok with it. That said I'd also like to have at least the opinion of Malc and Blue (Cc:ed). Comments from others are also welcome. Richard Henderson (5): tcg: Introduce movcond target-alpha: Use movcond tcg-i386: Implement movcond tcg: Optimize movcond for constant comparisons tcg: Optimize two-address commutative operations target-alpha/translate.c | 102 ++- tcg/README | 6 +++ tcg/arm/tcg-target.h | 1 + tcg/hppa/tcg-target.h| 1 + tcg/i386/tcg-target.c| 29 ++ tcg/i386/tcg-target.h| 7 tcg/ia64/tcg-target.h| 2 + tcg/mips/tcg-target.h| 1 + tcg/optimize.c | 49 ++- tcg/ppc/tcg-target.h | 1 + tcg/ppc64/tcg-target.h | 2 + tcg/s390/tcg-target.h| 2 + tcg/sparc/tcg-target.h | 2 + tcg/tcg-op.h | 41 +++ tcg/tcg-opc.h| 2 + tcg/tcg.c| 11 +++-- tcg/tcg.h| 1 + tcg/tci/tcg-target.h | 2 + 18 files changed, 200 insertions(+), 62 deletions(-) -- 1.7.11.4 -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net