aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/VirtualFileSystemTest.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2024-09-17 04:13:49 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2024-09-19 18:01:56 +0000
commit0fa258c8d93c2f8de66518868a8e2a645b90afbe (patch)
tree47ed0e58ff2d2d7119bee3dfef02182d85348d7e /llvm/unittests/Support/VirtualFileSystemTest.cpp
parente58427828939eadf7e169a0e5476919a5746a82e (diff)
downloadllvm-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