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.