Forum > Windows
ASM of compiled source of certain functions - by the Intel Compiler
BenHer:
Hello Simon,
I'm a former optimizer of seti. Was co-project manager on the sourceforge attempt at seti sourceforge attempt at seti...some of my code versions are still in there in the setiboinc/client/opt/ folder of CVS.
Contributed a few ideas to the project "Average turnaround time" and my version of a credit equalizer that became DCF, caching the sin/cos table of v_chirpdata (but nowhere as clever as Tetsuji's).
I was curious as to what loop unrolling and simd opcodes the Intel Compiler was making for various of the new functions for enhanced.
Would it be possible to turn on /Asm file generation for a .cpp file and post the assembly source for a given function? For example the "v_GetPowerSpectrum" and "v_ChirpData" from analyzefuncs.cpp.
Thanks either way.
Simon:
Definitely possible. You'll just have to tell me what exactly you want - I'm not sure how to do ASM dumps of just a specific file.
Please give me more info, and I'll post the files tomorrow or Saturday.
Regards,
Simon.
BenHer:
Lemme see if I can remember how...
On the IDE - from the Property pages of a given .cpp file
Select the "Configuration Properties -> Debugging"
or
Perhaps "C/C++ -> Output files"
Probably one of these has a line item for "assembly output" or ".asm" file or "/Asm" or the like.
The file is analyzefuncs.cpp - but the assembly source would be a huge post. So maybe just the portions that encode for "v_GetPowerSpectrum" and "v_ChirpData".
Simon:
It's almost that simple - I'm using "Whole Program Optimization" which tries to unroll and inline stuff all over your executable. This means I cannot produce asms for a specific source file only. I'm currently compiling with /Qipo-facs which should give an output file with assembly, machine code and source code in one and hopefully let me identify the functions you wanted to see.
Regards,
Simon.
Simon:
Well, here's my first attempt - though I just noticed I compiled my test source tree, instead of the release one. So these may contain hand-written assembly optimizations, next ones will be from the release tree.
These are from an SSE3-optimized build (/QxP /QaxP and USE_SSE3 in preproc flags).
Hope this helps you :)
Simon.
[attachment deleted by admin]
Navigation
[0] Message Index
[#] Next page
Go to full version