// Basic Fibonacci sequence example for code generaton analysis // // Build with "gcc -S fib.c -o fib.s" to get assembly code used in // article examples. // #define FIB_LIMIT_FOR_32_BIT 47 typedef unsigned int UINT32; UINT32 seqIterations = FIB_LIMIT_FOR_32_BIT; UINT32 Iterations = 1; UINT32 idx = 0, jdx = 1; UINT32 fib = 0, fib0 = 0, fib1 = 1; #define FIB_TEST(seqCnt, iterCnt) \ for(idx=0; idx < iterCnt; idx++) \ { \ fib = fib0 + fib1; \ while(jdx < seqCnt) \ { \ fib0 = fib1; \ fib1 = fib; \ fib = fib0 + fib1; \ jdx++; \ } \ } \ void fib_wrapper(void) { FIB_TEST(seqIterations, Iterations); } void null_wrapper(void) { }