LLVM API Documentation
| enum llvm::X86::CondCode |
| COND_A | |
| COND_AE | |
| COND_B | |
| COND_BE | |
| COND_E | |
| COND_G | |
| COND_GE | |
| COND_L | |
| COND_LE | |
| COND_NE | |
| COND_NO | |
| COND_NP | |
| COND_NS | |
| COND_O | |
| COND_P | |
| COND_S | |
| COND_INVALID |
Definition at line 30 of file X86InstrInfo.h.
Definition at line 21 of file X86Relocations.h.
SubregIndex - The index of various sized subregister classes. Note that these indices must be kept in sync with the class indices in the X86RegisterInfo.td file.
Definition at line 39 of file X86RegisterInfo.h.
| llvm::FastISel * llvm::X86::createFastISel | ( | MachineFunction & | mf, | |
| MachineModuleInfo * | mmi, | |||
| DenseMap< const Value *, unsigned > & | vm, | |||
| DenseMap< const BasicBlock *, MachineBasicBlock * > & | bm, | |||
| DenseMap< const AllocaInst *, int > & | am | |||
| ) |
Definition at line 1390 of file X86FastISel.cpp.
Referenced by llvm::X86TargetLowering::createFastISel().
| unsigned llvm::X86::GetCondBranchFromCond | ( | X86::CondCode | CC | ) |
Definition at line 1391 of file X86InstrInfo.cpp.
References COND_A, COND_AE, COND_B, COND_BE, COND_E, COND_G, COND_GE, COND_L, COND_LE, COND_NE, COND_NO, COND_NP, COND_NS, COND_O, COND_P, and COND_S.
Referenced by llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::X86InstrInfo::InsertBranch(), and llvm::MipsInstrInfo::InsertBranch().
| bool llvm::X86::GetCpuIDAndInfo | ( | unsigned | value, | |
| unsigned * | rEAX, | |||
| unsigned * | rEBX, | |||
| unsigned * | rECX, | |||
| unsigned * | rEDX | |||
| ) |
GetCpuIDAndInfo - Execute the specified cpuid and return the 4 values in the specified arguments. If we can't run cpuid on the host, return true.
GetCpuIDAndInfo - Execute the specified cpuid and return the 4 values in the specified arguments. If we can't run cpuid on the host, return true.
Definition at line 76 of file X86Subtarget.cpp.
Referenced by llvm::X86Subtarget::AutoDetectSubtargetFeatures(), GetCurrentX86CPU(), and llvm::X86JITInfo::getLazyResolverFunction().
| X86::CondCode llvm::X86::GetOppositeBranchCondition | ( | X86::CondCode | CC | ) |
GetOppositeBranchCondition - Return the inverse of the specified cond, e.g. turning COND_E to COND_NE.
GetOppositeBranchCondition - Return the inverse of the specified condition, e.g. turning COND_E to COND_NE.
Definition at line 1415 of file X86InstrInfo.cpp.
References COND_A, COND_AE, COND_B, COND_BE, COND_E, COND_G, COND_GE, COND_L, COND_LE, COND_NE, COND_NO, COND_NP, COND_NS, COND_O, COND_P, and COND_S.
Referenced by llvm::X86InstrInfo::ReverseBranchCondition(), and llvm::MipsInstrInfo::ReverseBranchCondition().
getShufflePSHUFHWImmediate - Return the appropriate immediate to shuffle the specified isShuffleMask VECTOR_SHUFFLE mask with PSHUFHW instructions.
getShufflePSHUFHWImmediate - Return the appropriate immediate to shuffle the specified isShuffleMask VECTOR_SHUFFLE mask with PSHUFHW instructions.
Definition at line 2572 of file X86ISelLowering.cpp.
References llvm::SDValue::getOpcode(), llvm::SDNode::getOperand(), and llvm::ISD::UNDEF.
getShufflePSHUFKWImmediate - Return the appropriate immediate to shuffle the specified isShuffleMask VECTOR_SHUFFLE mask with PSHUFLW instructions.
getShufflePSHUFLWImmediate - Return the appropriate immediate to shuffle the specified isShuffleMask VECTOR_SHUFFLE mask with PSHUFLW instructions.
Definition at line 2591 of file X86ISelLowering.cpp.
References llvm::SDValue::getOpcode(), llvm::SDNode::getOperand(), and llvm::ISD::UNDEF.
getShuffleSHUFImmediate - Return the appropriate immediate to shuffle the specified isShuffleMask VECTOR_SHUFFLE mask with PSHUF* and SHUFP* instructions.
getShuffleSHUFImmediate - Return the appropriate immediate to shuffle the specified isShuffleMask VECTOR_SHUFFLE mask with PSHUF* and SHUFP* instructions.
Definition at line 2551 of file X86ISelLowering.cpp.
References llvm::SDNode::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDNode::getOperand(), and llvm::ISD::UNDEF.
| bool llvm::X86::isMOVDDUPMask | ( | SDNode * | N | ) |
isMOVDDUPMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVDDUP.
isMOVDDUPMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVDDUP.
Definition at line 2535 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and isUndefOrEqual().
| bool llvm::X86::isMOVHLPS_v_undef_Mask | ( | SDNode * | N | ) |
isMOVHLPS_v_undef_Mask - Special case of isMOVHLPSMask for canonical form of vector_shuffle v, v, <2, 3, 2, 3>, i.e. vector_shuffle v, undef, <2, 3, 2, 3>
isMOVHLPS_v_undef_Mask - Special case of isMOVHLPSMask for canonical form of vector_shuffle v, v, <2, 3, 2, 3>, i.e. vector_shuffle v, undef, <2, 3, 2, 3>
Definition at line 2194 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and isUndefOrEqual().
| bool llvm::X86::isMOVHLPSMask | ( | SDNode * | N | ) |
isMOVHLPSMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVHLPS.
isMOVHLPSMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVHLPS.
Definition at line 2178 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and isUndefOrEqual().
| bool llvm::X86::isMOVHPMask | ( | SDNode * | N | ) |
isMOVHPMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVHP{S|D} as well as MOVLHPS.
isMOVHPMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVHP{S|D} and MOVLHPS.
Definition at line 2230 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and isUndefOrEqual().
| bool llvm::X86::isMOVLMask | ( | SDNode * | N | ) |
isMOVLMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVSS, MOVSD, and MOVD, i.e. setting the lowest element.
Definition at line 2372 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), isMOVLMask(), and llvm::SDNode::op_begin().
| bool llvm::X86::isMOVLPMask | ( | SDNode * | N | ) |
isMOVLPMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVLP{S|D}.
isMOVLPMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVLP{S|D}.
Definition at line 2209 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and isUndefOrEqual().
| bool llvm::X86::isMOVSHDUPMask | ( | SDNode * | N | ) |
isMOVSHDUPMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVSHDUP.
isMOVSHDUPMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVSHDUP.
Definition at line 2409 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and llvm::ISD::UNDEF.
| bool llvm::X86::isMOVSLDUPMask | ( | SDNode * | N | ) |
isMOVSLDUPMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVSLDUP.
isMOVSLDUPMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVSLDUP.
Definition at line 2440 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and llvm::ISD::UNDEF.
| bool llvm::X86::isPSHUFDMask | ( | SDNode * | N | ) |
isPSHUFDMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to PSHUFD.
isPSHUFDMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to PSHUFD.
Definition at line 2064 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and llvm::ISD::UNDEF.
| bool llvm::X86::isPSHUFHWMask | ( | SDNode * | N | ) |
isPSHUFHWMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to PSHUFD.
isPSHUFHWMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to PSHUFHW.
Definition at line 2084 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and llvm::ISD::UNDEF.
| bool llvm::X86::isPSHUFLWMask | ( | SDNode * | N | ) |
isPSHUFLWMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to PSHUFD.
isPSHUFLWMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to PSHUFLW.
Definition at line 2114 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), isUndefOrEqual(), and isUndefOrInRange().
| bool llvm::X86::isSHUFPMask | ( | SDNode * | N | ) |
isSHUFPMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to SHUFP*.
Definition at line 2149 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), isSHUFPMask(), and llvm::SDNode::op_begin().
| bool llvm::X86::isSplatLoMask | ( | SDNode * | N | ) |
isSplatLoMask - Return true if the specified VECTOR_SHUFFLE operand specifies a splat of zero element.
isSplatLoMask - Return true if the specified VECTOR_SHUFFLE operand specifies a splat of zero element.
Definition at line 2524 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and isUndefOrEqual().
| bool llvm::X86::isSplatMask | ( | SDNode * | N | ) |
isSplatMask - Return true if the specified VECTOR_SHUFFLE operand specifies a splat of a single element.
isSplatMask - Return true if the specified VECTOR_SHUFFLE operand specifies a splat of a single element and it's a 2 or 4 element mask.
Definition at line 2513 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), and isSplatMask().
| bool llvm::X86::isUNPCKH_v_undef_Mask | ( | SDNode * | N | ) |
isUNPCKH_v_undef_Mask - Special case of isUNPCKHMask for canonical form of vector_shuffle v, v, <2, 6, 3, 7>, i.e. vector_shuffle v, undef, <2, 2, 3, 3>
isUNPCKH_v_undef_Mask - Special case of isUNPCKHMask for canonical form of vector_shuffle v, v, <2, 6, 3, 7>, i.e. vector_shuffle v, undef, <2, 2, 3, 3>
Definition at line 2334 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and isUndefOrEqual().
Referenced by llvm::X86TargetLowering::isShuffleMaskLegal().
| bool llvm::X86::isUNPCKHMask | ( | SDNode * | N, | |
| bool | V2IsSplat = false | |||
| ) |
isUNPCKHMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to UNPCKH.
Definition at line 2303 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), isUNPCKHMask(), and llvm::SDNode::op_begin().
Referenced by llvm::X86TargetLowering::isShuffleMaskLegal().
| bool llvm::X86::isUNPCKL_v_undef_Mask | ( | SDNode * | N | ) |
isUNPCKL_v_undef_Mask - Special case of isUNPCKLMask for canonical form of vector_shuffle v, v, <0, 4, 1, 5>, i.e. vector_shuffle v, undef, <0, 0, 1, 1>
isUNPCKL_v_undef_Mask - Special case of isUNPCKLMask for canonical form of vector_shuffle v, v, <0, 4, 1, 5>, i.e. vector_shuffle v, undef, <0, 0, 1, 1>
Definition at line 2311 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and isUndefOrEqual().
Referenced by llvm::X86TargetLowering::isShuffleMaskLegal().
| bool llvm::X86::isUNPCKLMask | ( | SDNode * | N, | |
| bool | V2IsSplat = false | |||
| ) |
isUNPCKLMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to UNPCKL.
Definition at line 2274 of file X86ISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), isUNPCKLMask(), and llvm::SDNode::op_begin().
Referenced by llvm::X86TargetLowering::isShuffleMaskLegal().