]> granicus.if.org Git - llvm/commit
[AArch64] Convert neon_ushl and neon_sshl with positive constants to VSHL.
authorFlorian Hahn <flo@fhahn.com>
Wed, 25 Sep 2019 08:22:05 +0000 (08:22 +0000)
committerFlorian Hahn <flo@fhahn.com>
Wed, 25 Sep 2019 08:22:05 +0000 (08:22 +0000)
commit5e262f0ee5fec050ccf7fcbbbaef6072de0711fe
tree8f2753ffe632cb4ebe1f241ac26c955f53156d55
parent47bdb06dc7dbc4fc1bb7a561e3962e47356fe487
[AArch64] Convert neon_ushl and neon_sshl with positive constants to VSHL.

I think we should be able to use shl instead of sshl and ushl for
positive constant shift values, unless I am missing something.

We already have the machinery in place to ensure we only replace
nodes, if the shift value is positive and <= the element width.

This is a generalization of an earlier patch rL372565.

Reviewers: t.p.northover, samparker, dmgreen, anemet

Reviewed By: anemet

Differential Revision: https://reviews.llvm.org/D67955

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372824 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64ISelLowering.cpp
test/CodeGen/AArch64/arm64-vshift.ll