[PATCH] D100788: [SystemZ] Support i128 inline asm operands

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 19 13:52:02 PDT 2021


jonpa updated this revision to Diff 346554.
jonpa added a comment.

Patch updated per review.

> Can you elaborate? I thought InstrEmitter::EmitCopyFromReg() was supposed to also work with types that are not legal. It uses
> SrcRC = TRI->getMinimalPhysRegClass(SrcReg, VT);
> to get the RC for use with a physreg ...

It does that for SrcRC, but for DstRC it calls getRegClassFor(). Another way of solving this might be to check if the type is legal and if not then take SrcRC (see patch).


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

https://reviews.llvm.org/D100788

Files:
  llvm/include/llvm/CodeGen/TargetLowering.h
  llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
  llvm/lib/Target/SystemZ/SystemZISelLowering.h
  llvm/test/CodeGen/SystemZ/inline-asm-i128.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100788.346554.patch
Type: text/x-patch
Size: 15227 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210519/2a08a06e/attachment-0001.bin>


More information about the llvm-commits mailing list