[llvm] [AMDGPU][True16][MC] VOPC profile fake16 pesudo update (PR #113175)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 21 14:37:55 PDT 2024


================
@@ -889,17 +888,34 @@ multiclass VOPC_Class_NoSdst_Profile_t16<list<SchedReadWrite> sched> {
   }
 }
 
-class getVOPCClassPat64 <VOPProfile P> {
-  list<dag> ret =
-    [(set i1:$sdst,
+multiclass VOPCClassPat64<string inst_name> {
+  defvar inst = !cast<VOP_Pseudo>(inst_name#"_e64");
+  defvar P = inst.Pfl;
+  def : GCNPat <
+    (i1:$sdst
       (AMDGPUfp_class
         (P.Src0VT (VOP3ModsNonCanonicalizing P.Src0VT:$src0, i32:$src0_modifiers)),
-        i32:$src1))];
+        P.Src1VT:$src1)),
+    (inst i32:$src0_modifiers, P.Src0VT:$src0,
+          0 /*src1_modifiers*/, P.Src1VT:$src1)
+  >;
+}
+multiclass VOPCClassPat64_fake16<string inst_name> {
----------------
arsenm wrote:

```suggestion

multiclass VOPCClassPat64_fake16<string inst_name> {
```

https://github.com/llvm/llvm-project/pull/113175


More information about the llvm-commits mailing list