[llvm] [LLVM] treat `@llvm.ssub.sat` the same as `@llvm.aarch64.neon.sqsub` (PR #140454)

Folkert de Vries via llvm-commits llvm-commits at lists.llvm.org
Fri May 23 11:42:49 PDT 2025


================
@@ -1790,11 +1783,30 @@ bool AArch64LegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,
     return LowerBinOp(AArch64::G_UMULL);
   case Intrinsic::aarch64_neon_abs: {
     // Lower the intrinsic to G_ABS.
-    MachineIRBuilder MIB(MI);
     MIB.buildInstr(TargetOpcode::G_ABS, {MI.getOperand(0)}, {MI.getOperand(2)});
     MI.eraseFromParent();
     return true;
   }
+  case Intrinsic::aarch64_neon_sqadd: {
+    if (MIB.getMRI()->getType(MI.getOperand(0).getReg()).isVector())
+      return LowerBinOp(TargetOpcode::G_SADDSAT);
+    break;
+  }
+  case Intrinsic::aarch64_neon_sqsub: {
+    if (MIB.getMRI()->getType(MI.getOperand(0).getReg()).isVector())
----------------
folkertdev wrote:

yes, fixed

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


More information about the llvm-commits mailing list