Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Unified Diff: test/cctest/test-macro-assembler-arm.cc

Issue 2711863002: Implement remaining Boolean SIMD operations on ARM. (Closed)
Patch Set: Fix macro assembler test. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/cctest/test-disasm-arm.cc ('k') | test/cctest/wasm/test-run-wasm-simd.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/cctest/test-macro-assembler-arm.cc
diff --git a/test/cctest/test-macro-assembler-arm.cc b/test/cctest/test-macro-assembler-arm.cc
index dcc5fba0a26244b55a69cf0e6ae02894c143fcca..4de4647f983cc4766ab86f5b5aac487f79cd3f0f 100644
--- a/test/cctest/test-macro-assembler-arm.cc
+++ b/test/cctest/test-macro-assembler-arm.cc
@@ -156,6 +156,8 @@ TEST(ExtractLane) {
int32_t i8x16_high[16];
int32_t f32x4_low[4];
int32_t f32x4_high[4];
+ int32_t i8x16_low_d[16];
+ int32_t i8x16_high_d[16];
} T;
T t;
@@ -185,6 +187,15 @@ TEST(ExtractLane) {
__ str(r5, MemOperand(r0, offsetof(T, i8x16_low) + 4 * i));
}
+ for (int i = 0; i < 8; i++) {
+ __ mov(r4, Operand(i));
+ __ vdup(Neon8, q1, r4); // q1 = d2,d3
+ __ ExtractLane(r5, d2, NeonS8, i);
+ __ str(r5, MemOperand(r0, offsetof(T, i8x16_low_d) + 4 * i));
+ __ ExtractLane(r5, d3, NeonS8, i);
+ __ str(r5, MemOperand(r0, offsetof(T, i8x16_low_d) + 4 * (i + 8)));
+ }
+
if (CpuFeatures::IsSupported(VFP32DREGS)) {
for (int i = 0; i < 4; i++) {
__ mov(r4, Operand(-i));
@@ -209,6 +220,15 @@ TEST(ExtractLane) {
__ ExtractLane(r5, q15, NeonS8, i);
__ str(r5, MemOperand(r0, offsetof(T, i8x16_high) + 4 * i));
}
+
+ for (int i = 0; i < 8; i++) {
+ __ mov(r4, Operand(-i));
+ __ vdup(Neon8, q15, r4); // q1 = d30,d31
+ __ ExtractLane(r5, d30, NeonS8, i);
+ __ str(r5, MemOperand(r0, offsetof(T, i8x16_high_d) + 4 * i));
+ __ ExtractLane(r5, d31, NeonS8, i);
+ __ str(r5, MemOperand(r0, offsetof(T, i8x16_high_d) + 4 * (i + 8)));
+ }
}
__ ldm(ia_w, sp, r4.bit() | r5.bit() | pc.bit());
@@ -234,6 +254,10 @@ TEST(ExtractLane) {
for (int i = 0; i < 16; i++) {
CHECK_EQ(i, t.i8x16_low[i]);
}
+ for (int i = 0; i < 8; i++) {
+ CHECK_EQ(i, t.i8x16_low_d[i]);
+ CHECK_EQ(i, t.i8x16_low_d[i + 8]);
+ }
if (CpuFeatures::IsSupported(VFP32DREGS)) {
for (int i = 0; i < 4; i++) {
CHECK_EQ(-i, t.i32x4_high[i]);
@@ -245,6 +269,10 @@ TEST(ExtractLane) {
for (int i = 0; i < 16; i++) {
CHECK_EQ(-i, t.i8x16_high[i]);
}
+ for (int i = 0; i < 8; i++) {
+ CHECK_EQ(-i, t.i8x16_high_d[i]);
+ CHECK_EQ(-i, t.i8x16_high_d[i + 8]);
+ }
}
}
« no previous file with comments | « test/cctest/test-disasm-arm.cc ('k') | test/cctest/wasm/test-run-wasm-simd.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698