[all-commits] [llvm/llvm-project] c61eb4: [SystemZ] Implement vector rotate in terms of funn...
Ulrich Weigand via All-commits
all-commits at lists.llvm.org
Mon Dec 4 07:52:32 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c61eb440059d6e9c18e6f8404e06bf125aa942c9
https://github.com/llvm/llvm-project/commit/c61eb440059d6e9c18e6f8404e06bf125aa942c9
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/vecintrin.h
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M llvm/include/llvm/IR/IntrinsicsSystemZ.td
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/test/CodeGen/SystemZ/vec-intrinsics-01.ll
A llvm/test/CodeGen/SystemZ/vec-rot-01.ll
A llvm/test/CodeGen/SystemZ/vec-rot-02.ll
Log Message:
-----------
[SystemZ] Implement vector rotate in terms of funnel shift
Clang currently implements a set of vector rotate builtins
(__builtin_s390_verll*) in terms of platform-specific LLVM
intrinsics. To simplify the IR (and allow for common code
optimizations if applicable), this patch removes those LLVM
intrinsics and implements the builtins in terms of the
platform-independent funnel shift intrinsics instead.
Also, fix the prototype of the __builtin_s390_verll*
builtins for full compatibility with GCC.
More information about the All-commits
mailing list