flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2, 3, 4, 5, 6 Next |
Author |
|
OzzY
Anyone tested to see how optimal is the code generated by Digital Mars C++ Compiler?
|
|||
![]() |
|
peter
I tested Digital Mars 3 years ago, and it was far from optimum: no common subexpression elimination, weak optimization of loops and case statements. But it was 3 years ago, so you may want to check it yourself again.
|
|||
![]() |
|
Madis731
I just discovered that you can use only 0.1% of the code out there to compile under Dev-Cpp. Usually the libraries don't exist or if you download them, it puts them to a different location and with freaky names with pre- and postfixes.
![]() Btw, does anyone know if I can get my hand on any FREE part of Intel compilers? They should be 64-bit and SSSE3 aware... |
|||
![]() |
|
TmX
Madis731 wrote: Btw, does anyone know if I can get my hand on any FREE part of Intel compilers? They should be 64-bit and SSSE3 aware... AFAIK, there's a free Intel compiler for Linux |
|||
![]() |
|
OzzY
I'm also searching for a free c++ compiler.
Not a pure C compiler, but an alternative to Mingw and VC++ to write C++ programs. I think I'm going to try Digital mars, borland c++ 5.5 and openwatcom. As for the IDE, I've already installed Code Blocks that work with different compiler. Which one would you recommend? |
|||
![]() |
|
Maverick
What about VisualC++ Express?
|
|||
![]() |
|
f0dder
OzzY: why are you looking for an alternative to VC++? You can still get VC2003 toolkit (though you'll have to google, not at MS anymore), and the VC2005 version from VC++ Express is also freely available. If you want better code than that, you'll have to go Intel - and that compiler isn't free.
Definitely stay away from Borland, it doesn't have super code generation and it's standard library is pretty bloated. Dunno how much effort has been put into OpenWatcom... |
|||
![]() |
|
OzzY
I have Visual C++ Express installed. But I find it too bloated for my taste.
I always get confused when looking at the million options that exist on the compiler configuration menus and dialogs from the IDE. And a big part of these options are for .NET that I don't use. So, a minimal IDE with syntax hightlighting and code completion/call tips with a good and fast compiler is what I'm searching for. I'm already using Code Blocks as IDE and it works fine with most compilers. So, I think I'll use VC++ Express with its IDE and Code Blocks with Mingw. I also use Pelles C when doing pure C code. I like Pelles C a lot. I wish VC++ Express IDE was simple like Pelles C IDE, but with a C++ compiler. |
|||
![]() |
|
f0dder
OzzY: what's the problem? Just use the commandline compiler instead. /O1 or /Ox will be enough for normal use - optimize for size or full optimization. You don't need to "fine-tune" everything manually, and doing so can even produce worse code in some cases
![]() |
|||
![]() |
|
Maverick
f0dder wrote: OzzY: why are you looking for an alternative to VC++? You can still get VC2003 toolkit (though you'll have to google, not at MS anymore), and the VC2005 version from VC++ Express is also freely available. If you want better code than that, you'll have to go Intel - and that compiler isn't free. _________________ Greets, Fabio |
|||
![]() |
|
f0dder
Maverick wrote:
Sounds like a crock of bullshit - unless it was something added in recent versions. I've used ICC on my AMD without any trouble at all. If you start using commandline switches for generating SSE2 code and try to run on an old AMD, that's another story though ![]() _________________ ![]() |
|||
![]() |
|
Maverick
Glad to know it's not a vendor check. Now I recall, it was when AMDs didn't have SSE, but the error message was about the vendor, not the feature.
By the way, do you think the code optimizations are targeted also to AMD CPUs? ![]() |
|||
![]() |
|
f0dder
I don't think there's any purposeful negative-amd-impact optimizations, if that's what you're hinting at
![]() |
|||
![]() |
|
Maverick
I'll take a look at the code ICC produces and compare it to Orcas one, thank you.
![]() I've to say I'm used to VC now (only commandline and without even standard libraries, just my code), but if it's worth then I'll do the switch (maybe developing on Linux also for Windows ![]() |
|||
![]() |
|
Vortex
OzzY,
Here is a VC++ 2005 Express example builded with command-line parameters : Code: cl /c /Oty2 /Zl /Gs /GS- /FoDemo.OBJ Demo.c link /SUBSYSTEM:WINDOWS /NODEFAULTLIB Demo.obj crt0\crt0.lib kernel32.lib user32.lib gdi32.lib \masm32\lib\msvcrt.lib Note that I used PSDK 2003 R2 to build the project. The result is a tiny executable sized 3.5 KB
_________________ Code it... That's all... |
|||||||||||
![]() |
|
f0dder
Maverick wrote: I'll take a look at the code ICC produces and compare it to Orcas one, thank you. Orcas? Which version is that, I'm not familiar with the code names and I'm too lazy to google ;P _________________ ![]() |
|||
![]() |
|
Maverick
Orcas is the codename of the next version to VC2005 / 8.0. I don't know (and I doubt it's known, officially at least) what it will end up as a name. Probably VC2007 and either VC 8.1 or VC 9.0.
It's not Phoenix, anyway ( http://research.microsoft.com/phoenix/ ) which I tried also and, weirdly, has that bug I mentioned (while Phoenix is supposed to be "newer" than Orcas, i.e. neither in beta, while Orcas is in early beta). Weird that the compiler I'm working on (I had my own programming language and compiler on the Amiga, which I'm finally porting to the PC, albeit much improved in many regards) shares many design ideas with Phoenix, I discovered. That doesn't make me feel too good (not because I fear to be sued because of some pervert patent, my compiler is for internal usage only anyway, but because it means that Microsoft code quality is improving a lot vs the past ![]() [edit]You may want to check this: http://msdn.microsoft.com/vstudio/future/ |
|||
![]() |
|
OzzY
What happens if a program compiled and optimized with SSE is executed on a machine without SSE?
Just for curiosity, because I never tried it... all my code is for 486... ![]() |
|||
![]() |
|
f0dder
OzzY wrote: What happens if a program compiled and optimized with SSE is executed on a machine without SSE? Either it crashes, or there's some compiler-added check for SSE availability and you'll get a nice messagebox or whatever ![]() _________________ ![]() |
|||
![]() |
|
Goto page Previous 1, 2, 3, 4, 5, 6 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.