TI ARM C/C++ Optimizer                  v5.1.6
Build Number 1OE9R-KDADEMDK-RTARQ-WAR-ZAZE_V_R_W

		======File-level Analysis Summary======


static unsigned ByteReverseWord32() is called from 8 sites in this file.
    It appears to be inlineable (size = 15 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	rotlFixed() (1 times)

static void Des3ProcessBlock() is called from 2 sites in this file.
    It appears to be inlineable (size = 72 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	FPERM() (1 times)
	DesRawProcessBlock() (3 times)
	IPERM() (1 times)
	ByteReverseWord32() (4 times)
	memcpy() (4 times)

extern int Des3_CbcDecrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 45 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	xorbuf() (1 times)
	Des3ProcessBlock() (1 times)
	memcpy() (2 times)

extern int Des3_CbcEncrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 41 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	memcpy() (1 times)
	Des3ProcessBlock() (1 times)
	xorbuf() (1 times)

extern int Des3_SetIV() is called from 1 sites in this file.
    It appears to be inlineable (size = 24 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	memcpy() (1 times)
	memset() (1 times)

extern int Des3_SetKey() is called from 0 sites in this file.
    It appears to be inlineable (size = 52 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	Des3_SetIV() (1 times)
	Reverse() (1 times)
	DesSetKey() (3 times)

static void DesProcessBlock() is called from 2 sites in this file.
    It appears to be inlineable (size = 60 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	FPERM() (1 times)
	DesRawProcessBlock() (1 times)
	IPERM() (1 times)
	ByteReverseWord32() (4 times)
	memcpy() (4 times)

static void DesRawProcessBlock() is called from 4 sites in this file.
    It appears to be inlineable (size = 255 units)
    It has 4 non-trivial scope blocks nested 4 deep.
    It calls these functions:
	rotrFixed() (2 times)

static int DesSetKey() is called from 4 sites in this file.
    It has 5 non-trivial scope blocks nested 5 deep.
    It calls these functions:
	memset() (1 times)

extern int Des_CbcDecrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 51 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	xorbuf() (1 times)
	DesProcessBlock() (1 times)
	memcpy() (4 times)

extern int Des_CbcEncrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 33 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	memcpy() (1 times)
	DesProcessBlock() (1 times)
	xorbuf() (1 times)

extern void Des_SetIV() is called from 1 sites in this file.
    It appears to be inlineable (size = 18 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	memcpy() (1 times)
	memset() (1 times)

extern int Des_SetKey() is called from 0 sites in this file.
    It appears to be inlineable (size = 13 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	DesSetKey() (1 times)
	Des_SetIV() (1 times)

static void FPERM() is called from 2 sites in this file.
    It appears to be inlineable (size = 74 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	rotlFixed() (3 times)
	rotrFixed() (3 times)

static void IPERM() is called from 2 sites in this file.
    It appears to be inlineable (size = 74 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	rotrFixed() (3 times)
	rotlFixed() (3 times)

static int Reverse() is called from 1 sites in this file.
    It appears to be inlineable (size = 5 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

static void XorWords() is called from 1 sites in this file.
    It appears to be inlineable (size = 26 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

static unsigned rotlFixed() is called from 7 sites in this file.
    It appears to be inlineable (size = 10 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

static unsigned rotrFixed() is called from 8 sites in this file.
    It appears to be inlineable (size = 10 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

static void xorbuf() is called from 4 sites in this file.
    It appears to be inlineable (size = 34 units)
    It has 4 non-trivial scope blocks nested 4 deep.
    It calls these functions:
	XorWords() (1 times)


Results of interprocedural value propagation:

   static unsigned rotrFixed() has these parameter attributes:
      unsigned y :        y <= 20u;  y >= 1u;

Results of interprocedural value propagation:

   static unsigned rotlFixed() has these parameter attributes:
      unsigned y :        y <= 20u;  y >= 1u;

Function xorbuf() will be specialized on these parameters:
	[3] count == 8u;

Results of interprocedural value propagation:

   static void xorbuf() has these parameter attributes:
      unsigned count :    count == 8u;

Function XorWords() will be specialized on these parameters:
	[3] n == 2u;

Results of interprocedural value propagation:

   static void XorWords() has these parameter attributes:
      unsigned n :        n == 2u;
Inlineable function will be suppressed: rotrFixed()
Inlineable function will be suppressed: rotlFixed()
Inlineable function will be suppressed: Reverse()
Inlineable function will be suppressed: xorbuf()
Inlineable function will be suppressed: ByteReverseWord32()
Inlineable function will be suppressed: XorWords()
Inlineable function will be suppressed: FPERM()
Inlineable function will be suppressed: IPERM()

These external functions are called but not defined here:
	memset()
	memcpy()


The following variables will be grouped together to share a common
base address.  References in the source interlisting will look like
"1$$.bytebit", "K$1->bytebit", "C$1->bytebit", "&1$$+16", and "C$1+16".

     --offset--    --size--	--variable--

          0           16	static const unsigned char totrot[16]
         16           32	static const int bytebit[8]
         48           48	static const unsigned char pc2[48]
         96           56	static const unsigned char pc1[56]
        152         2048	static const unsigned Spbox[8][64]


		======= End file-level Analysis =======


==============================================================================

extern void Des_SetIV() is called from 1 sites in this file.
    It appears to be inlineable (size = 18 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

There are 0 memory accesses with 0 dependences.


==============================================================================

static int DesSetKey() is called from 4 sites in this file.
    It has 5 non-trivial scope blocks nested 5 deep.
    It calls these functions:
	<NONE>
Unrolling 'for' loop on 'j' at lines C:/cyassl/ctaocrypt/src/des3.c:1102-1108 by factor 4.
Estimated speedup: 1.33x, code size increase: 3.10x (10:->31)
Unrolling 'for' loop on 'j' at lines C:/cyassl/ctaocrypt/src/des3.c:1113-1115 by factor 4.
Estimated speedup: 1.45x, code size increase: 2.64x (11:->29)
Unrolling 'for' loop on 'j' at lines C:/cyassl/ctaocrypt/src/des3.c:1118-1123 by factor 4.
Estimated speedup: 1.18x, code size increase: 3.40x (10:->34)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/des3.c:1139-1147 completely by factor 8.
Estimated speedup: 1.48x, code size increase: 6.40x (10:->64)

There are 115 memory accesses with 808 dependences.


==============================================================================

extern int Des_SetKey() is called from 0 sites in this file.
    It appears to be inlineable (size = 13 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	Des_SetIV() (1 times)
	DesSetKey() (1 times)

There are 0 memory accesses with 0 dependences.


==============================================================================

static void DesRawProcessBlock() is called from 4 sites in this file.
    It appears to be inlineable (size = 255 units)
    It has 4 non-trivial scope blocks nested 4 deep.
    It calls these functions:
	rotrFixed() (2 times)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/des3.c:1202-1225 by factor 2.
Estimated speedup: 1.06x, code size increase: 1.96x (48:->94)

There are 44 memory accesses with 5 dependences.


==============================================================================

static void DesProcessBlock() is called from 2 sites in this file.
    It appears to be inlineable (size = 60 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	ByteReverseWord32() (4 times)
	IPERM() (1 times)
	DesRawProcessBlock() (1 times)
	FPERM() (1 times)

There are 12 memory accesses with 18 dependences.


==============================================================================

extern int Des_CbcEncrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 33 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	xorbuf() (1 times)
	DesProcessBlock() (1 times)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:155-155 completely by factor 2.
Estimated speedup: 1.69x, code size increase: 1.33x (6:->8)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:168-168 completely by factor 8.
Estimated speedup: 1.80x, code size increase: 5.33x (6:->32)

There are 20 memory accesses with 226 dependences.


==============================================================================

extern int Des_CbcDecrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 51 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	DesProcessBlock() (1 times)
	xorbuf() (1 times)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:155-155 completely by factor 2.
Estimated speedup: 1.69x, code size increase: 1.33x (6:->8)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:168-168 completely by factor 8.
Estimated speedup: 1.80x, code size increase: 5.33x (6:->32)

There are 20 memory accesses with 296 dependences.


==============================================================================

extern int Des3_SetIV() is called from 1 sites in this file.
    It appears to be inlineable (size = 24 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

There are 0 memory accesses with 0 dependences.


==============================================================================

extern int Des3_SetKey() is called from 0 sites in this file.
    It appears to be inlineable (size = 52 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	DesSetKey() (3 times)
	Reverse() (1 times)
	Des3_SetIV() (1 times)

There are 0 memory accesses with 0 dependences.


==============================================================================

static void Des3ProcessBlock() is called from 2 sites in this file.
    It appears to be inlineable (size = 72 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	ByteReverseWord32() (4 times)
	IPERM() (1 times)
	DesRawProcessBlock() (3 times)
	FPERM() (1 times)

There are 12 memory accesses with 18 dependences.


==============================================================================

extern int Des3_CbcEncrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 41 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	xorbuf() (1 times)
	Des3ProcessBlock() (1 times)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:155-155 completely by factor 2.
Estimated speedup: 1.69x, code size increase: 1.33x (6:->8)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:168-168 completely by factor 8.
Estimated speedup: 1.80x, code size increase: 5.33x (6:->32)

There are 20 memory accesses with 298 dependences.


==============================================================================

extern int Des3_CbcDecrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 45 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	Des3ProcessBlock() (1 times)
	xorbuf() (1 times)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:155-155 completely by factor 2.
Estimated speedup: 1.69x, code size increase: 1.33x (6:->8)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:168-168 completely by factor 8.
Estimated speedup: 1.80x, code size increase: 5.33x (6:->32)

There are 20 memory accesses with 296 dependences.


== END OF INFO OUTPUT==
