[llvm] [GlobalIsel] Combine G_VSCALE (PR #94096)
    Matt Arsenault via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri May 31 23:24:12 PDT 2024
    
    
  
================
@@ -856,6 +858,43 @@ class GTrunc : public GCastOp {
   };
 };
 
+/// Represents a vscale.
+class GVScale : public GenericMachineInstr {
+public:
+  APInt getSrc() const { return getOperand(1).getCImm()->getValue(); }
+
+  static bool classof(const MachineInstr *MI) {
+    return MI->getOpcode() == TargetOpcode::G_VSCALE;
+  };
+};
+
+/// Represents an integer subtraction.
+class GSub : public GIntBinOp {
+public:
+  static bool classof(const MachineInstr *MI) {
+    return MI->getOpcode() == TargetOpcode::G_SUB;
+  };
+};
+
+/// Represents an integer multiplication.
+class GMul : public GIntBinOp {
+public:
+  static bool classof(const MachineInstr *MI) {
+    return MI->getOpcode() == TargetOpcode::G_MUL;
+  };
+};
+
+/// Represents a shift left.
+class GSHL : public GenericMachineInstr {
----------------
arsenm wrote:
Inconsistent capitalization with other ops, GShl? 
https://github.com/llvm/llvm-project/pull/94096
    
    
More information about the llvm-commits
mailing list