• Ng Zhi An's avatar
    Reland "[wasm-simd][arm64] Fuse add and extmul" · c03354b4
    Ng Zhi An authored
    This is a reland of 65515ddd
    
    Fix is to use AddWithWraparound for signed additions to avoid UB.
    
    Original change's description:
    > [wasm-simd][arm64] Fuse add and extmul
    >
    > We can select a better instruction for add+extmul, using one of the
    > multiply-long-accumulate instruction.
    >
    > Define a helper struct to pattern match Add(x, OP(y, z)) and
    > Add(OP(x, y) z), and ensure that the matched OP is always on the
    > LHS, to simplify checking for matches.
    >
    > Bug: v8:11548
    > Change-Id: I7ab488b262aa9f749785f973549ccd9fad72f4c8
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2826725
    > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
    > Commit-Queue: Zhi An Ng <zhin@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#76708}
    
    Bug: v8:11548
    Change-Id: I675ab8b78d9c6c30b82a8c96c8e7098a548c6a60
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3144379
    Commit-Queue: Zhi An Ng <zhin@chromium.org>
    Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#76712}
    c03354b4
instruction-selector-arm64-unittest.cc 208 KB