X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=inline;f=OPTIMIZATIONS;h=3c3edea60ba46a6f485fa4828c717722c1be7831;hb=d59fb0b06768732835bf45638fbc04f516b9ae9b;hp=df2c49b7bba4973ff87a3cf09f57cd39ce44fe49;hpb=ef8086e0ef5ae4df06f1e9ef250465ac8284bd47;p=sbcl.git diff --git a/OPTIMIZATIONS b/OPTIMIZATIONS index df2c49b..3c3edea 100644 --- a/OPTIMIZATIONS +++ b/OPTIMIZATIONS @@ -11,9 +11,6 @@ * On X86 I is represented as a tagged integer. -* EQL uses "CMP reg,reg" instead of "CMP reg,im". This causes - allocation of an extra register and an extra move. - * Unnecessary move: 3: SLOT S!11[EDX] {SB-C::VECTOR-LENGTH 1 7} => t23[EAX] 4: MOVE t23[EAX] => t24[EBX] @@ -65,11 +62,6 @@ VOP DATA-VECTOR-SET/SIMPLE-STRING V2!14[EDI] t32[EAX] t30[S2]>t33[CL] * And why two moves? -------------------------------------------------------------------------------- -#5 -(loop repeat 1.5) - -uses generic arithmetic --------------------------------------------------------------------------------- #6 09:49:05 I have found a case in those where suboptimal code is generate with nested loops, it might be moderately easy to fix that @@ -162,3 +154,7 @@ It could be optimized to tests lowtag. -------------------------------------------------------------------------------- +#13 +FAST-+/FIXNUM and similar should accept unboxed arguments in interests +of representation selection. Problem: inter-TN dependencies. +--------------------------------------------------------------------------------