[DynInst_API:] [dyninst/dyninst] 47f485: Restructure operand decoding logic for AMDGPU


Date: Thu, 02 Nov 2023 09:06:39 -0700
From: bbiiggppiigg <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 47f485: Restructure operand decoding logic for AMDGPU
  Branch: refs/heads/bbiiggppiigg/restructure-append-operand-and-fix-mdma
  Home:   https://github.com/dyninst/dyninst
  Commit: 47f48517c27a848c9cb192afa352a742c77eea7e
      https://github.com/dyninst/dyninst/commit/47f48517c27a848c9cb192afa352a742c77eea7e
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2023-11-02 (Thu, 02 Nov 2023)

  Changed paths:
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.C
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.h
    A instructionAPI/src/AMDGPU/gfx908/appendOperands.C
    A instructionAPI/src/AMDGPU/gfx908/appendOperands.h
    R instructionAPI/src/AMDGPU/gfx908/decodeOperands.C
    R instructionAPI/src/AMDGPU/gfx908/decodeOperands.h
    M instructionAPI/src/AMDGPU/gfx908/finalizeOperands.C
    M instructionAPI/src/AMDGPU/gfx90a/InstructionDecoder-amdgpu-gfx90a.C
    M instructionAPI/src/AMDGPU/gfx90a/InstructionDecoder-amdgpu-gfx90a.h
    A instructionAPI/src/AMDGPU/gfx90a/appendOperands.C
    A instructionAPI/src/AMDGPU/gfx90a/appendOperands.h
    R instructionAPI/src/AMDGPU/gfx90a/decodeOperands.C
    R instructionAPI/src/AMDGPU/gfx90a/decodeOperands.h
    M instructionAPI/src/AMDGPU/gfx90a/finalizeOperands.C
    M instructionAPI/src/AMDGPU/gfx940/InstructionDecoder-amdgpu-gfx940.C
    M instructionAPI/src/AMDGPU/gfx940/InstructionDecoder-amdgpu-gfx940.h
    A instructionAPI/src/AMDGPU/gfx940/appendOperands.C
    A instructionAPI/src/AMDGPU/gfx940/appendOperands.h
    R instructionAPI/src/AMDGPU/gfx940/decodeOperands.C
    R instructionAPI/src/AMDGPU/gfx940/decodeOperands.h
    M instructionAPI/src/AMDGPU/gfx940/finalizeOperands.C

  Log Message:
  -----------
  Restructure operand decoding logic for AMDGPU

As title, this commit restructured the operand decoding logic.
The main changes are as follows:

* Replace decodeOPR_* interfaces with appendOPR_* for most operands,
  where the appendOPR_* can handle variable length operand on its own.

* Fix operand length for MFMA instructions


[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 47f485: Restructure operand decoding logic for AMDGPU, bbiiggppiigg <=