[PATCH] D71370: [AArch64][SVE] Add integer arithmetic with immediate instructions.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 11 13:24:41 PST 2019


efriedma added a comment.

It's a little unfortunate you have to use ComplexPattern here, but I guess it's necessary given the way imm8_opt_lsl is represented.



================
Comment at: llvm/include/llvm/IR/IntrinsicsAArch64.td:1050
+                [LLVMMatchType<0>,
+                 llvm_anyint_ty],
+                [IntrNoMem]>;
----------------
Missing ImmArg marking.  Second arg should be llvm_i32_ty.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp:2832
+    case MVT::i16:
+      // i16 values get sign-extended during lowering, so need to check for
+      // "negative" values when shifting.
----------------
Sign-extended where, exactly?  I don't see any reason to allow `@llvm.aarch64.sve.uqsub.imm.nxv8i16(<vscale x 8 x i16> %a, i32 -256)`


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71370





More information about the llvm-commits mailing list