Commit b681c309 authored by Milad Fa's avatar Milad Fa Committed by Commit Bot

s390: Revert "[wasm-simd] Canonicalize shuffles when creating TurboFan graph"

Port ede5e814

Original Commit Message:

    This reverts commit d16eefe0.

    It is not correct to check for node equality during the graph
    construction phase, because we can have optimizations that will combine
    same nodes. So it can happen that in wasm-compiler, the inputs to
    shuffle are not the same, so we canonicalize using that knowledge that
    it will not be the same, and allow indices > 15. But later we can have
    optimizations that combine the 2 inputs (e.g. splat of the same
    constants), and the instruction selector will see that the input nodes
    are the same.

R=zhin@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N

Change-Id: I0d388c814dc1c45f978d749218b8120bfd53bb03
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835397Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#74042}
parent 8fffd56f
...@@ -2713,8 +2713,8 @@ SIMD_VISIT_PMIN_MAX(F32x4Pmax) ...@@ -2713,8 +2713,8 @@ SIMD_VISIT_PMIN_MAX(F32x4Pmax)
#if V8_ENABLE_WEBASSEMBLY #if V8_ENABLE_WEBASSEMBLY
void InstructionSelector::VisitI8x16Shuffle(Node* node) { void InstructionSelector::VisitI8x16Shuffle(Node* node) {
uint8_t shuffle[kSimd128Size]; uint8_t shuffle[kSimd128Size];
auto param = ShuffleParameterOf(node->op()); bool is_swizzle;
base::Memcpy(shuffle, param.imm().data(), kSimd128Size); CanonicalizeShuffle(node, shuffle, &is_swizzle);
S390OperandGenerator g(this); S390OperandGenerator g(this);
Node* input0 = node->InputAt(0); Node* input0 = node->InputAt(0);
Node* input1 = node->InputAt(1); Node* input1 = node->InputAt(1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment