Displaying 2 results from an estimated 2 matches for "__mulsf3".
2011 Mar 30
0
[LLVMdev] Swapping function arguments in libcalls
...forgive me in that
case. The idea is to basically commute/swap function arguments just like in
instructions if it's beneficial, mainly for libcalls. Consider this example:
typedef float t;
t foo(t a, t b)
{
return a*b;
}
this gets compiled into (msp430 asm, arm does the same):
call #__mulsf3
ret
but if we instead do "return b*a;" we get:
push.w r11
push.w r10
mov.w r14, r11
mov.w r15, r10
mov.w r13, r15
mov.w r12, r14
mov.w r10, r13
mov.w r11, r12
call #__mulsf3
pop.w r10
pop.w r11
ret
Noti...
2012 Dec 07
0
[LLVMdev] overriding InitLibcallNames?
...een
mips16 and mips32 functions.
This is how gcc mips16 works and there is already this kind of soft
float library that is implemented as hard float mips32 functions.
Basically it is soft float but with different library entry names.
So for example, instead of Names[RTLIB::MUL_F32] = "__mulsf3";
I would want Names[RTLIB::MUL_F32] = "__mips16__mulsf3";
I'm trying to think of the best way to do this since soft float is not
done in target independent
code but this is a target dependent version of soft float.
I'll need to override a whole set of names and mips 16 h...