From 184f623d80980c9e8f385b12ce86bcdc54f9ca01 Mon Sep 17 00:00:00 2001 From: Haoyu Zhang Date: Sat, 29 Jul 2023 05:30:59 -0400 Subject: [PATCH] [simd/jit]: Implement f64x2 comparison instructions --- src/engine/x86-64/X86_64SinglePassCompiler.v3 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/engine/x86-64/X86_64SinglePassCompiler.v3 b/src/engine/x86-64/X86_64SinglePassCompiler.v3 index 66bef7e8..f43f880d 100644 --- a/src/engine/x86-64/X86_64SinglePassCompiler.v3 +++ b/src/engine/x86-64/X86_64SinglePassCompiler.v3 @@ -529,6 +529,13 @@ class X86_64SinglePassCompiler extends SinglePassCompiler { def visit_F64X2_DIV() { do_op2_x_x(ValueKind.V128, asm.divpd_s_s); } def visit_F64X2_NEG() { visit_V128_F_NEG_ABS(mmasm.emit_v128_negpd); } def visit_F64X2_SQRT() { do_op1_x_x(ValueKind.V128, asm.sqrtpd_s_s); } + def visit_F64X2_EQ() { do_op2_x_x(ValueKind.V128, asm.cmpeqpd_s_s); } + def visit_F64X2_NE() { do_op2_x_x(ValueKind.V128, asm.cmpneqpd_s_s); } + def visit_F64X2_GT() { do_c_op2_x_x(ValueKind.V128, asm.cmpltpd_s_s); } + def visit_F64X2_LT() { do_op2_x_x(ValueKind.V128, asm.cmpltpd_s_s); } + def visit_F64X2_GE() { do_c_op2_x_x(ValueKind.V128, asm.cmplepd_s_s); } + def visit_F64X2_LE() { do_op2_x_x(ValueKind.V128, asm.cmplepd_s_s); } + def visit_V128_BITSELECT() { var c = popReg();