LLVM API Documentation

llvm::PPC Namespace Reference

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


Enumerations

enum  RelocationType {
  reloc_pcrel_bx, reloc_absolute_high, reloc_absolute_low, reloc_absolute_ptr_high,
  reloc_absolute_ptr_low
}

Functions

bool isVPKUHUMShuffleMask (SDNode *N, bool isUnary)
bool isVPKUWUMShuffleMask (SDNode *N, bool isUnary)
bool isVMRGLShuffleMask (SDNode *N, unsigned UnitSize, bool isUnary)
bool isVMRGHShuffleMask (SDNode *N, unsigned UnitSize, bool isUnary)
int isVSLDOIShuffleMask (SDNode *N, bool isUnary)
bool isSplatShuffleMask (SDNode *N, unsigned EltSize)
unsigned getVSPLTImmediate (SDNode *N, unsigned EltSize)
SDOperand get_VSPLTI_elt (SDNode *N, unsigned ByteSize, SelectionDAG &DAG)


Detailed Description

Define some predicates that are used for node matching.

Enumeration Type Documentation

enum llvm::PPC::RelocationType

Enumerator:
reloc_pcrel_bx 
reloc_absolute_high 
reloc_absolute_low 
reloc_absolute_ptr_high 
reloc_absolute_ptr_low 

Definition at line 27 of file PPCRelocations.h.


Function Documentation

bool llvm::PPC::isVPKUHUMShuffleMask ( SDNode N,
bool  isUnary 
)

isVPKUHUMShuffleMask - Return true if this is the shuffle mask for a VPKUHUM instruction.

Definition at line 283 of file PPCISelLowering.cpp.

References llvm::SDNode::getOperand(), and isConstantOrUndef().

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

bool llvm::PPC::isVPKUWUMShuffleMask ( SDNode N,
bool  isUnary 
)

isVPKUWUMShuffleMask - Return true if this is the shuffle mask for a VPKUWUM instruction.

Definition at line 299 of file PPCISelLowering.cpp.

References llvm::SDNode::getOperand(), and isConstantOrUndef().

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

bool llvm::PPC::isVMRGLShuffleMask ( SDNode N,
unsigned  UnitSize,
bool  isUnary 
)

isVMRGLShuffleMask - Return true if this is a shuffle mask suitable for a VRGL* instruction with the specified unit size (1,2 or 4 bytes).

Definition at line 338 of file PPCISelLowering.cpp.

References isVMerge().

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

bool llvm::PPC::isVMRGHShuffleMask ( SDNode N,
unsigned  UnitSize,
bool  isUnary 
)

isVMRGHShuffleMask - Return true if this is a shuffle mask suitable for a VRGH* instruction with the specified unit size (1,2 or 4 bytes).

Definition at line 346 of file PPCISelLowering.cpp.

References isVMerge().

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

int llvm::PPC::isVSLDOIShuffleMask ( SDNode N,
bool  isUnary 
)

isVSLDOIShuffleMask - If this is a vsldoi shuffle mask, return the shift amount, otherwise return -1.

Definition at line 355 of file PPCISelLowering.cpp.

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

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

bool llvm::PPC::isSplatShuffleMask ( SDNode N,
unsigned  EltSize 
)

isSplatShuffleMask - Return true if the specified VECTOR_SHUFFLE operand specifies a splat of a single element that is suitable for input to VSPLTB/VSPLTH/VSPLTW.

Definition at line 389 of file PPCISelLowering.cpp.

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

Referenced by getVSPLTImmediate(), and llvm::PPCTargetLowering::LowerOperation().

unsigned llvm::PPC::getVSPLTImmediate ( SDNode N,
unsigned  EltSize 
)

getVSPLTImmediate - Return the appropriate VSPLT* immediate to splat the specified isSplatShuffleMask VECTOR_SHUFFLE mask.

Definition at line 427 of file PPCISelLowering.cpp.

References llvm::SDNode::getOperand(), and isSplatShuffleMask().

SDOperand llvm::PPC::get_VSPLTI_elt ( SDNode N,
unsigned  ByteSize,
SelectionDAG DAG 
)

get_VSPLTI_elt - If this is a build_vector of constants which can be formed by using a vspltis[bhw] instruction of the specified element size, return the constant being splatted. The ByteSize field indicates the number of bytes of each element [124] -> [bhw].

Definition at line 436 of file PPCISelLowering.cpp.

References DAG, llvm::MVT::f32, llvm::FloatToBits(), llvm::SDNode::getNumOperands(), llvm::SDOperand::getOpcode(), llvm::SDNode::getOperand(), llvm::MVT::getSizeInBits(), llvm::SelectionDAG::getTargetConstant(), llvm::MVT::i32, U, llvm::ISD::UNDEF, llvm::SDOperand::Val, and Val.

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