Commit 1cbb68a5 authored by Ng Zhi An's avatar Ng Zhi An Committed by V8 LUCI CQ

[wasm-simd] Optimize I64x2UConvertI32x4High

Fixed: v8:12095
Bug: v8:12095
Change-Id: If2021397000958ccdd058b99ce8f4d6e8d4d2836
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097106Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76398}
parent 5e8e2d04
......@@ -877,11 +877,16 @@ void SharedTurboAssembler::I64x2UConvertI32x4High(XMMRegister dst,
vpxor(scratch, scratch, scratch);
vpunpckhdq(dst, src, scratch);
} else {
if (dst != src) {
movaps(dst, src);
if (dst == src) {
// xorps can be executed on more ports than pshufd.
xorps(scratch, scratch);
punpckhdq(dst, scratch);
} else {
CpuFeatureScope sse_scope(this, SSE4_1);
// No dependency on dst.
pshufd(dst, src, 0xEE);
pmovzxdq(dst, dst);
}
xorps(scratch, scratch);
punpckhdq(dst, scratch);
}
}
......
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