LLVM 23.0.0git
HexagonXQFloatGenerator.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Macros

#define HEXAGON_XQFLOAT_GENERATOR   "XQFloat Generator pass"
#define DEBUG_TYPE   "hexagon-xqf-gen"

Functions

FunctionPassllvm::createHexagonXQFloatGenerator ()
void llvm::initializeHexagonXQFloatGeneratorPass (PassRegistry &)
 INITIALIZE_PASS (HexagonXQFloatGenerator, "hexagon-xqfloat-generator", HEXAGON_XQFLOAT_GENERATOR, false, false) FunctionPass *llvm

Variables

cl::opt< QFloatMode > QFloatModeValue
cl::opt< boolEnableHVXXQFloat ("enable-xqf-gen", cl::init(false), cl::desc("Enable XQFloat generations"))
static constexpr unsigned XQFPAdd32 []
static constexpr unsigned XQFPAdd16 []
static constexpr unsigned XQFPMult32 []
static constexpr unsigned XQFPMult16 []

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "hexagon-xqf-gen"

Definition at line 149 of file HexagonXQFloatGenerator.cpp.

◆ HEXAGON_XQFLOAT_GENERATOR

#define HEXAGON_XQFLOAT_GENERATOR   "XQFloat Generator pass"

Definition at line 127 of file HexagonXQFloatGenerator.cpp.

Referenced by INITIALIZE_PASS().

Function Documentation

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( HexagonXQFloatGenerator ,
"hexagon-xqfloat-generator" ,
HEXAGON_XQFLOAT_GENERATOR ,
false ,
false  )

Variable Documentation

◆ EnableHVXXQFloat

cl::opt< bool > EnableHVXXQFloat("enable-xqf-gen", cl::init(false), cl::desc("Enable XQFloat generations")) ( "enable-xqf-gen" ,
cl::init(false) ,
cl::desc("Enable XQFloat generations")  )

◆ QFloatModeValue

cl::opt<QFloatMode> QFloatModeValue
extern

◆ XQFPAdd16

unsigned XQFPAdd16[]
staticconstexpr
Initial value:
= {
Hexagon::V6_vadd_hf, Hexagon::V6_vadd_qf16, Hexagon::V6_vadd_qf16_mix,
Hexagon::V6_vsub_hf, Hexagon::V6_vsub_qf16, Hexagon::V6_vsub_qf16_mix,
Hexagon::V6_vsub_hf_mix}

Definition at line 168 of file HexagonXQFloatGenerator.cpp.

◆ XQFPAdd32

unsigned XQFPAdd32[]
staticconstexpr
Initial value:
= {
Hexagon::V6_vadd_sf, Hexagon::V6_vadd_qf32, Hexagon::V6_vadd_qf32_mix,
Hexagon::V6_vsub_qf32, Hexagon::V6_vsub_qf32_mix, Hexagon::V6_vsub_sf,
Hexagon::V6_vsub_sf_mix}

Definition at line 159 of file HexagonXQFloatGenerator.cpp.

◆ XQFPMult16

unsigned XQFPMult16[]
staticconstexpr
Initial value:
= {Hexagon::V6_vmpy_qf16,
Hexagon::V6_vmpy_qf16_hf,
Hexagon::V6_vmpy_qf16_mix_hf}

Definition at line 181 of file HexagonXQFloatGenerator.cpp.

◆ XQFPMult32

unsigned XQFPMult32[]
staticconstexpr
Initial value:
= {
Hexagon::V6_vmpy_qf32, Hexagon::V6_vmpy_qf32_qf16, Hexagon::V6_vmpy_qf32_hf,
Hexagon::V6_vmpy_qf32_sf, Hexagon::V6_vmpy_qf32_mix_hf}

Definition at line 177 of file HexagonXQFloatGenerator.cpp.