|
LLVM 23.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 <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 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 4233 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 45 of file HexagonISelLoweringHVX.cpp.
References llvm::c_str(), llvm::MVT::getScalarType(), and llvm_unreachable.
|
static |
|
static |
Definition at line 40 of file HexagonISelLoweringHVX.cpp.
Definition at line 38 of file HexagonISelLoweringHVX.cpp.
Definition at line 41 of file HexagonISelLoweringHVX.cpp.
Definition at line 39 of file HexagonISelLoweringHVX.cpp.
Definition at line 43 of file HexagonISelLoweringHVX.cpp.