[llvm] [RISCV] add more generic macrofusions (PR #151140)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 31 22:03:03 PDT 2025


================
@@ -28,6 +28,15 @@ def TuneAUIPCADDIFusion
                  CheckOpcode<[AUIPC]>,
                  CheckOpcode<[ADDI]>>;
 
+// Fuse AUIPC followed by ADDIW:
+//   auipc rd, imm20
+//   addiw rd, rd, imm12
+def TuneAUIPCADDIWFusion
+  : SimpleFusion<"auipc-addiw-fusion", "HasAUIPCADDIWFusion",
+                 "Enable AUIPC+ADDIW macrofusion",
+                 CheckOpcode<[AUIPC]>,
+                 CheckOpcode<[ADDIW]>>;
----------------
topperc wrote:

I would be surprised if you can get LLVM to generate this pattern. I'm not sure if we should add something that will never be used in practice.

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


More information about the llvm-commits mailing list