Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
1058 Discussions

Function declaration parameters - asm.

srimks
New Contributor II
131 Views
Hello,

For below HLL source code function declaration -

void apple( const State now,
Real crd[MAX_ATOMS][SPACE],
const Real v[MAX_TORS][SPACE],
const int tlist[MAX_TORS][MAX_ATOMS],
const int ntor )
--

The ICC-v11.0 assembly for above function declaration is as below -
----
# parameter 1(now): 112 + %rsp
# parameter 2(crd): %rdi
# parameter 3(v): %rsi
# parameter 4(tlist): %rdx
# parameter 5(ntor): %ecx----

Now, how do I represent above asm parameters as shown by assembly file as above in user defined Inline SSE assembly?

Can I have some Intel C++ Compiler references/documents which discuss, how to interpret, analyze and write Inline SSE assembly code for IA-64 on Linux x86_64?

~BR
0 Kudos
2 Replies
neni
New Contributor II
131 Views

It's not clear exactly what you are trying to do. The parametrs passing, which registers to use etc are being defined by the ABI (application binary interface), which is different between OS (and calling conventions, etc). For inline asm, the C symbols are accesible from within the inline asm block (in most case, the compiler will dump them from registers to their designated stack location and load them from the stack). If all you want is basic SSE functionality you might consider using compiler intrinsics over inline asm

srimks
New Contributor II
131 Views
Quoting - neni

It's not clear exactly what you are trying to do. The parametrs passing, which registers to use etc are being defined by the ABI (application binary interface), which is different between OS (and calling conventions, etc). For inline asm, the C symbols are accesible from within the inline asm block (in most case, the compiler will dump them from registers to their designated stack location and load them from the stack). If all you want is basic SSE functionality you might consider using compiler intrinsics over inline asm

Sorry, for asking this questions. I think I am done. Thanks for your inputs.

~BR
Reply