Displaying 13 results from an estimated 13 matches similar to: "[LLVMdev] Soft floating point support"
2007 Sep 22
0
[LLVMdev] APFloat storage complications
APFloat is derived from C code using fixed width storage for
the matntissa. When converting to C++ I changed it to variable-
width storage for space efficiency and generality reasons.
Unfortunately this leads to a complication during float->float
conversions that I missed that isn't present when using fixed
width storage.
Dale - I think this solves the issue correctly whilst preserving
2015 Jan 02
2
[LLVMdev] [PATCH] [ADT] APFloat - Fix sign handling for FMA results that truncate to zero.
Hi All,
APFloat::fusedMultiplyAdd currently computes the wrong signed zero when
small negative results are truncated back to zero in standard precision.
The following snippet handles the signedness in fusedMultiplyAdd:
/* If two numbers add (exactly) to zero, IEEE 754 decrees it is a
positive zero unless rounding to minus infinity, except that
adding two like-signed zeroes gives that
2015 Jan 03
2
[LLVMdev] [PATCH] [ADT] APFloat - Fix sign handling for FMA results that truncate to zero.
Hi Mehdi,
Thanks for the feedback. I think the comment is fine - the problem is just
that the original conditional didn't exactly match it. With the addition of
the underflow check I believe the condition now matches the comment: The
sign is only tweaked if the result of the addition is exactly zero, rather
than a small result that truncates to zero.
CC'ing llvm-commits, where this email
2007 Sep 05
2
[LLVMdev] Seeing a crash with ConstantFP::get
Hola LLVMers,
I'm getting a crash when using ConstantFP::get.
I can repro it by adding one line to the Fibonacci example program:
int main(int argc, char **argv) {
int n = argc > 1 ? atol(argv[1]) : 24;
// Create some module to put our function into it.
Module *M = new Module("test");
// We are about to create the "fib" function:
Function
2007 Sep 05
2
[LLVMdev] Seeing a crash with ConstantFP::get
It's in debug. I'm having a look at the assembler it's producing right
now and it's definitely a little odd for what should be a simple
assignment in zeroSignificand.
________________________________
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
On Behalf Of Dale Johannesen
Sent: Wednesday, September 05, 2007 2:39 PM
To: LLVM Developers Mailing
2007 Sep 05
0
[LLVMdev] Seeing a crash with ConstantFP::get
On Sep 5, 2007, at 2:21 PM, Chuck Rose III wrote:
> Hola LLVMers,
>
>
>
> I’m getting a crash when using ConstantFP::get.
>
>
>
> I can repro it by adding one line to the Fibonacci example program:
>
>
>
> int main(int argc, char **argv) {
>
> int n = argc > 1 ? atol(argv[1]) : 24;
>
>
>
> // Create some module to put our function
2007 Sep 06
0
[LLVMdev] Seeing a crash with ConstantFP::get
Hola Dale,
I spent some time walking through what's going on with a friend of mine
from VStudio. Category is given 2 bits in the APFloat class definition.
It's sign extending the enum value for the comparisons when it loads it
out of the class, so the 2 becomes a -2 and the comparison fails. He
sent me a piece of code which I might be able to use to force the issue.
I'll update
2008 Jan 23
4
[LLVMdev] Complex constant expressions?
Neil Booth wrote:
> Talin wrote:-
>
>> On the other hand, writing an interpreter means duplicating a lot of
>> the functionality that's already in LLVM. For example, consider just
>> the problem of float to int conversions:
>>
>> char B[ (int)3.0 ];
>>
>> Generating code for this is relatively simple; Converting
>> arbitrary-sized
2008 Jan 22
0
[LLVMdev] Complex constant expressions?
Talin wrote:-
> On the other hand, writing an interpreter means duplicating a lot of
> the functionality that's already in LLVM. For example, consider just
> the problem of float to int conversions:
>
> char B[ (int)3.0 ];
>
> Generating code for this is relatively simple; Converting
> arbitrary-sized APFloats to arbitrary-sized APInts isn't quite as
>
2008 Jan 23
0
[LLVMdev] Complex constant expressions?
Talin wrote:-
> Well, I may be using it wrong. But looking at APFloat.h, I see four
> functions that purport to convert to integer:
>
> opStatus convertToInteger(integerPart *, unsigned int, bool,
> roundingMode) const;
> opStatus convertFromSignExtendedInteger(const integerPart *,
> unsigned int,
>
2008 Jan 22
5
[LLVMdev] Complex constant expressions?
More questions on the best way to write a compiler using LLVM:
Lets say I have a struct definition that looks like this:
const int imageSize = 77;
struct A {
char B[align(imageSize)];
}
...where 'imageSize' is some small inline function that rounds up to a
power of two or something. (A common requirement for textures on 3d
graphics cards.)
Now, clearly the compiler
2014 Sep 19
2
[LLVMdev] More careful treatment of floating point exceptions
Hi Sanjay,
Thanks, I saw this flag and it's definitely should be considered, but
it appeared to me to be static characteristic of target platform. I'm
not sure how appropriate it would be to change its value from a front-end.
It says "Has", while optional flag would rather say "Uses" meaning that
implementation cares about floating point exceptions.
Regards,
Sergey
2007 Sep 06
2
[LLVMdev] Seeing a crash with ConstantFP::get
On Sep 5, 2007, at 5:08 PM, Chuck Rose III wrote:
> Hola Dale,
>
>
>
> I spent some time walking through what’s going on with a friend of
> mine from VStudio. Category is given 2 bits in the APFloat class
> definition. It’s sign extending the enum value for the comparisons
> when it loads it out of the class, so the 2 becomes a -2 and the
> comparison fails.