diff options
author | Nashe Mncube <nashe.mncube@arm.com> | 2025-07-16 09:50:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-16 09:50:04 +0100 |
commit | de4b458aa5e52812aa9c392f62a616b6c6c1716f (patch) | |
tree | 23c8168482e860f0ea2e11dae8dcb089ed9a3c12 /llvm/lib/CodeGen/StackProtector.cpp | |
parent | c364e6234e727cbf54ca666fa706693711a31119 (diff) | |
download | llvm-de4b458aa5e52812aa9c392f62a616b6c6c1716f.zip llvm-de4b458aa5e52812aa9c392f62a616b6c6c1716f.tar.gz llvm-de4b458aa5e52812aa9c392f62a616b6c6c1716f.tar.bz2 |
[AArch64][Codegen]Transform saturating smull to sqdmulh (#143671)
This patch adds a pattern for recognizing saturating vector
smull. Prior to this patch these were performed using a
combination of smull+smull2+uzp+smin like the following
```
smull2 v5.2d, v1.4s, v2.4s
smull v1.2d, v1.2s, v2.2s
uzp2 v1.4s, v1.4s, v5.4s
smin v1.4s, v1.4s, v0.4s
```
which now optimizes to
```
sqdmulh v0.4s, v1.4s, v0.4s
```
This only operates on vectors containing int32 and int16 types
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions