[PATCH] D71252: [AArch64][SVE] Add intrnisics for saturating scalar arithmetic

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 10 16:18:08 PST 2019


efriedma added inline comments.


================
Comment at: llvm/include/llvm/IR/IntrinsicsAArch64.td:833
+                 llvm_i32_ty],
+                [IntrNoMem]>;
+
----------------
Missing ImmArg markings?


================
Comment at: llvm/lib/Target/AArch64/SVEInstrFormats.td:700
+  def : Pat<(i32 (op GPR32:$Rn, (sve_pred_enum:$pattern), (sve_incdec_imm:$imm4))),
+            (EXTRACT_SUBREG (!cast<Instruction>(NAME) (INSERT_SUBREG (IMPLICIT_DEF), $Rn, sub_32), sve_pred_enum:$pattern, sve_incdec_imm:$imm4), sub_32)>;
 }
----------------
SQDECB always returns a value in a 64-bit register; why are you treating the return value as 32 bits? Even if there's some reason to prefer that form at the IR level, it doesn't seem like a good idea in isel; if you need a sign-extended value, you'll be forced to emit a redundant sign extension.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71252/new/

https://reviews.llvm.org/D71252





More information about the llvm-commits mailing list