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