@@ -18,6 +18,8 @@ use crate::build::{
1818 StoreOpKind ,
1919 TableGetOp ,
2020 TableSetOp ,
21+ TernaryOp ,
22+ TernaryOpKind ,
2123 Ty ,
2224 UnaryOp ,
2325 UnaryOpKind ,
@@ -860,8 +862,6 @@ fn add_simd_binary_ops(isa: &mut Isa) {
860862 BinaryOpKind :: U16x8Le ,
861863 BinaryOpKind :: U32x4Lt ,
862864 BinaryOpKind :: U32x4Le ,
863- BinaryOpKind :: U64x2Lt ,
864- BinaryOpKind :: U64x2Le ,
865865 // Float Comparisons
866866 BinaryOpKind :: F32x4Eq ,
867867 BinaryOpKind :: F32x4NotEq ,
@@ -891,6 +891,7 @@ fn add_simd_binary_ops(isa: &mut Isa) {
891891 BinaryOpKind :: U8x16Max ,
892892 BinaryOpKind :: U8x16Avgr ,
893893 // i16x8 Ops
894+ BinaryOpKind :: S16x8RelaxedDotI8x16I7x16 ,
894895 BinaryOpKind :: S16x8Q15MulrSat ,
895896 BinaryOpKind :: S16x8NarrowI32x4 ,
896897 BinaryOpKind :: U16x8NarrowI32x4 ,
@@ -1115,14 +1116,14 @@ fn add_simd_store_ops(isa: &mut Isa) {
11151116
11161117fn add_relaxed_simd_ops ( isa : & mut Isa ) {
11171118 let kinds = [
1118- BinaryOpKind :: S16x8RelaxedDotI8x16I7x16 ,
1119- BinaryOpKind :: S32x4RelaxedDotI8x16I7x16Add ,
1120- BinaryOpKind :: F32x4RelaxedMadd ,
1121- BinaryOpKind :: F32x4RelaxedNmadd ,
1122- BinaryOpKind :: F64x2RelaxedMadd ,
1123- BinaryOpKind :: F64x2RelaxedNmadd ,
1119+ TernaryOpKind :: I32x4RelaxedDotI8x16I7x16Add ,
1120+ TernaryOpKind :: F32x4RelaxedMadd ,
1121+ TernaryOpKind :: F32x4RelaxedNmadd ,
1122+ TernaryOpKind :: F64x2RelaxedMadd ,
1123+ TernaryOpKind :: F64x2RelaxedNmadd ,
1124+ TernaryOpKind :: V128Bitselect ,
11241125 ] ;
11251126 for kind in kinds {
1126- isa. push_op ( BinaryOp :: new ( kind, OperandKind :: Slot , OperandKind :: Slot ) ) ;
1127+ isa. push_op ( TernaryOp :: new ( kind) ) ;
11271128 }
11281129}
0 commit comments