mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
Rename ConstantVec -> BUILD_VECTOR and VConstant -> VBUILD_VECTOR. Allow
*BUILD_VECTOR to take variable inputs. llvm-svn: 26846
This commit is contained in:
parent
855e3c878b
commit
868679006d
@ -67,15 +67,10 @@ namespace ISD {
|
||||
Constant, ConstantFP,
|
||||
GlobalAddress, FrameIndex, ConstantPool, ExternalSymbol,
|
||||
|
||||
// ConstantVec works like Constant or ConstantFP, except that it is not a
|
||||
// leaf node. All operands are either Constant or ConstantFP nodes.
|
||||
ConstantVec,
|
||||
|
||||
// TargetConstant* - Like Constant*, but the DAG does not do any folding or
|
||||
// simplification of the constant.
|
||||
TargetConstant,
|
||||
TargetConstantFP,
|
||||
TargetConstantVec,
|
||||
|
||||
// TargetGlobalAddress - Like GlobalAddress, but the DAG does no folding or
|
||||
// anything else with this node, and this is valid in the target-specific
|
||||
@ -85,12 +80,6 @@ namespace ISD {
|
||||
TargetConstantPool,
|
||||
TargetExternalSymbol,
|
||||
|
||||
// Abstract version of ConstantVec with abstract Vector type. The first N-2
|
||||
// operands are the constants to initialize the vector, the N-2nd operand
|
||||
// is a constant element count, and that last operand is the value type
|
||||
// indicating the type of the elements.
|
||||
VConstant,
|
||||
|
||||
// CopyToReg - This node has three operands: a chain, a register number to
|
||||
// set to this value, and a value.
|
||||
CopyToReg,
|
||||
@ -148,26 +137,36 @@ namespace ISD {
|
||||
// FCOPYSIGN(f32, f64) is allowed.
|
||||
FCOPYSIGN,
|
||||
|
||||
/// INSERT_VECTOR_ELT(VECTOR, VAL, IDX) - Returns VECTOR (a legal packed
|
||||
/// type) with the element at IDX replaced with VAL.
|
||||
INSERT_VECTOR_ELT,
|
||||
|
||||
// BINOP(LHS, RHS, COUNT,TYPE)
|
||||
// Simple abstract vector operators. Unlike the integer and floating point
|
||||
// binary operators, these nodes also take two additional operands:
|
||||
// a constant element count, and a value type node indicating the type of
|
||||
// the elements. The order is count, type, op0, op1. All vector opcodes,
|
||||
// including VLOAD and VConstant must currently have count and type as
|
||||
// their last two operands.
|
||||
VADD, VSUB, VMUL, VSDIV, VUDIV,
|
||||
VAND, VOR, VXOR,
|
||||
/// VBUILD_VECTOR(ELT1, ELT2, ELT3, ELT4,..., COUNT,TYPE) - Return a vector
|
||||
/// with the specified, possibly variable, elements. The number of elements
|
||||
/// is required to be a power of two.
|
||||
VBUILD_VECTOR,
|
||||
|
||||
/// BUILD_VECTOR(ELT1, ELT2, ELT3, ELT4,...) - Return a vector
|
||||
/// with the specified, possibly variable, elements. The number of elements
|
||||
/// is required to be a power of two.
|
||||
BUILD_VECTOR,
|
||||
|
||||
/// VINSERT_VECTOR_ELT(VECTOR, VAL, IDX, COUNT,TYPE) - Given a vector
|
||||
/// VECTOR, an element ELEMENT, and a (potentially variable) index IDX,
|
||||
/// return an vector with the specified element of VECTOR replaced with VAL.
|
||||
/// COUNT and TYPE specify the type of vector, as is standard for V* nodes.
|
||||
VINSERT_VECTOR_ELT,
|
||||
|
||||
/// INSERT_VECTOR_ELT(VECTOR, VAL, IDX) - Returns VECTOR (a legal packed
|
||||
/// type) with the element at IDX replaced with VAL.
|
||||
INSERT_VECTOR_ELT,
|
||||
|
||||
/// BINOP(LHS, RHS, COUNT,TYPE)
|
||||
/// Simple abstract vector operators. Unlike the integer and floating point
|
||||
/// binary operators, these nodes also take two additional operands:
|
||||
/// a constant element count, and a value type node indicating the type of
|
||||
/// the elements. The order is count, type, op0, op1. All vector opcodes,
|
||||
/// including VLOAD and VConstant must currently have count and type as
|
||||
/// their last two operands.
|
||||
VADD, VSUB, VMUL, VSDIV, VUDIV,
|
||||
VAND, VOR, VXOR,
|
||||
|
||||
// MULHU/MULHS - Multiply high - Multiply two integers of type iN, producing
|
||||
// an unsigned/signed value of type i[2*n], then return the top part.
|
||||
MULHU, MULHS,
|
||||
|
Loading…
Reference in New Issue
Block a user