Displaying 3 results from an estimated 3 matches for "float_addition".
2006 Nov 28
1
[LLVMdev] FP emulation (continued)
...lower return code, where you do need to
> specify how these are passed. Usually just saying they are in f64
> registers should be enough.
Yes. I have done almost all of that already a while ago and it solves
almost all problems, as you say. But the problem is a code like:
float f;
float float_addition(float a, float b)
{
return a+b;
}
which is translated by LLVM into:
target endian = little
target pointersize = 32
target triple = "i686-pc-linux-gnu"
deplibs = [ "c", "crtend" ]
%f = weak global float 0.000000e+00 ; <float*> [#uses=0]
implementation ; Fu...
2006 Nov 27
0
[LLVMdev] FP emulation (continued)
On Mon, 20 Nov 2006, Roman Levenstein wrote:
>> The first step is to get somethign simple like this working:
>>
>> void %foo(double* %P) {
>> store double 0.0, double* %P
>> ret void
>> }
>>
>> This will require the legalizer to turn the double 0.0 into two
>> integer zeros, and the store into two integer stores.
>
> Sample code
2006 Nov 20
3
[LLVMdev] FP emulation (continued)
Hi Chris,
Thank you very much for your answer! It helps me to move in the right
direction. When you explain it, it sounds rather easy. But I still
have some tricky issues. This is either because I'm not so familiar
with LLVM or because it is a bit underestimated how much LLVM
legalizer/expander relay on expandable types to be integers (see my
explanations below).
--- Chris Lattner <sabre