[PATCH] D67955: [AArch64] Convert neon_ushl and neon_sshl with positive constants to VSHL.
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 24 15:12:16 PDT 2019
fhahn marked an inline comment as done.
fhahn added inline comments.
================
Comment at: llvm/test/CodeGen/AArch64/arm64-vshift.ll:1341-1351
define <4 x i32> @neon.sshl4s_wrong_ext_constant_shift(<4 x i8>* %A) nounwind {
;CHECK-LABEL: neon.sshl4s_wrong_ext_constant_shift
-;CHECK: sshl.4s {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
+;CHECK: ldrsb w8, [x0]
+;CHECK-NEXT: fmov s0, w8
+;CHECK-NEXT: ldrsb w8, [x0, #1]
+;CHECK-NEXT: mov.s v0[1], w8
+;CHECK-NEXT: ldrsb w8, [x0, #2]
----------------
anemet wrote:
> anemet wrote:
> > This does not seem like a good case for the transformation.
> Or are you just checking a larger sequence than before?
Yep, it’s checking a larger sequence, to make sure the extends actually happen. Without this patch, we have to do the extend in a similar fashion.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67955/new/
https://reviews.llvm.org/D67955
More information about the llvm-commits
mailing list