LLVM: lib/Target/AMDGPU/AMDGPULaneMaskUtils.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_LIB_TARGET_AMDGPU_UTILS_AMDGPULANEMASKUTILS_H
10#define LLVM_LIB_TARGET_AMDGPU_UTILS_AMDGPULANEMASKUTILS_H
11
14
15namespace llvm {
16
18
20
22public:
43
51 : AMDGPU::S_ANDN2_SAVEEXEC_B64),
53 : AMDGPU::S_ANDN2_B64_term),
55 : AMDGPU::S_AND_SAVEEXEC_B64),
57 : AMDGPU::S_AND_SAVEEXEC_B64_term),
66 : AMDGPU::S_OR_SAVEEXEC_B64),
70
72};
73
78
80 unsigned WavefrontSize = ST.getWavefrontSize();
81 assert(WavefrontSize == 32 || WavefrontSize == 64);
83}
84
85}
86
87}
88
89#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
AMD GCN specific subclass of TargetSubtarget.
const unsigned CSelectOpc
Definition AMDGPULaneMaskUtils.h:34
const unsigned CMovOpc
Definition AMDGPULaneMaskUtils.h:33
const unsigned AndSaveExecTermOpc
Definition AMDGPULaneMaskUtils.h:31
const unsigned AndTermOpc
Definition AMDGPULaneMaskUtils.h:26
const unsigned XorOpc
Definition AMDGPULaneMaskUtils.h:40
const unsigned WQMOpc
Definition AMDGPULaneMaskUtils.h:42
const unsigned AndN2Opc
Definition AMDGPULaneMaskUtils.h:27
const unsigned OrTermOpc
Definition AMDGPULaneMaskUtils.h:38
const Register VccReg
Definition AMDGPULaneMaskUtils.h:24
const unsigned AndOpc
Definition AMDGPULaneMaskUtils.h:25
constexpr LaneMaskConstants(bool IsWave32)
Definition AMDGPULaneMaskUtils.h:44
const unsigned MovOpc
Definition AMDGPULaneMaskUtils.h:35
static const LaneMaskConstants & get(const GCNSubtarget &ST)
Definition AMDGPULaneMaskUtils.h:79
const unsigned XorTermOpc
Definition AMDGPULaneMaskUtils.h:41
const Register ExecReg
Definition AMDGPULaneMaskUtils.h:23
const unsigned MovTermOpc
Definition AMDGPULaneMaskUtils.h:36
const unsigned OrOpc
Definition AMDGPULaneMaskUtils.h:37
const unsigned AndN2SaveExecOpc
Definition AMDGPULaneMaskUtils.h:28
const unsigned BfmOpc
Definition AMDGPULaneMaskUtils.h:32
const unsigned OrSaveExecOpc
Definition AMDGPULaneMaskUtils.h:39
const unsigned AndSaveExecOpc
Definition AMDGPULaneMaskUtils.h:30
const unsigned AndN2TermOpc
Definition AMDGPULaneMaskUtils.h:29
Wrapper class representing virtual and physical registers.
static constexpr LaneMaskConstants LaneMaskConstants32
Definition AMDGPULaneMaskUtils.h:74
static constexpr LaneMaskConstants LaneMaskConstants64
Definition AMDGPULaneMaskUtils.h:76
This is an optimization pass for GlobalISel generic memory operations.