LLVM API Documentation

llvm::SPUISD Namespace Reference


Enumerations

enum  NodeType {
  FIRST_NUMBER = ISD::BUILTIN_OP_END, RET_FLAG, Hi, Lo,
  PCRelAddr, AFormAddr, IndirectAddr, LDRESULT,
  CALL, SHUFB, SHUFFLE_MASK, CNTB,
  PREFSLOT2VEC, VEC2PREFSLOT, SHLQUAD_L_BITS, SHLQUAD_L_BYTES,
  VEC_SHL, VEC_SRL, VEC_SRA, VEC_ROTL,
  VEC_ROTR, ROTBYTES_LEFT, ROTBYTES_LEFT_BITS, SELECT_MASK,
  SELB, ADD64_MARKER, SUB64_MARKER, MUL64_MARKER,
  LAST_SPUISD
}


Enumeration Type Documentation

Enumerator:
FIRST_NUMBER 
RET_FLAG  Return with flag, matched by bi instruction.
Hi  High address component (upper 16).
Lo  Low address component (lower 16).
PCRelAddr  Program counter relative address.
AFormAddr  A-form address (local store).
IndirectAddr  D-Form "imm($r)" and X-form "$r($r)".
LDRESULT  Load result (value, chain).
CALL  CALL instruction.
SHUFB  Vector shuffle (permute).
SHUFFLE_MASK  Shuffle mask.
CNTB  Count leading ones in bytes.
PREFSLOT2VEC  Promote scalar->vector.
VEC2PREFSLOT  Extract element 0.
SHLQUAD_L_BITS  Rotate quad left, by bits.
SHLQUAD_L_BYTES  Rotate quad left, by bytes.
VEC_SHL  Vector shift left.
VEC_SRL  Vector shift right (logical).
VEC_SRA  Vector shift right (arithmetic).
VEC_ROTL  Vector rotate left.
VEC_ROTR  Vector rotate right.
ROTBYTES_LEFT  Rotate bytes (loads -> ROTQBYI).
ROTBYTES_LEFT_BITS  Rotate bytes left by bit shift count.
SELECT_MASK  Select Mask (FSM, FSMB, FSMH, FSMBI).
SELB  Select bits -> (b & mask) | (a & ~mask).
ADD64_MARKER  i64 addition marker
SUB64_MARKER  i64 subtraction marker
MUL64_MARKER  i64 multiply marker
LAST_SPUISD  Last user-defined instruction.

Definition at line 24 of file SPUISelLowering.h.