mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-21 18:24:23 +00:00
Add support for expanding PPC 128 bit floats.
For this it is convenient to permit floats to be used with EXTRACT_ELEMENT, so I tweaked things to allow that. I also added libcalls for ppcf128 to i32 forms of FP_TO_XINT, since they exist in libgcc and this case can certainly occur (and does occur in the testsuite) - before the i64 libcall was being used. Also, the XINT_TO_FP result seemed to be wrong when the argument is an i128: the wrong fudge factor was added (the i32 and i64 cases were handled directly, but the i128 code fell through to some generic softening code which seemed to think it was i64 to f32!). So I fixed it by adding a fudge factor that I found in my breakfast cereal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52739 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -193,16 +193,16 @@ namespace ISD {
|
||||
CALL,
|
||||
|
||||
// EXTRACT_ELEMENT - This is used to get the lower or upper (determined by
|
||||
// a Constant, which is required to be operand #1) half of the integer value
|
||||
// specified as operand #0. This is only for use before legalization, for
|
||||
// values that will be broken into multiple registers.
|
||||
// a Constant, which is required to be operand #1) half of the integer or
|
||||
// float value specified as operand #0. This is only for use before
|
||||
// legalization, for values that will be broken into multiple registers.
|
||||
EXTRACT_ELEMENT,
|
||||
|
||||
// BUILD_PAIR - This is the opposite of EXTRACT_ELEMENT in some ways. Given
|
||||
// two values of the same integer value type, this produces a value twice as
|
||||
// big. Like EXTRACT_ELEMENT, this can only be used before legalization.
|
||||
BUILD_PAIR,
|
||||
|
||||
|
||||
// MERGE_VALUES - This node takes multiple discrete operands and returns
|
||||
// them all as its individual results. This nodes has exactly the same
|
||||
// number of inputs and outputs, and is only valid before legalization.
|
||||
|
Reference in New Issue
Block a user