Commit c38a4a6b authored by Ng Zhi An's avatar Ng Zhi An Committed by Commit Bot

[wasm-simd] Disassembly for qfma on x64

Bug: v8:9415
Change-Id: I6cd413117fc5c949ed668d2dff2bbfbbc880ebcb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863952Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64334}
parent 5a0af3d2
...@@ -829,6 +829,11 @@ int DisassemblerX64::AVXInstruction(byte* data) { ...@@ -829,6 +829,11 @@ int DisassemblerX64::AVXInstruction(byte* data) {
NameOfXMMRegister(regop), NameOfXMMRegister(vvvv)); NameOfXMMRegister(regop), NameOfXMMRegister(vvvv));
current += PrintRightXMMOperand(current); current += PrintRightXMMOperand(current);
break; break;
case 0xB8:
AppendToBuffer("vfmadd231p%c %s,%s,", float_size_code(),
NameOfXMMRegister(regop), NameOfXMMRegister(vvvv));
current += PrintRightXMMOperand(current);
break;
case 0xB9: case 0xB9:
AppendToBuffer("vfmadd231s%c %s,%s,", float_size_code(), AppendToBuffer("vfmadd231s%c %s,%s,", float_size_code(),
NameOfXMMRegister(regop), NameOfXMMRegister(vvvv)); NameOfXMMRegister(regop), NameOfXMMRegister(vvvv));
...@@ -849,6 +854,11 @@ int DisassemblerX64::AVXInstruction(byte* data) { ...@@ -849,6 +854,11 @@ int DisassemblerX64::AVXInstruction(byte* data) {
NameOfXMMRegister(regop), NameOfXMMRegister(vvvv)); NameOfXMMRegister(regop), NameOfXMMRegister(vvvv));
current += PrintRightXMMOperand(current); current += PrintRightXMMOperand(current);
break; break;
case 0xBC:
AppendToBuffer("vfnmadd231p%c %s,%s,", float_size_code(),
NameOfXMMRegister(regop), NameOfXMMRegister(vvvv));
current += PrintRightXMMOperand(current);
break;
case 0x9D: case 0x9D:
AppendToBuffer("vfnmadd132s%c %s,%s,", float_size_code(), AppendToBuffer("vfnmadd132s%c %s,%s,", float_size_code(),
NameOfXMMRegister(regop), NameOfXMMRegister(vvvv)); NameOfXMMRegister(regop), NameOfXMMRegister(vvvv));
......
...@@ -852,6 +852,15 @@ TEST(DisasmX64) { ...@@ -852,6 +852,15 @@ TEST(DisasmX64) {
__ vfnmsub213ss(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); __ vfnmsub213ss(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000));
__ vfnmsub231ss(xmm0, xmm1, xmm2); __ vfnmsub231ss(xmm0, xmm1, xmm2);
__ vfnmsub231ss(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000)); __ vfnmsub231ss(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000));
__ vfmadd231ps(xmm0, xmm1, xmm2);
__ vfmadd231ps(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000));
__ vfnmadd231ps(xmm0, xmm1, xmm2);
__ vfnmadd231ps(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000));
__ vfmadd231pd(xmm0, xmm1, xmm2);
__ vfmadd231pd(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000));
__ vfnmadd231pd(xmm0, xmm1, xmm2);
__ vfnmadd231pd(xmm0, xmm1, Operand(rbx, rcx, times_4, 10000));
} }
} }
......
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