aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/VirtualFileSystemTest.cpp
diff options
context:
space:
mode:
authorDominik Steenken <dost@de.ibm.com>2024-04-12 18:05:30 +0200
committerGitHub <noreply@github.com>2024-04-12 18:05:30 +0200
commitb794dc23255505dd7735f995b8ff1192305a072e (patch)
tree87825d610148c0a1f551f5df088a40f2acc2b5ec /llvm/unittests/Support/VirtualFileSystemTest.cpp
parentb614e5b0340f783ad355899248c52cb22a04b014 (diff)
downloadllvm-b794dc23255505dd7735f995b8ff1192305a072e.zip
llvm-b794dc23255505dd7735f995b8ff1192305a072e.tar.gz
llvm-b794dc23255505dd7735f995b8ff1192305a072e.tar.bz2
[SystemZ] Add custom handling of legal vectors with reduce-add. (#88495)
This commit skips the expansion of the `vector.reduce.add` intrinsic on vector-enabled SystemZ targets in order to introduce custom handling of `vector.reduce.add` for legal vector types using the VSUM instructions. This is limited to full vectors with scalar types up to `i32` due to performance concerns. It also adds testing for the generation of such custom handling, and adapts the related cost computation, as well as the testing for that. The expected result is a performance boost in certain benchmarks that make heavy use of `vector.reduce.add` with other benchmarks remaining constant. For instance, the assembly for `vector.reduce.add<4 x i32>` changes from ```hlasm vmrlg %v0, %v24, %v24 vaf %v0, %v24, %v0 vrepf %v1, %v0, 1 vaf %v0, %v0, %v1 vlgvf %r2, %v0, 0 ``` to ```hlasm vgbm %v0, 0 vsumqf %v0, %v24, %v0 vlgvf %r2, %v0, 3 ```
Diffstat (limited to 'llvm/unittests/Support/VirtualFileSystemTest.cpp')
0 files changed, 0 insertions, 0 deletions