Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Opteron very fast at 64 bits

Author: Eugene Nalimov

Date: 14:30:08 08/04/03

Go up one level in this thread


On August 04, 2003 at 15:30:42, Gerd Isenberg wrote:

>On August 04, 2003 at 13:28:09, Eugene Nalimov wrote:
>
>>No, AMD64 Visual C compiler does not support inline assembler. On a positive
>>side -- we now have intrinsics for bsf/bsr.
>>
>>Thanks,
>>Eugene
>
>
>Thanks Eugene,
>
>My point was AMD64 MASM in conjunction with AMD64 MSVC.
>
>I read already, that AMD64 Visual C compiler doesn't support inline assembler
>anymore. To make my integer MMX/SSE2 stuff, i have to use 64-bit MASM.

There are lot of MMX/SSE2 intrinsics in the compiler now. So if you write your
code using those intrinsics it should work on both x86 and AMD64. More, MMX-only
code will work on Itanium as well (Itanium does not support SSE2)...

>In my naive imagination i thought about a way to inline own, very small
>assembler functions from MASM into C. That's what i meant with "own intrinsics".
>
>But Ok, if "bsf/bsr" and even "bswap" are available as intrinsics it isn't
>necessary of course.
>
>Btw.: Do these intrinsics imply inlining?
>eg. for this bsf prototype:   (don't know the identifier)
>
>unsigned __int64 _BitScanForeward(unsigned __int64 x);
>
>inlined code like this:
>
>bsf rax,rcx ; according to register convention,
>            ; but may be changed/optimized by the compiler
>
>
>Regards,
>Gerd

Yes, compiler will expand intrinsics inline. We had lot of discussions here, as
somebody suggested to generate function calls for intrinsics that are not
supported on the given platform (e.g. 64x64-->128-bit multiplication on x86),
but it was decided that if user calls intrinsic he wants performance.

Thanks,
Eugene



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.