[wasm-simd] Prototype load32_zero and load64_zero on BE machines

Bug: v8:10713
Change-Id: I8d909ae13aecf113e1082a0f29392c169eee8aaf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2487480
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#70688}
This commit is contained in:
Milad Fa 2020-10-20 16:56:14 +00:00 committed by Commit Bot
parent e1fff28b49
commit ff9c41bb38

View File

@ -3961,6 +3961,20 @@ Node* WasmGraphBuilder::LoadTransformBigEndian(
result = graph()->NewNode(mcgraph()->machine()->I64x2Splat(), result);
break;
}
case LoadTransformation::kS128Load32Zero: {
result = graph()->NewNode(mcgraph()->machine()->S128Zero());
result = graph()->NewNode(
mcgraph()->machine()->I32x4ReplaceLane(0), result,
LoadMem(type, memtype, index, offset, alignment, position));
break;
}
case LoadTransformation::kS128Load64Zero: {
result = graph()->NewNode(mcgraph()->machine()->S128Zero());
result = graph()->NewNode(
mcgraph()->machine()->I64x2ReplaceLane(0), result,
LoadMem(type, memtype, index, offset, alignment, position));
break;
}
default:
UNREACHABLE();
}