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