Commit 237a0982 authored by Ng Zhi An's avatar Ng Zhi An Committed by Commit Bot

[wasm-simd][x64] Add AVX codegen for some s128 ops

Bug: v8:9561
Change-Id: I733df8856ad8266a637794a9401118937e6bf006
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2069401Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66545}
parent 24110ef0
......@@ -3539,27 +3539,27 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
break;
}
case kX64S128And: {
__ pand(i.OutputSimd128Register(), i.InputSimd128Register(1));
__ Pand(i.OutputSimd128Register(), i.InputSimd128Register(1));
break;
}
case kX64S128Or: {
__ por(i.OutputSimd128Register(), i.InputSimd128Register(1));
__ Por(i.OutputSimd128Register(), i.InputSimd128Register(1));
break;
}
case kX64S128Xor: {
__ pxor(i.OutputSimd128Register(), i.InputSimd128Register(1));
__ Pxor(i.OutputSimd128Register(), i.InputSimd128Register(1));
break;
}
case kX64S128Not: {
XMMRegister dst = i.OutputSimd128Register();
XMMRegister src = i.InputSimd128Register(0);
if (dst == src) {
__ movaps(kScratchDoubleReg, dst);
__ pcmpeqd(dst, dst);
__ pxor(dst, kScratchDoubleReg);
__ Movaps(kScratchDoubleReg, dst);
__ Pcmpeqd(dst, dst);
__ Pxor(dst, kScratchDoubleReg);
} else {
__ pcmpeqd(dst, dst);
__ pxor(dst, src);
__ Pcmpeqd(dst, dst);
__ Pxor(dst, src);
}
break;
......
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