diff options
author | Folkert de Vries <folkert@folkertdev.nl> | 2025-08-27 09:31:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-27 09:31:49 +0200 |
commit | 8a9e3333ddcf6b13d6a944b1380a828df6f08a6d (patch) | |
tree | 465ff62052d0ddf2ba003c1da3a0ab18ce5bd544 /clang/lib/AST/ByteCode/Compiler.cpp | |
parent | 8c6b7af50ec0a6a3c773da1a4fba26eeb568fe38 (diff) | |
download | llvm-8a9e3333ddcf6b13d6a944b1380a828df6f08a6d.zip llvm-8a9e3333ddcf6b13d6a944b1380a828df6f08a6d.tar.gz llvm-8a9e3333ddcf6b13d6a944b1380a828df6f08a6d.tar.bz2 |
s390x: optimize 128-bit fshl and fshr by high values (#154919)
Turn a funnel shift by N in the range `121..128` into a funnel shift in
the opposite direction by `128 - N`. Because there are dedicated
instructions for funnel shifts by values smaller than 8, this emits
fewer instructions.
This additional rule is useful because LLVM appears to canonicalize
`fshr` into `fshl`, meaning that the rules for `fshr` on values less
than 8 would not match on organic input.
Diffstat (limited to 'clang/lib/AST/ByteCode/Compiler.cpp')
0 files changed, 0 insertions, 0 deletions