aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
diff options
context:
space:
mode:
authorStanislav Mekhanoshin <rampitec@users.noreply.github.com>2024-02-19 13:45:23 -0800
committerGitHub <noreply@github.com>2024-02-19 13:45:23 -0800
commit13e64958a00f9f47fc71027d5b6196906cbc2863 (patch)
treeb9ac07e9905506fabade408a0752b1ec326655f4 /llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
parent35f45926eb12b2612f23012ab1e80e3be86dbb2d (diff)
downloadllvm-13e64958a00f9f47fc71027d5b6196906cbc2863.zip
llvm-13e64958a00f9f47fc71027d5b6196906cbc2863.tar.gz
llvm-13e64958a00f9f47fc71027d5b6196906cbc2863.tar.bz2
[AMDGPU] Fix decoder for BF16 inline constants (#82276)
Fix #82039.
Diffstat (limited to 'llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h')
-rw-r--r--llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
index 02feaf55..3142b8a 100644
--- a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
+++ b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
@@ -15,6 +15,7 @@
#ifndef LLVM_LIB_TARGET_AMDGPU_DISASSEMBLER_AMDGPUDISASSEMBLER_H
#define LLVM_LIB_TARGET_AMDGPU_DISASSEMBLER_AMDGPUDISASSEMBLER_H
+#include "SIDefines.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/MC/MCDisassembler/MCDisassembler.h"
@@ -231,25 +232,29 @@ public:
unsigned getTtmpClassId(const OpWidthTy Width) const;
static MCOperand decodeIntImmed(unsigned Imm);
- static MCOperand decodeFPImmed(unsigned ImmWidth, unsigned Imm);
+ static MCOperand decodeFPImmed(unsigned ImmWidth, unsigned Imm,
+ AMDGPU::OperandSemantics Sema);
MCOperand decodeMandatoryLiteralConstant(unsigned Imm) const;
MCOperand decodeLiteralConstant(bool ExtendFP64) const;
- MCOperand decodeSrcOp(const OpWidthTy Width, unsigned Val,
- bool MandatoryLiteral = false, unsigned ImmWidth = 0,
- bool IsFP = false) const;
+ MCOperand decodeSrcOp(
+ const OpWidthTy Width, unsigned Val, bool MandatoryLiteral = false,
+ unsigned ImmWidth = 0,
+ AMDGPU::OperandSemantics Sema = AMDGPU::OperandSemantics::INT) const;
- MCOperand decodeNonVGPRSrcOp(const OpWidthTy Width, unsigned Val,
- bool MandatoryLiteral = false,
- unsigned ImmWidth = 0, bool IsFP = false) const;
+ MCOperand decodeNonVGPRSrcOp(
+ const OpWidthTy Width, unsigned Val, bool MandatoryLiteral = false,
+ unsigned ImmWidth = 0,
+ AMDGPU::OperandSemantics Sema = AMDGPU::OperandSemantics::INT) const;
MCOperand decodeVOPDDstYOp(MCInst &Inst, unsigned Val) const;
MCOperand decodeSpecialReg32(unsigned Val) const;
MCOperand decodeSpecialReg64(unsigned Val) const;
MCOperand decodeSDWASrc(const OpWidthTy Width, unsigned Val,
- unsigned ImmWidth = 0) const;
+ unsigned ImmWidth,
+ AMDGPU::OperandSemantics Sema) const;
MCOperand decodeSDWASrc16(unsigned Val) const;
MCOperand decodeSDWASrc32(unsigned Val) const;
MCOperand decodeSDWAVopcDst(unsigned Val) const;