[PATCH] D103263: [AArch64] Add S/UQXTRN tablegen patterns.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 16 04:24:46 PDT 2021


sdesmalen added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.td:4233
+def : Pat<(v8i8 (trunc (umin (v8i16 V128:$Vn),
+                             (v8i16 (AArch64NvCast (v2i64 (AArch64movi_edit (i32 85)))))))),
+          (UQXTNv8i8 V128:$Vn)>;
----------------
>From the comment, I deduce that `(v8i16 (AArch64NvCast (v2i64 (AArch64movi_edit (i32 85))))) <=> v8i16 splat(255)`. Is there a reason this is not using AArch64dup?
If so, can we use a more generic pattern fragment to see if something is a dup of <value>? That may cover more cases and would also make the pattern more readable.


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

https://reviews.llvm.org/D103263



More information about the llvm-commits mailing list