[PATCH] D77082: [AMDGPU] Handle SMRD signed offset immediate

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 1 09:53:28 PDT 2020


arsenm added inline comments.


================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp:1788
   SDLoc SL(ByteOffsetNode);
-  GCNSubtarget::Generation Gen = Subtarget->getGeneration();
-  uint64_t ByteOffset = C->getZExtValue();
+  // GFX9 amd GFX10 have signed byte immediate offsets.
+  int64_t ByteOffset = C->getSExtValue();
----------------
Typo amd


================
Comment at: llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h:650
+/// S_LOAD instructions have a signed offset, on other subtargets it is
+/// unsigned. S_BUFFER has an unsigned offset for all subtargets.
 Optional<int64_t> getSMRDEncodedOffset(const MCSubtargetInfo &ST,
----------------
Ugh, is this really different between the buffer and non-buffer forms?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77082/new/

https://reviews.llvm.org/D77082





More information about the llvm-commits mailing list