aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/AST/ByteCode/Compiler.cpp
diff options
context:
space:
mode:
authorFolkert de Vries <folkert@folkertdev.nl>2025-08-27 09:31:49 +0200
committerGitHub <noreply@github.com>2025-08-27 09:31:49 +0200
commit8a9e3333ddcf6b13d6a944b1380a828df6f08a6d (patch)
tree465ff62052d0ddf2ba003c1da3a0ab18ce5bd544 /clang/lib/AST/ByteCode/Compiler.cpp
parent8c6b7af50ec0a6a3c773da1a4fba26eeb568fe38 (diff)
downloadllvm-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