#include "src/wasm/simd-shuffle.h"
#include "test/unittests/test-utils.h"
#include "testing/gmock-support.h"
ElementsAre;
namespace v8 {
namespace internal {
namespace wasm {
class SimdShuffleTest : public ::testing::Test { … };
template <int Size, typename = std::enable_if_t<Size == kSimd128Size ||
Size == kSimd256Size>>
bool operator==(const SimdShuffleTest::Shuffle<Size>& a,
const SimdShuffleTest::Shuffle<Size>& b) { … }
TEST_F(SimdShuffleTest, CanonicalizeShuffle) { … }
TEST_F(SimdShuffleTest, TryMatchIdentity) { … }
TEST_F(SimdShuffleTest, TryMatchSplat) { … }
TEST_F(SimdShuffleTest, TryMatchConcat) { … }
TEST_F(SimdShuffleTest, TryMatch32x4Shuffle) { … }
TEST_F(SimdShuffleTest, TryMatch32x8Shuffle) { … }
TEST_F(SimdShuffleTest, TryMatch32x4Reverse) { … }
TEST_F(SimdShuffleTest, TryMatch32x4OneLaneSwizzle) { … }
TEST_F(SimdShuffleTest, TryMatch16x8Shuffle) { … }
TEST_F(SimdShuffleTest, TryMatchBlend) { … }
TEST_F(SimdShuffleTest, PairwiseReduce) { … }
TEST_F(SimdShuffleTest, UpperToLowerReduce) { … }
TEST_F(SimdShuffleTest, Shuffle64x2) { … }
TEST(SimdShufflePackTest, PackShuffle4) { … }
TEST(SimdShufflePackTest, PackBlend8) { … }
TEST(SimdShufflePackTest, PackBlend4) { … }
TEST(SimdShufflePackTest, Pack4Lanes) { … }
TEST(SimdShufflePackTest, Pack16Lanes) { … }
#ifdef V8_TARGET_ARCH_X64
TEST_F(SimdShuffleTest, TryMatchVpshufd) { … }
TEST_F(SimdShuffleTest, TryMatchShufps256) { … }
#endif
}
}
}