Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | If the power of 5 is exact, and the reciprocal exact, the error is zero not ↵ | Neil Booth | 2007-10-13 | 1 | -1/+1 | |
| | | | | | | one half-ulps. This prevents an infinite loop in rare cases. llvm-svn: 42950 | |||||
* | Remove duplicate comment. | Neil Booth | 2007-10-12 | 1 | -11/+0 | |
| | | | | llvm-svn: 42913 | |||||
* | Implement correctly-rounded decimal->binary conversion, i.e. conversion | Neil Booth | 2007-10-12 | 1 | -6/+349 | |
| | | | | | | | | | | | from user input strings. Such conversions are more intricate and subtle than they may appear; it is unlikely I have got it completely right first time. I would appreciate being informed of any bugs and incorrect roundings you might discover. llvm-svn: 42912 | |||||
* | Remove a field that was never used. | Neil Booth | 2007-10-12 | 1 | -9/+6 | |
| | | | | llvm-svn: 42911 | |||||
* | If we're trying to be arbitrary precision, unsigned char clearly won't cut ↵ | Neil Booth | 2007-10-12 | 1 | -1/+1 | |
| | | | | | | it. Needed for dec->bin conversions. llvm-svn: 42910 | |||||
* | Next PPC long double bits. First cut at constants. | Dale Johannesen | 2007-10-11 | 1 | -6/+157 | |
| | | | | | | | | | No compile-time support for constant operations yet, just format transformations. Make readers and writers work. Split constants into 2 doubles in Legalize. llvm-svn: 42865 | |||||
* | Use APInt::tcExtract. It's cleaner, and works :) | Neil Booth | 2007-10-08 | 1 | -19/+14 | |
| | | | | llvm-svn: 42746 | |||||
* | Add back convertFromSignExtendedInteger. | Neil Booth | 2007-10-07 | 1 | -0/+30 | |
| | | | | llvm-svn: 42735 | |||||
* | Now that convertFromUnsignedParts has a sane, constant interface, | Neil Booth | 2007-10-07 | 1 | -5/+1 | |
| | | | | | | | convertFromZeroExtendedInteger can be simplified as it doesn't need to make a copy of the source bignum. llvm-svn: 42734 | |||||
* | Reimplement convertFromUnsignedInteger so it is passed a const bignum. | Neil Booth | 2007-10-07 | 1 | -18/+29 | |
| | | | | | | | | | It used to modify its argument in-place. This interface is saner and the implementation more efficient. It will be needed for decimal->binary conversion. llvm-svn: 42733 | |||||
* | convertFromInteger, as originally written, expected sign-extended | Neil Booth | 2007-10-07 | 1 | -4/+6 | |
| | | | | | | | | input. APInt unfortunately zero-extends signed integers, so Dale modified the function to expect zero-extended input. Make this assumption explicit in the function name. llvm-svn: 42732 | |||||
* | combineLostFractions does not need to be a member function | Neil Booth | 2007-10-07 | 1 | -16/+15 | |
| | | | | llvm-svn: 42729 | |||||
* | Cleaner, more general exponent output. | Neil Booth | 2007-10-06 | 1 | -21/+22 | |
| | | | | llvm-svn: 42690 | |||||
* | silence warnings in no-assert build. | Chris Lattner | 2007-10-06 | 1 | -23/+20 | |
| | | | | llvm-svn: 42687 | |||||
* | Generalize tcFullMultiply so that the operands can be of differing | Neil Booth | 2007-10-06 | 1 | -3/+4 | |
| | | | | | | | | part widths. Also, return the number of parts actually required to hold the result's value. Remove an over-cautious condition from rounding of float->hex conversion. llvm-svn: 42669 | |||||
* | Add APFloat -> hexadecimal string conversion, as per %a and %A in C99. | Neil Booth | 2007-10-03 | 1 | -3/+240 | |
| | | | | | | Useful for diagnostics and debugging. llvm-svn: 42598 | |||||
* | Tweak RoundAwayFromZero the bit number below which is truncated, and make | Neil Booth | 2007-10-03 | 1 | -8/+13 | |
| | | | | | | | | it const. Preparation for APFloat -> hexadecimal string conversion. llvm-svn: 42576 | |||||
* | Simplify and fix signed int -> FP conversions. | Dale Johannesen | 2007-09-30 | 1 | -11/+3 | |
| | | | | llvm-svn: 42483 | |||||
* | Whitespace and compiler warning cleanup. | Neil Booth | 2007-09-26 | 1 | -76/+91 | |
| | | | | llvm-svn: 42373 | |||||
* | Make APFloat->int conversions deterministic even in | Dale Johannesen | 2007-09-25 | 1 | -5/+33 | |
| | | | | | | cases with undefined behavior. llvm-svn: 42328 | |||||
* | Fix long double<->shorter FP type conversions | Dale Johannesen | 2007-09-25 | 1 | -12/+29 | |
| | | | | | | of zero, infinity, and NaNs. llvm-svn: 42298 | |||||
* | Handle storage complications of float->float conversions. | Neil Booth | 2007-09-22 | 1 | -18/+23 | |
| | | | | llvm-svn: 42220 | |||||
* | Change APFloat::convertFromInteger to take the incoming | Dale Johannesen | 2007-09-21 | 1 | -16/+19 | |
| | | | | | | | | | | bit width instead of number of words allocated, which makes it actually work for int->APF conversions. Adjust callers. Add const to one of the APInt constructors to prevent surprising match when called with const argument. llvm-svn: 42210 | |||||
* | Fix PR 1688. See comments there. | Dale Johannesen | 2007-09-20 | 1 | -13/+25 | |
| | | | | llvm-svn: 42181 | |||||
* | Remove spurious consts. This fixes warnings with compilers that | Dan Gohman | 2007-09-14 | 1 | -2/+2 | |
| | | | | | | are strict about such things. llvm-svn: 41956 | |||||
* | Compensate for partCount change in Bogus definition | Dale Johannesen | 2007-09-12 | 1 | -1/+1 | |
| | | | | | | (could break hash table in ConstantFP) llvm-svn: 41874 | |||||
* | Add APInt interfaces to APFloat (allows directly | Dale Johannesen | 2007-09-11 | 1 | -15/+149 | |
| | | | | | | | | | access to bits). Use them in place of float and double interfaces where appropriate. First bits of x86 long double constants handling (untested, probably does not work). llvm-svn: 41858 | |||||
* | Fix mod so it actually works. Fix conversions to | Dale Johannesen | 2007-09-05 | 1 | -9/+33 | |
| | | | | | | native types to handle denormals correctly. llvm-svn: 41726 | |||||
* | Oops, should be part of 41664; won't work very well without this piece. | Dale Johannesen | 2007-08-31 | 1 | -0/+38 | |
| | | | | llvm-svn: 41665 | |||||
* | Enhance APFloat to retain bits of NaNs (fixes oggenc). | Dale Johannesen | 2007-08-31 | 1 | -77/+76 | |
| | | | | | | | Use APFloat interfaces for more references, mostly of ConstantFPSDNode. llvm-svn: 41632 | |||||
* | Change LegalFPImmediates to use APFloat. | Dale Johannesen | 2007-08-30 | 1 | -1/+1 | |
| | | | | | | | | | Add APFloat interfaces to ConstantFP, SelectionDAG. Fix integer bit in double->APFloat conversion. Convert LegalizeDAG to use APFloat interface in ConstantFPSDNode uses. llvm-svn: 41587 | |||||
* | Poison APFloat::operator==. Replace existing uses with bitwiseIsEqual. | Dale Johannesen | 2007-08-24 | 1 | -1/+1 | |
| | | | | | | This means backing out the preceding change to Constants.cpp, alas. llvm-svn: 41378 | |||||
* | Revised per review feedback from previous patch. | Dale Johannesen | 2007-08-24 | 1 | -36/+15 | |
| | | | | llvm-svn: 41353 | |||||
* | silence some warnings in an optimized build. | Chris Lattner | 2007-08-24 | 1 | -11/+8 | |
| | | | | llvm-svn: 41352 | |||||
* | Change internal representation of ConstantFP to use APFloat. | Dale Johannesen | 2007-08-24 | 1 | -1/+187 | |
| | | | | | | Interface to rest of the compiler unchanged, as yet. llvm-svn: 41348 | |||||
* | initial checkin of Neil's APFloat work. | Chris Lattner | 2007-08-20 | 1 | -0/+1488 | |
llvm-svn: 41203 |