Here's the assembly output for the two funtions. BTW, _MSC_VER was not
defined so I changed it to __NETWARE__ which was defined (to my
surprise):
foo:
00000000: 55 push ebp
00000001: 89E5 mov ebp,esp
00000003: 6A02 push 0x2
00000005: FF7508 push dword ptr [ebp+0x8]
00000008: E800000000 call _lrotl
0000000d: 59 pop ecx
0000000e: 59 pop ecx
0000000f: 89C0 mov eax,eax ;
align
00000011: C9 leave
00000012: C3 ret near
bar:
00000000: 55 push ebp
00000001: 89E5 mov ebp,esp
00000003: 8B4508 mov eax,dword ptr [ebp+0x8]
00000006: C1C007 rol eax,0x7
00000009: C9 leave
0000000a: C3 ret near
Verdon
>>> Andy Polyakov <[EMAIL PROTECTED]> 3/15/2004 3:24:18 PM >>>
> There is a Metrowerks compiler for NetWare. It is actually a
> cross-compiler that runs on a Win32 platform and then uses a
different
> linker to create the libraries. As near as I know, "__NETWARE__" is
not
> defined when compiling.
But is there __rol intrinsic? Can you generate assembler listing (and
send it over:-) for following snippet:
int foo(int a) { return _lrotl(a,1+_MSC_VER); }
int bar(int a) { return __rol(a,1+__MWERKS__); }
You might have to engage optimization. A lot of thanks in advance. A.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]