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]

Reply via email to