[wasm-simd] Convert some codegen to use macros

The macros will use AVX variants when available.

Bug: v8:9561
Change-Id: I06872a08184983adc8018ffdf03916feac02016f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857422
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64280}
This commit is contained in:
Ng Zhi An 2019-10-11 16:17:05 -07:00 committed by Commit Bot
parent 74996b4e8b
commit 031193b4c5
2 changed files with 6 additions and 5 deletions

View File

@ -156,6 +156,7 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase {
AVX_OP(Ucomisd, ucomisd)
AVX_OP(Pshufb, pshufb)
AVX_OP(Paddusb, paddusb)
AVX_OP(Sqrtpd, sqrtpd)
#undef AVX_OP

View File

@ -2293,7 +2293,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
break;
}
case kX64F64x2Sqrt: {
__ sqrtpd(i.OutputSimd128Register(), i.InputSimd128Register(0));
__ Sqrtpd(i.OutputSimd128Register(), i.InputSimd128Register(0));
break;
}
case kX64F64x2Add: {
@ -2353,22 +2353,22 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
}
case kX64F64x2Eq: {
DCHECK_EQ(i.OutputSimd128Register(), i.InputSimd128Register(0));
__ cmpeqpd(i.OutputSimd128Register(), i.InputSimd128Register(1));
__ Cmpeqpd(i.OutputSimd128Register(), i.InputSimd128Register(1));
break;
}
case kX64F64x2Ne: {
DCHECK_EQ(i.OutputSimd128Register(), i.InputSimd128Register(0));
__ cmpneqpd(i.OutputSimd128Register(), i.InputSimd128Register(1));
__ Cmpneqpd(i.OutputSimd128Register(), i.InputSimd128Register(1));
break;
}
case kX64F64x2Lt: {
DCHECK_EQ(i.OutputSimd128Register(), i.InputSimd128Register(0));
__ cmpltpd(i.OutputSimd128Register(), i.InputSimd128Register(1));
__ Cmpltpd(i.OutputSimd128Register(), i.InputSimd128Register(1));
break;
}
case kX64F64x2Le: {
DCHECK_EQ(i.OutputSimd128Register(), i.InputSimd128Register(0));
__ cmplepd(i.OutputSimd128Register(), i.InputSimd128Register(1));
__ Cmplepd(i.OutputSimd128Register(), i.InputSimd128Register(1));
break;
}
case kX64F64x2Qfma: {