Displaying 1 result from an estimated 1 matches for "partialregisteroperations".
2011 Nov 24
2
[LLVMdev] x86 backend assembly - mov esp->reg
...onsistency with the x86 backend assembly output in how it treats arguments of a function. Here is a simple test to illustrate the inconsistency:
<from test.c>
void test()
{
char ac, bc, cc, dc, fc;
ac = (char)Rand();
bc = (char)Rand();
cc = (char)Rand();
dc = (char)Rand();
fc = PartialRegisterOperationsTestChar(ac, bc, cc, dc);
}
<from partialregisteroperations.c>
char PartialRegisterOperationsTestChar(char a, char b, char c, char d)
{
return a*b+c*d;
}
When compiled for atom with clang in 32-bit mode the 8-bit variables in test use 32-bit registers:
...
movl %ecx, 8(%esp...