[PATCH] D98784: [AMDGPU][GlobalISel] Fix unable to legalize G_FSHL error

Mateja Marjanovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 17 08:20:59 PDT 2021


matejam created this revision.
matejam added reviewers: arsenm, foad, mbrkusanin, Petar.Avramovic.
matejam added a project: LLVM.
Herald added subscribers: hiraditya, t-tye, tpr, dstuttard, rovka, yaxunl, kzhuravl.
matejam requested review of this revision.
Herald added a subscriber: wdng.

Add implementation for lowering G_FSHL instruction in
LegalizerHelper::lower().


https://reviews.llvm.org/D98784

Files:
  llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp


Index: llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
===================================================================
--- llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -2919,6 +2919,17 @@
     }
     return Legalized;
   }
+  case TargetOpcode::G_FSHL: {
+    Register DstReg = MI.getOperand(0).getReg();
+    Register SrcReg = MI.getOperand(1).getReg();
+    int64_t SrcImm = MI.getOperand(2).getImm();
+    LLT DstTy = MRI.getType(DstReg);
+
+    auto MIConst = MIRBuilder.buildConstant(DstTy, SrcImm);
+    MIRBuilder.buildShl(DstReg, SrcReg, MIConst->getOperand(0));
+    MI.eraseFromParent();
+    return Legalized;
+  }
   case TargetOpcode::G_FNEG: {
     Register Res = MI.getOperand(0).getReg();
     LLT Ty = MRI.getType(Res);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98784.331271.patch
Type: text/x-patch
Size: 799 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210317/7ff28fc7/attachment.bin>


More information about the llvm-commits mailing list