[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