Re: [Qemu-devel] [PATCH 0/5] tcg: movcond

2012-09-19 Thread malc
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

2012-09-19 Thread Richard Henderson
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

2012-09-19 Thread Blue Swirl
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

2012-09-19 Thread Richard Henderson
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

2012-09-18 Thread Richard Henderson
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

2012-09-18 Thread Aurelien Jarno
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