LLVM 22.0.0git
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()

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.