[llvm] [Mips] Fix missing sign extension in expansion of sub-word atomic max (PR #77072)

via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 5 02:17:37 PST 2024


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 b662c9aa0e0580e1fc78a8787414c86ad1984742 e50fd227ef38dafe80e739d36ca39b2186d1ff4c -- llvm/lib/Target/Mips/MipsExpandPseudo.cpp
``````````

</details>

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

``````````diff
diff --git a/llvm/lib/Target/Mips/MipsExpandPseudo.cpp b/llvm/lib/Target/Mips/MipsExpandPseudo.cpp
index c2a6d52d41..510b2f1a18 100644
--- a/llvm/lib/Target/Mips/MipsExpandPseudo.cpp
+++ b/llvm/lib/Target/Mips/MipsExpandPseudo.cpp
@@ -483,28 +483,31 @@ bool MipsExpandPseudo::expandAtomicBinOpSubword(
       BuildMI(loopMBB, DL, TII->get(Mips::AND), Incr).addReg(Incr).addReg(Mask);
 
       if (!IsUnsigned) {
-        BuildMI(loopMBB, DL, TII->get(Mips::SRAV), OldVal).addReg(OldVal).addReg(ShiftAmnt);
-        BuildMI(loopMBB, DL, TII->get(Mips::SRAV), Incr).addReg(Incr).addReg(ShiftAmnt);
+        BuildMI(loopMBB, DL, TII->get(Mips::SRAV), OldVal)
+            .addReg(OldVal)
+            .addReg(ShiftAmnt);
+        BuildMI(loopMBB, DL, TII->get(Mips::SRAV), Incr)
+            .addReg(Incr)
+            .addReg(ShiftAmnt);
         if (STI->hasMips32r2()) {
           BuildMI(loopMBB, DL, TII->get(SEOp), OldVal).addReg(OldVal);
           BuildMI(loopMBB, DL, TII->get(SEOp), Incr).addReg(Incr);
         } else {
           const unsigned ShiftImm = SEOp == Mips::SEH ? 16 : 24;
           BuildMI(loopMBB, DL, TII->get(Mips::SLL), OldVal)
-            .addReg(OldVal, RegState::Kill)
-            .addImm(ShiftImm);
+              .addReg(OldVal, RegState::Kill)
+              .addImm(ShiftImm);
           BuildMI(loopMBB, DL, TII->get(Mips::SRA), OldVal)
-            .addReg(OldVal, RegState::Kill)
-            .addImm(ShiftImm);
+              .addReg(OldVal, RegState::Kill)
+              .addImm(ShiftImm);
           BuildMI(loopMBB, DL, TII->get(Mips::SLL), Incr)
-            .addReg(Incr, RegState::Kill)
-            .addImm(ShiftImm);
+              .addReg(Incr, RegState::Kill)
+              .addImm(ShiftImm);
           BuildMI(loopMBB, DL, TII->get(Mips::SRA), Incr)
-            .addReg(Incr, RegState::Kill)
-            .addImm(ShiftImm);
+              .addReg(Incr, RegState::Kill)
+              .addImm(ShiftImm);
         }
       }
-
     }
     // unsigned: sltu Scratch4, oldVal, Incr
     // signed:   slt Scratch4, oldVal, Incr

``````````

</details>


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


More information about the llvm-commits mailing list