|
LLVM 24.0.0git
|
#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 "llvm/Support/ErrorHandling.h"#include <algorithm>#include <string>#include <utility>Go to the source code of this file.
Functions | |
| static std::tuple< unsigned, unsigned, unsigned > | getIEEEProperties (MVT Ty) |
| static bool | DetectExtendingMultiply (const SDValue &N, EVT ScalarType, unsigned &Opcode, SDValue &A, SDValue &B) |
Variables | |
| static cl::opt< unsigned > | HvxWidenThreshold ("hexagon-hvx-widen", cl::Hidden, cl::init(16), cl::desc("Lower threshold (in bytes) for widening to HVX vectors")) |
| static cl::opt< bool > | EnableFpFastConvert ("hexagon-fp-fast-convert", cl::Hidden, cl::init(false), cl::desc("Enable FP fast conversion routine.")) |
| static cl::opt< bool > | EnableXQFFastConvert ("hexagon-qf-fast-convert", cl::Hidden, cl::init(false), cl::desc("Enable XQF fast conversion routine.")) |
| 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 } |
| static const unsigned | MaxExpandMLA = 8 |
|
static |
Definition at line 4414 of file HexagonISelLoweringHVX.cpp.
References A(), B(), llvm::EVT::getVectorElementType(), llvm::ISD::MUL, Mul, N, llvm::ISD::PARTIAL_REDUCE_SMLA, llvm::ISD::PARTIAL_REDUCE_SUMLA, llvm::ISD::PARTIAL_REDUCE_UMLA, llvm::ISD::SIGN_EXTEND, std::swap(), and llvm::ISD::ZERO_EXTEND.
Definition at line 50 of file HexagonISelLoweringHVX.cpp.
References llvm::c_str(), and llvm_unreachable.
|
static |
|
static |
|
static |
Definition at line 45 of file HexagonISelLoweringHVX.cpp.
Definition at line 43 of file HexagonISelLoweringHVX.cpp.
Definition at line 46 of file HexagonISelLoweringHVX.cpp.
Definition at line 44 of file HexagonISelLoweringHVX.cpp.
Definition at line 48 of file HexagonISelLoweringHVX.cpp.