On Thu, May 20, 2004 at 06:47:57PM +0100, Jon Shapcott wrote: > On Thu, May 20, 2004 at 10:18:06AM -0700, Brent 'Dax' Royal-Gordon wrote: > > Dan Sugalski wrote: > > > istrue I0, P5 # I0 = 1 if P5 is true > > > isgt I0, P5, P6 # I0 = i if P5 > P6 > > > > By all means! I've thought non-branching comparison ops would be a good > > idea for years... > > My goodness. Takes me back to the early 90s Acorn RISC processors, where
Mmm. Yes, ARM. These days most likely to be found inside a mobile phone. > every instruction was conditional on the control flags. Could skip half a > dozen instructions with the same false conditional at the same cost as > performing a branch. I doubt if this would be nearly as much of an IIRC 5 not 6. :-) Not sure how much the timings have changed recently, and hence whether this is still the case. It doesn't look like anyone has added anything to the JIT recently: $ ls -l jit/arm/ total 72 drwxr-xr-x 5 nick nick 170 6 May 17:42 CVS -rw-r--r-- 8 nick nick 27256 19 Oct 2002 core.jit -rw-r--r-- 8 nick nick 3561 23 Apr 10:20 exec_dep.h -rw-r--r-- 8 nick nick 37553 23 Apr 10:20 jit_emit.h Nicholas Clark