LLVM 20.0.0git
Functions | Variables
HexagonISelLoweringHVX.cpp File Reference
#include "HexagonISelLowering.h"
#include "HexagonRegisterInfo.h"
#include "HexagonSubtarget.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/MemoryLocation.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/IR/IntrinsicsHexagon.h"
#include "llvm/Support/CommandLine.h"
#include <algorithm>
#include <string>
#include <utility>

Go to the source code of this file.

Functions

static std::tuple< unsigned, unsigned, unsignedgetIEEEProperties (MVT Ty)
 

Variables

static cl::opt< unsignedHvxWidenThreshold ("hexagon-hvx-widen", cl::Hidden, cl::init(16), cl::desc("Lower threshold (in bytes) for widening to HVX vectors"))
 
static const MVT LegalV64 [] = { MVT::v64i8, MVT::v32i16, MVT::v16i32 }
 
static const MVT LegalW64 [] = { MVT::v128i8, MVT::v64i16, MVT::v32i32 }
 
static const MVT LegalV128 [] = { MVT::v128i8, MVT::v64i16, MVT::v32i32 }
 
static const MVT LegalW128 [] = { MVT::v256i8, MVT::v128i16, MVT::v64i32 }
 

Function Documentation

◆ getIEEEProperties()

static std::tuple< unsigned, unsigned, unsigned > getIEEEProperties ( MVT  Ty)
static

Variable Documentation

◆ HvxWidenThreshold

cl::opt< unsigned > HvxWidenThreshold("hexagon-hvx-widen", cl::Hidden, cl::init(16), cl::desc("Lower threshold (in bytes) for widening to HVX vectors")) ( "hexagon-hvx-widen"  ,
cl::Hidden  ,
cl::init(16)  ,
cl::desc("Lower threshold (in bytes) for widening to HVX vectors")   
)
static

◆ LegalV128

const MVT LegalV128[] = { MVT::v128i8, MVT::v64i16, MVT::v32i32 }
static

Definition at line 36 of file HexagonISelLoweringHVX.cpp.

◆ LegalV64

const MVT LegalV64[] = { MVT::v64i8, MVT::v32i16, MVT::v16i32 }
static

Definition at line 34 of file HexagonISelLoweringHVX.cpp.

◆ LegalW128

const MVT LegalW128[] = { MVT::v256i8, MVT::v128i16, MVT::v64i32 }
static

Definition at line 37 of file HexagonISelLoweringHVX.cpp.

◆ LegalW64

const MVT LegalW64[] = { MVT::v128i8, MVT::v64i16, MVT::v32i32 }
static

Definition at line 35 of file HexagonISelLoweringHVX.cpp.