• Ng Zhi An's avatar
    Reland "[wasm-simd] Fix scalar lowering of kParameter" · d9d43b62
    Ng Zhi An authored
    This relands commit e8832647.
    
    The flaky test failures seems to be related to tiering, Liftoff
    generating different call descriptors from TurboFan when Simd128
    is unsupported (since TurboFan will lower the graph, but Liftoff
    can continue running simd-call.js just fine).
    
    We temporarily disable tiering for this test, until we get a proper fix,
    like https://crrev.com/c/2029427/, but that fix requires this change
    since more tests will fail without the lowering fixed.
    
    Bug: v8:10169
    Bug: v8:10154
    
    Original change's description:
    > [wasm-simd] Fix scalar lowering of kParameter
    >
    > Lowers the call descriptor of a wasm function if it contains simd.
    >
    > Also fixes a couple of issues with the lowering of kParameter:
    > - the old_index == new_index check is incorrect, it would only work if
    > the s128 parameter is the first parameter
    > - the old_index was also not adjusted to account for Parameter[0] being
    > the wasm instance object
    > - new_index needs to be adjusted to account for the instance object too
    >
    > These fixes make it more similar to the lowering of kParameter in
    > int64-lowering.c.
    >
    > Also add a new mjsunit test to exercise this logic.
    >
    > Bug: v8:10154
    > Change-Id: Ia767a464c26a6a78fd931eab9e6897890a0904e8
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2020521
    > Commit-Queue: Zhi An Ng <zhin@chromium.org>
    > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
    > Reviewed-by: Andreas Haas <ahaas@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#66032}
    
    Change-Id: I1e27825025aefc5a42aeeb87d0447d6594388fa4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2029147Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Commit-Queue: Zhi An Ng <zhin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66072}
    d9d43b62
simd-scalar-lowering.cc 63.8 KB