[llvm] Adding support in llvm-exegesis for Aarch64 for handling FPR64/128, PPR16 and ZPR128 reg class. (PR #127564)

via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 18 00:33:44 PST 2025


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff af1e2a374e3845454914348793341f4f931e805a f8ce0ccba940c41308353271d930a8628365a6c2 --extensions cpp -- llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp b/llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
index dc312f4916..8d93350953 100644
--- a/llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
+++ b/llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
@@ -59,17 +59,16 @@ static MCInst loadPPRImmediate(MCRegister Reg, unsigned RegBitWidth,
 static unsigned getLoadFPImmediateOpcode(unsigned RegBitWidth) {
   switch (RegBitWidth) {
   case 64:
-    return AArch64::FMOVDi; 
+    return AArch64::FMOVDi;
   case 128:
     return AArch64::MOVIv2d_ns;
   }
   llvm_unreachable("Invalid Value Width");
 }
 
-
 // Generates instruction to load an FP immediate value into a register.
 static MCInst loadFPImmediate(MCRegister Reg, unsigned RegBitWidth,
-                            const APInt &Value) {
+                              const APInt &Value) {
   if (Value.getBitWidth() > RegBitWidth)
     llvm_unreachable("Value must fit in the FP Register");
   return MCInstBuilder(getLoadFPImmediateOpcode(RegBitWidth))
@@ -95,16 +94,16 @@ private:
       return {loadImmediate(Reg, 64, Value)};
 
     if (AArch64::PPRRegClass.contains(Reg))
-      return {loadPPRImmediate(Reg, 16, Value)}; 
+      return {loadPPRImmediate(Reg, 16, Value)};
 
-    if (AArch64::FPR64RegClass.contains(Reg)) 
+    if (AArch64::FPR64RegClass.contains(Reg))
       return {loadFPImmediate(Reg, 64, Value)};
-    if (AArch64::FPR128RegClass.contains(Reg)) 
+    if (AArch64::FPR128RegClass.contains(Reg))
       return {loadFPImmediate(Reg, 128, Value)};
 
-    if (AArch64::ZPRRegClass.contains(Reg)) 
+    if (AArch64::ZPRRegClass.contains(Reg))
       return {loadZPRImmediate(Reg, 128, Value)};
-    
+
     errs() << "setRegTo is not implemented, results will be unreliable\n";
     return {};
   }

``````````

</details>


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


More information about the llvm-commits mailing list