On Thu, 16 May 2013 15:09:59 -0700 Jason Sewall <jasonsew...@gmail.com> wrote:
> P.S. Here's the C file (or the first part of it, anyway) if I add the > optimize directive to the above: Would it be possible to indicate what you expect different below? > /* Compiler: ECL 13.4.1 */ > /* Date: 2013/5/16 16:00 (yyyy/mm/dd) */ > /* Machine: Linux 3.8.7-201.fc18.x86_64 x86_64 */ > /* Source: var.lisp */ > #include <ecl/ecl-cmp.h> > #include "var.eclh" > /* function definition for TAK */ > /* optimize speed 3, debug 0, space 0, safety 0 */ > static cl_object L1tak(cl_object v1x, cl_object v2y, cl_object v3z) > { > cl_object T0; > const cl_env_ptr cl_env_copy = ecl_process_env(); > cl_object value0; > cl_fixnum v4x; > cl_fixnum v5y; > cl_fixnum v6z; > v4x = ecl_fixnum(v1x); > v5y = ecl_fixnum(v2y); > v6z = ecl_fixnum(v3z); > TTL: > if ((v5y)<(v4x)) { goto L1; } > value0 = ecl_make_fixnum(v6z); > cl_env_copy->nvalues = 1; > return value0; > L1:; > { > cl_fixnum v7; > T0 = ecl_make_integer((v4x)-1); > v7 = ecl_fixnum(L1tak(T0, ecl_make_fixnum(v5y), ecl_make_fixnum(v6z))); > { > cl_fixnum v8; > T0 = ecl_make_integer((v5y)-1); > v8 = ecl_fixnum(L1tak(T0, ecl_make_fixnum(v6z), ecl_make_fixnum(v4x))); > T0 = ecl_make_integer((v6z)-1); > v6z = ecl_fixnum(L1tak(T0, ecl_make_fixnum(v4x), ecl_make_fixnum(v5y))); > v5y = v8; > v4x = v7; > } > } > goto TTL; > } Above I can see inline use of < rather than a generic comparison function call, as well as inline use of -1 instead of a generic substraction function call, along with the required conversions to fixnum... Thanks, -- Matt ------------------------------------------------------------------------------ AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d _______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list