LLVM API Documentation

llvm::X86 Namespace Reference

Define some predicates that are used for node matching. More...


Enumerations

enum  RelocationType { reloc_pcrel_word = 0, reloc_absolute_word = 1 }

Functions

bool isPSHUFDMask (SDNode *N)
bool isPSHUFHWMask (SDNode *N)
bool isPSHUFLWMask (SDNode *N)
bool isSHUFPMask (SDNode *N)
bool isMOVLHPSMask (SDNode *N)
bool isMOVHLPSMask (SDNode *N)
bool isMOVLPMask (SDNode *N)
bool isMOVHPMask (SDNode *N)
bool isUNPCKLMask (SDNode *N)
bool isUNPCKHMask (SDNode *N)
bool isUNPCKL_v_undef_Mask (SDNode *N)
bool isMOVSMask (SDNode *N)
bool isSplatMask (SDNode *N)
unsigned getShuffleSHUFImmediate (SDNode *N)
unsigned getShufflePSHUFHWImmediate (SDNode *N)
unsigned getShufflePSHUFLWImmediate (SDNode *N)


Detailed Description

Define some predicates that are used for node matching.

Enumeration Type Documentation

enum llvm::X86::RelocationType

Enumerator:
reloc_pcrel_word 
reloc_absolute_word 

Definition at line 21 of file X86Relocations.h.


Function Documentation

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.

Definition at line 1450 of file X86ISelLowering.cpp.

References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and llvm::ISD::UNDEF.

Referenced by llvm::X86TargetLowering::isShuffleMaskLegal(), and llvm::X86TargetLowering::LowerOperation().

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 PSHUFHW.

Definition at line 1470 of file X86ISelLowering.cpp.

References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), llvm::ISD::UNDEF, and Val.

Referenced by llvm::X86TargetLowering::LowerOperation().

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 PSHUFLW.

Definition at line 1500 of file X86ISelLowering.cpp.

References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), isUndefOrEqual(), and isUndefOrInRange().

Referenced by llvm::X86TargetLowering::LowerOperation().

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 1521 of file X86ISelLowering.cpp.

References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), isUndefOrEqual(), llvm::ISD::UNDEF, and Val.

Referenced by llvm::X86TargetLowering::isShuffleMaskLegal(), and llvm::X86TargetLowering::LowerOperation().

bool llvm::X86::isMOVLHPSMask ( SDNode N  ) 

isMOVLHPSMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVHLPS.

Definition at line 1577 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.

Definition at line 1562 of file X86ISelLowering.cpp.

References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and isUndefOrEqual().

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}.

Definition at line 1592 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}.

Definition at line 1612 of file X86ISelLowering.cpp.

References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and isUndefOrEqual().

bool llvm::X86::isUNPCKLMask ( SDNode N  ) 

isUNPCKLMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to UNPCKL.

Definition at line 1634 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(), and llvm::X86TargetLowering::LowerOperation().

bool llvm::X86::isUNPCKHMask ( SDNode N  ) 

isUNPCKHMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to UNPCKH.

Definition at line 1655 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(), and llvm::X86TargetLowering::LowerOperation().

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>

Definition at line 1677 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(), and llvm::X86TargetLowering::LowerOperation().

bool llvm::X86::isMOVSMask ( SDNode N  ) 

isMOVSMask - Return true if the specified VECTOR_SHUFFLE operand specifies a shuffle of elements that is suitable for input to MOVS{S|D}.

Definition at line 1699 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(), and llvm::X86TargetLowering::LowerOperation().

bool llvm::X86::isSplatMask ( SDNode N  ) 

isSplatMask - Return true if the specified VECTOR_SHUFFLE operand specifies a splat of a single element.

Definition at line 1720 of file X86ISelLowering.cpp.

References llvm::ISD::BUILD_VECTOR, llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and llvm::ISD::UNDEF.

Referenced by llvm::X86TargetLowering::isShuffleMaskLegal(), and llvm::X86TargetLowering::LowerOperation().

unsigned llvm::X86::getShuffleSHUFImmediate ( SDNode N  ) 

getShuffleSHUFImmediate - Return the appropriate immediate to shuffle the specified isShuffleMask VECTOR_SHUFFLE mask with PSHUF* and SHUFP* instructions.

Definition at line 1745 of file X86ISelLowering.cpp.

References llvm::SDNode::getNumOperands(), llvm::SDOperand::getOpcode(), llvm::SDNode::getOperand(), llvm::ISD::UNDEF, and Val.

unsigned llvm::X86::getShufflePSHUFHWImmediate ( SDNode N  ) 

getShufflePSHUFHWImmediate - Return the appropriate immediate to shuffle the specified isShuffleMask VECTOR_SHUFFLE mask with PSHUFHW instructions.

Definition at line 1766 of file X86ISelLowering.cpp.

References llvm::SDOperand::getOpcode(), llvm::SDNode::getOperand(), llvm::ISD::UNDEF, and Val.

unsigned llvm::X86::getShufflePSHUFLWImmediate ( SDNode N  ) 

getShufflePSHUFLWImmediate - Return the appropriate immediate to shuffle the specified isShuffleMask VECTOR_SHUFFLE mask with PSHUFLW instructions.

Definition at line 1785 of file X86ISelLowering.cpp.

References llvm::SDOperand::getOpcode(), llvm::SDNode::getOperand(), llvm::ISD::UNDEF, and Val.