1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
From: =?utf-8?q?Timo_R=C3=B6hling?= <roehling@debian.org>
Date: Wed, 27 Jul 2022 21:49:52 +0200
Subject: Handle big endian in index lookup unit test
---
Source/UnitTest/test_simd.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/Source/UnitTest/test_simd.cpp b/Source/UnitTest/test_simd.cpp
index a97d039..e6af1ec 100644
--- a/Source/UnitTest/test_simd.cpp
+++ b/Source/UnitTest/test_simd.cpp
@@ -1969,10 +1969,17 @@ TEST(vint4, vtable_8bt_32bi_32entry)
vint4 result = vtable_8bt_32bi(table0p, table1p, index);
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
EXPECT_EQ(result.lane<0>(), 3);
EXPECT_EQ(result.lane<1>(), 4);
EXPECT_EQ(result.lane<2>(), 7);
EXPECT_EQ(result.lane<3>(), 28);
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ EXPECT_EQ(result.lane<0>(), 0);
+ EXPECT_EQ(result.lane<1>(), 7);
+ EXPECT_EQ(result.lane<2>(), 4);
+ EXPECT_EQ(result.lane<3>(), 31);
+#endif
}
/** @brief Test vint4 table permute. */
@@ -1990,10 +1997,17 @@ TEST(vint4, vtable_8bt_32bi_64entry)
vint4 result = vtable_8bt_32bi(table0p, table1p, table2p, table3p, index);
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
EXPECT_EQ(result.lane<0>(), 3);
EXPECT_EQ(result.lane<1>(), 4);
EXPECT_EQ(result.lane<2>(), 37);
EXPECT_EQ(result.lane<3>(), 60);
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ EXPECT_EQ(result.lane<0>(), 0);
+ EXPECT_EQ(result.lane<1>(), 7);
+ EXPECT_EQ(result.lane<2>(), 38);
+ EXPECT_EQ(result.lane<3>(), 63);
+#endif
}
/** @brief Test vint4 rgba byte interleave. */
|