Exetools

Exetools (https://forum.exetools.com/index.php)
-   x64 OS (https://forum.exetools.com/forumdisplay.php?f=44)
-   -   X64 inline asm (https://forum.exetools.com/showthread.php?t=12730)

deepzero 01-04-2012 19:06

Quote:

For the inline assembler, keep in mind that it heavily "corrupts" the optimization of the surrounding C code (well, at least it always did for MSVC, donno about Intel, but would guess it's the same). When the compiler reaches the asm block, it's a "black box" for it... so it dumps all the register values into local variables, appends the assembler block... and then loads the register values back.
I am using the 32 bit version VS2008 and it doesnt do that. It just blindly drops the __asm inlinded code into the middle of the function. You are responsible for saving and restoring registers/stack/... I also coudltn observe any difference as to the optimizing of surrounded code. It`s true, the inlinde asm code is NOT AT ALL optimized, but the surrounding code is.

Quote:

they did same with default values for methods in c# - no such thing there because 'it might confuse programmer'.
lol, really? Source? :)

Ghandi2006 01-04-2012 19:53

I was pleasantly surprised to see that MSVS2008 can support .asm files with little trouble. Inline asm is ok but linking external obj files is still better than no asm imho.

HR,
Ghandi

mrb! 02-23-2012 07:00

I apologise for the bump but I have a question.
I read some things about ICC neutering AMD performance when compiling. Since it seems ICC is the only option for inline x64 these days with MSVC, I am wondering if this is still the case.

Yeah, using NASM is no issue at all, but inline ASM would be nice.
Thanks in advance.

pp2 07-30-2012 00:10

Quote:

Originally Posted by mrb! (Post 77537)
I apologise for the bump but I have a question.
I read some things about ICC neutering AMD performance when compiling. Since it seems ICC is the only option for inline x64 these days with MSVC, I am wondering if this is still the case.

Yeah, using NASM is no issue at all, but inline ASM would be nice.
Thanks in advance.

As a developer, I can say, that ICC do not disable any optimizations, when compiling for AMD. Moreover, you can compile code on Intel machine, but execute it on AMD, so ICC cannot do anything bad, even if it wanted. But, of course, ICC supports more optimizations for features "unsupported" in AMD, and this can affect performance, but this is a rare case. If you write normal code (not system-specific, like SVM or smth else) - ICC is a good choice even for AMD platform.

chenm001 01-05-2013 10:07

I think the intrinstic assembly is more general.

ycmint 02-28-2013 22:19

good ��������the x64 will be common in the future

dnawujun 09-28-2013 14:04

Yes,it's really works by using Intel C++

radarhp 08-10-2014 15:37

please pm me where to download the Intel C/C++ compiler add-on. thanks

SubzEro 08-10-2014 16:50



All times are GMT +8. The time now is 10:47.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX