diff options
author | David Majnemer <david.majnemer@gmail.com> | 2024-09-17 04:13:49 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2024-09-19 18:01:56 +0000 |
commit | 0fa258c8d93c2f8de66518868a8e2a645b90afbe (patch) | |
tree | 47ed0e58ff2d2d7119bee3dfef02182d85348d7e /llvm/unittests/Support/VirtualFileSystemTest.cpp | |
parent | e58427828939eadf7e169a0e5476919a5746a82e (diff) | |
download | llvm-0fa258c8d93c2f8de66518868a8e2a645b90afbe.zip llvm-0fa258c8d93c2f8de66518868a8e2a645b90afbe.tar.gz llvm-0fa258c8d93c2f8de66518868a8e2a645b90afbe.tar.bz2 |
[X86] Implement certain 16-bit vector shifts via 32-bit shifts
x86 vector ISAs are non-orthogonal in a number of ways. For example,
AVX2 has vpsravd but it does not have vpsravw. However, we can simulate
it via vpsrlvd and some SWAR-style masking.
Another example is 8-bit shifts: we can use vpsllvd to simulate the
missing "vpsllvb" if shift amounts can be shared for a single lane.
Existing code generation would use a variety of techniques including
vpmulhuw which is higher latency and often has more rigid port
requirements than simple bitwise operations.
Diffstat (limited to 'llvm/unittests/Support/VirtualFileSystemTest.cpp')
0 files changed, 0 insertions, 0 deletions