Displaying 20 results from an estimated 1000 matches similar to: "[PPC, APFloat] Add full PPCDoubleDouble to APFloat"
2016 Oct 03
2
[PPC, APFloat] Add full PPCDoubleDouble to APFloat
Hi Hal,
On Sun, Oct 2, 2016 at 7:43 PM Hal Finkel <hfinkel at anl.gov> wrote:
> Hi Tim,
>
> How, in general, are you thinking about doing this? I ask because, as you
> clearly know, the double-double format is formed by the sum of two
> double-precision numbers, and the various arithmetic operations are formed
> mostly in terms of double-precision arithmetic on the
2007 Aug 18
1
[LLVMdev] Soft floating point support
This patch supplies software IEEE floating point support.
The comment from the patch reproduced below says all there is
to say.
This patch contains the prior "cleanup" patch; please don't apply
that one.
Please let me know of any bugs. It is tested reasonably well,
but until I put together random tests it's hard to have 100%
confidence.
Neil.
/* A self-contained host- and
2012 Jun 24
1
[LLVMdev] APFloat::PPCDoubleDouble arithmetic
Hi all,
What changes to LLVM are needed to support arithmetic for PPCDoubleDouble?
arithmeticOK == false for PPCDoubleDouble leads e.g. to assert "Compile-time arithmetic does not support these semantics" when compiling the next function on PowerPC with clang:
double quiet_NaN()
{
return 4.94065645841246544176568792868221e-324L;
}
--
Regards,
Konstantin
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
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
2009 Aug 20
3
[LLVMdev] Buggy assertion in APFloat::convertFromHexadecimalString
Hello.
When running clang in Debug mode, I am getting an assertion failure when
parsing the following line:
float ko = 0x1.1p0;
Apparently, the recent changes in the use of StringRef haven't been
propagated to all places. Please find attached the trivial patch.
Cheers,
Enea Zaffanella.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name:
2015 Jan 22
3
[LLVMdev] numeric limits of llvm Types?
Hi all,
can I access the numeric limits of the llvm types,
e.g. HalfTy, FloatTy, DoubleTy, etc.
in a fashion like the std numeric_limits tool?
std::numeric_limits<half>::min()
std::numeric_limits<half>::max()
In c++API, I want to initialize values and need to know the correct range
for the llvm types....
Thx
Alex
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
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
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
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
>
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 Jun 06
3
[LLVMdev] StmtPrinter long double support.
Hello,
I'm playing with llvm/clang and I have a problem when I try to use the
-ast-print options for a file that uses long double.
The Basic/Targets.cpp file defined the x86 (and x86_64) long double
type as APFloat::x87DoubleExtended.
Then, when the AST printer try to write a long double literal value
(using VisitFloatingLiteral()), it call FloatingLiteral-
>getValueAsDouble()
2007 Aug 14
1
[LLVMdev] Static functions for APInt
This adds a bunch of static functions that implement unsigned
two's complement bignum arithmetic. They could be used to
implement much of APInt, but the idea is they are enough to
implement APFloat as well, which the current APInt interface
is not suited for.
Neil.
-------------- next part --------------
Index: include/llvm/ADT/APInt.h
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
2008 Jun 06
0
[LLVMdev] StmtPrinter long double support.
On Jun 6, 2008, at 8:51 AM, Jean-Daniel Dupas wrote:
> Hello,
>
>
> I'm playing with llvm/clang and I have a problem when I try to use
> the -ast-print options for a file that uses long double.
>
> The Basic/Targets.cpp file defined the x86 (and x86_64) long double
> type as APFloat::x87DoubleExtended.
> Then, when the AST printer try to write a long double
2012 Jul 24
2
[LLVMdev] Is append in APFloat broken?
Hi @llvm,
I stumbled over a strange behavior if a float containing a NaN is
printed (e.g. in the clang rewriter). The local template method "append"
in APFloat.cpp deduces the size from the char array, which for "NaN" is
4 (including the trailing zero). If APFloat::toString is called with a
SmallString and then SmallString::str() is called, it returns "NaN\0". I
2014 Jun 18
3
[LLVMdev] [RFC] Add a simple soft-float class
> On 2014 Jun 17, at 21:59, Owen Anderson <resistor at mac.com> wrote:
>
> Hi Duncan,
>
> Some of these don’t make a lot of sense:
Sorry -- I think I was assuming too much knowledge about what I committed as
part of the BlockFrequencyInfo rewrite.
What's committed there is a class called UnsignedFloat that wraps the
following with a bunch of API:
template
2014 Jun 18
10
[LLVMdev] [RFC] Add a simple soft-float class
I'm currently working on stripping usage of `UnsignedFloat` out of
`-block-freq`. Before I finish...
I propose adding a soft-float class to llvm/Support/ or llvm/Analysis/.
- Portable (unlike hard-floats).
- Well-defined for all platforms and safe to use in code.
- Easy to use and reason about (unlike `APFloat`).
- Uses operators.
- No special numbers.
- Every