[wasm] Add big endian support for S8x16Shuffle

Change-Id: Id661452207cd65445e7390d86f5379b1cc4f1495
Reviewed-on: https://chromium-review.googlesource.com/988012
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com>
Cr-Commit-Position: refs/heads/master@{#52381}
This commit is contained in:
Predrag Rudic 2018-03-30 14:22:41 +02:00 committed by Commit Bot
parent 4d595e0241
commit b9de3af697

View File

@ -1181,7 +1181,12 @@ void SimdScalarLowering::LowerNode(Node* node) {
Node** rep_node = zone()->NewArray<Node*>(16);
for (int i = 0; i < 16; i++) {
int lane = shuffle[i];
#if defined(V8_TARGET_BIG_ENDIAN)
rep_node[15 - i] =
lane < 16 ? rep_left[15 - lane] : rep_right[31 - lane];
#else
rep_node[i] = lane < 16 ? rep_left[lane] : rep_right[lane - 16];
#endif
}
ReplaceNode(node, rep_node, 16);
break;