@@ -472,35 +472,31 @@ where
472472 }
473473
474474 fn visit_f32_abs ( & mut self ) -> Self :: Output {
475- self . context
476- . unop ( self . masm , OperandSize :: S32 , & mut |masm, reg, size| {
477- masm. float_abs ( writable ! ( reg) , size) ?;
478- Ok ( TypedReg :: f32 ( reg) )
479- } )
475+ self . context . unop ( self . masm , & mut |masm, reg| {
476+ masm. float_abs ( writable ! ( reg) , OperandSize :: S32 ) ?;
477+ Ok ( TypedReg :: f32 ( reg) )
478+ } )
480479 }
481480
482481 fn visit_f64_abs ( & mut self ) -> Self :: Output {
483- self . context
484- . unop ( self . masm , OperandSize :: S64 , & mut |masm, reg, size| {
485- masm. float_abs ( writable ! ( reg) , size) ?;
486- Ok ( TypedReg :: f64 ( reg) )
487- } )
482+ self . context . unop ( self . masm , & mut |masm, reg| {
483+ masm. float_abs ( writable ! ( reg) , OperandSize :: S64 ) ?;
484+ Ok ( TypedReg :: f64 ( reg) )
485+ } )
488486 }
489487
490488 fn visit_f32_neg ( & mut self ) -> Self :: Output {
491- self . context
492- . unop ( self . masm , OperandSize :: S32 , & mut |masm, reg, size| {
493- masm. float_neg ( writable ! ( reg) , size) ?;
494- Ok ( TypedReg :: f32 ( reg) )
495- } )
489+ self . context . unop ( self . masm , & mut |masm, reg| {
490+ masm. float_neg ( writable ! ( reg) , OperandSize :: S32 ) ?;
491+ Ok ( TypedReg :: f32 ( reg) )
492+ } )
496493 }
497494
498495 fn visit_f64_neg ( & mut self ) -> Self :: Output {
499- self . context
500- . unop ( self . masm , OperandSize :: S64 , & mut |masm, reg, size| {
501- masm. float_neg ( writable ! ( reg) , size) ?;
502- Ok ( TypedReg :: f64 ( reg) )
503- } )
496+ self . context . unop ( self . masm , & mut |masm, reg| {
497+ masm. float_neg ( writable ! ( reg) , OperandSize :: S64 ) ?;
498+ Ok ( TypedReg :: f64 ( reg) )
499+ } )
504500 }
505501
506502 fn visit_f32_floor ( & mut self ) -> Self :: Output {
@@ -608,19 +604,17 @@ where
608604 }
609605
610606 fn visit_f32_sqrt ( & mut self ) -> Self :: Output {
611- self . context
612- . unop ( self . masm , OperandSize :: S32 , & mut |masm, reg, size| {
613- masm. float_sqrt ( writable ! ( reg) , reg, size) ?;
614- Ok ( TypedReg :: f32 ( reg) )
615- } )
607+ self . context . unop ( self . masm , & mut |masm, reg| {
608+ masm. float_sqrt ( writable ! ( reg) , reg, OperandSize :: S32 ) ?;
609+ Ok ( TypedReg :: f32 ( reg) )
610+ } )
616611 }
617612
618613 fn visit_f64_sqrt ( & mut self ) -> Self :: Output {
619- self . context
620- . unop ( self . masm , OperandSize :: S64 , & mut |masm, reg, size| {
621- masm. float_sqrt ( writable ! ( reg) , reg, size) ?;
622- Ok ( TypedReg :: f64 ( reg) )
623- } )
614+ self . context . unop ( self . masm , & mut |masm, reg| {
615+ masm. float_sqrt ( writable ! ( reg) , reg, OperandSize :: S64 ) ?;
616+ Ok ( TypedReg :: f64 ( reg) )
617+ } )
624618 }
625619
626620 fn visit_f32_eq ( & mut self ) -> Self :: Output {
@@ -830,19 +824,17 @@ where
830824 }
831825
832826 fn visit_f32_demote_f64 ( & mut self ) -> Self :: Output {
833- self . context
834- . unop ( self . masm , OperandSize :: S64 , & mut |masm, reg, _size| {
835- masm. demote ( writable ! ( reg) , reg) ?;
836- Ok ( TypedReg :: f32 ( reg) )
837- } )
827+ self . context . unop ( self . masm , & mut |masm, reg| {
828+ masm. demote ( writable ! ( reg) , reg) ?;
829+ Ok ( TypedReg :: f32 ( reg) )
830+ } )
838831 }
839832
840833 fn visit_f64_promote_f32 ( & mut self ) -> Self :: Output {
841- self . context
842- . unop ( self . masm , OperandSize :: S32 , & mut |masm, reg, _size| {
843- masm. promote ( writable ! ( reg) , reg) ?;
844- Ok ( TypedReg :: f64 ( reg) )
845- } )
834+ self . context . unop ( self . masm , & mut |masm, reg| {
835+ masm. promote ( writable ! ( reg) , reg) ?;
836+ Ok ( TypedReg :: f64 ( reg) )
837+ } )
846838 }
847839
848840 fn visit_i32_add ( & mut self ) -> Self :: Output {
@@ -1026,53 +1018,53 @@ where
10261018 fn visit_i32_eqz ( & mut self ) -> Self :: Output {
10271019 use OperandSize :: * ;
10281020
1029- self . context . unop ( self . masm , S32 , & mut |masm, reg, size | {
1030- masm. cmp_with_set ( writable ! ( reg. into( ) ) , RegImm :: i32 ( 0 ) , IntCmpKind :: Eq , size ) ?;
1021+ self . context . unop ( self . masm , & mut |masm, reg| {
1022+ masm. cmp_with_set ( writable ! ( reg. into( ) ) , RegImm :: i32 ( 0 ) , IntCmpKind :: Eq , S32 ) ?;
10311023 Ok ( TypedReg :: i32 ( reg) )
10321024 } )
10331025 }
10341026
10351027 fn visit_i64_eqz ( & mut self ) -> Self :: Output {
10361028 use OperandSize :: * ;
10371029
1038- self . context . unop ( self . masm , S64 , & mut |masm, reg, size | {
1039- masm. cmp_with_set ( writable ! ( reg. into( ) ) , RegImm :: i64 ( 0 ) , IntCmpKind :: Eq , size ) ?;
1030+ self . context . unop ( self . masm , & mut |masm, reg| {
1031+ masm. cmp_with_set ( writable ! ( reg. into( ) ) , RegImm :: i64 ( 0 ) , IntCmpKind :: Eq , S64 ) ?;
10401032 Ok ( TypedReg :: i32 ( reg) ) // Return value for `i64.eqz` is an `i32`.
10411033 } )
10421034 }
10431035
10441036 fn visit_i32_clz ( & mut self ) -> Self :: Output {
10451037 use OperandSize :: * ;
10461038
1047- self . context . unop ( self . masm , S32 , & mut |masm, reg, size | {
1048- masm. clz ( writable ! ( reg) , reg, size ) ?;
1039+ self . context . unop ( self . masm , & mut |masm, reg| {
1040+ masm. clz ( writable ! ( reg) , reg, S32 ) ?;
10491041 Ok ( TypedReg :: i32 ( reg) )
10501042 } )
10511043 }
10521044
10531045 fn visit_i64_clz ( & mut self ) -> Self :: Output {
10541046 use OperandSize :: * ;
10551047
1056- self . context . unop ( self . masm , S64 , & mut |masm, reg, size | {
1057- masm. clz ( writable ! ( reg) , reg, size ) ?;
1048+ self . context . unop ( self . masm , & mut |masm, reg| {
1049+ masm. clz ( writable ! ( reg) , reg, S64 ) ?;
10581050 Ok ( TypedReg :: i64 ( reg) )
10591051 } )
10601052 }
10611053
10621054 fn visit_i32_ctz ( & mut self ) -> Self :: Output {
10631055 use OperandSize :: * ;
10641056
1065- self . context . unop ( self . masm , S32 , & mut |masm, reg, size | {
1066- masm. ctz ( writable ! ( reg) , reg, size ) ?;
1057+ self . context . unop ( self . masm , & mut |masm, reg| {
1058+ masm. ctz ( writable ! ( reg) , reg, S32 ) ?;
10671059 Ok ( TypedReg :: i32 ( reg) )
10681060 } )
10691061 }
10701062
10711063 fn visit_i64_ctz ( & mut self ) -> Self :: Output {
10721064 use OperandSize :: * ;
10731065
1074- self . context . unop ( self . masm , S64 , & mut |masm, reg, size | {
1075- masm. ctz ( writable ! ( reg) , reg, size ) ?;
1066+ self . context . unop ( self . masm , & mut |masm, reg| {
1067+ masm. ctz ( writable ! ( reg) , reg, S64 ) ?;
10761068 Ok ( TypedReg :: i64 ( reg) )
10771069 } )
10781070 }
@@ -1200,72 +1192,56 @@ where
12001192 }
12011193
12021194 fn visit_i32_wrap_i64 ( & mut self ) -> Self :: Output {
1203- use OperandSize :: * ;
1204-
1205- self . context . unop ( self . masm , S64 , & mut |masm, reg, _size| {
1195+ self . context . unop ( self . masm , & mut |masm, reg| {
12061196 masm. wrap ( writable ! ( reg) , reg) ?;
12071197 Ok ( TypedReg :: i32 ( reg) )
12081198 } )
12091199 }
12101200
12111201 fn visit_i64_extend_i32_s ( & mut self ) -> Self :: Output {
1212- use OperandSize :: * ;
1213-
1214- self . context . unop ( self . masm , S32 , & mut |masm, reg, _size| {
1202+ self . context . unop ( self . masm , & mut |masm, reg| {
12151203 masm. extend ( writable ! ( reg) , reg, ExtendKind :: I64Extend32S ) ?;
12161204 Ok ( TypedReg :: i64 ( reg) )
12171205 } )
12181206 }
12191207
12201208 fn visit_i64_extend_i32_u ( & mut self ) -> Self :: Output {
1221- use OperandSize :: * ;
1222-
1223- self . context . unop ( self . masm , S32 , & mut |masm, reg, _size| {
1209+ self . context . unop ( self . masm , & mut |masm, reg| {
12241210 masm. extend ( writable ! ( reg) , reg, ExtendKind :: I64Extend32U ) ?;
12251211 Ok ( TypedReg :: i64 ( reg) )
12261212 } )
12271213 }
12281214
12291215 fn visit_i32_extend8_s ( & mut self ) -> Self :: Output {
1230- use OperandSize :: * ;
1231-
1232- self . context . unop ( self . masm , S32 , & mut |masm, reg, _size| {
1216+ self . context . unop ( self . masm , & mut |masm, reg| {
12331217 masm. extend ( writable ! ( reg) , reg, ExtendKind :: I32Extend8S ) ?;
12341218 Ok ( TypedReg :: i32 ( reg) )
12351219 } )
12361220 }
12371221
12381222 fn visit_i32_extend16_s ( & mut self ) -> Self :: Output {
1239- use OperandSize :: * ;
1240-
1241- self . context . unop ( self . masm , S32 , & mut |masm, reg, _size| {
1223+ self . context . unop ( self . masm , & mut |masm, reg| {
12421224 masm. extend ( writable ! ( reg) , reg, ExtendKind :: I32Extend16S ) ?;
12431225 Ok ( TypedReg :: i32 ( reg) )
12441226 } )
12451227 }
12461228
12471229 fn visit_i64_extend8_s ( & mut self ) -> Self :: Output {
1248- use OperandSize :: * ;
1249-
1250- self . context . unop ( self . masm , S64 , & mut |masm, reg, _size| {
1230+ self . context . unop ( self . masm , & mut |masm, reg| {
12511231 masm. extend ( writable ! ( reg) , reg, ExtendKind :: I64Extend8S ) ?;
12521232 Ok ( TypedReg :: i64 ( reg) )
12531233 } )
12541234 }
12551235
12561236 fn visit_i64_extend16_s ( & mut self ) -> Self :: Output {
1257- use OperandSize :: * ;
1258-
1259- self . context . unop ( self . masm , S64 , & mut |masm, reg, _size| {
1237+ self . context . unop ( self . masm , & mut |masm, reg| {
12601238 masm. extend ( writable ! ( reg) , reg, ExtendKind :: I64Extend16S ) ?;
12611239 Ok ( TypedReg :: i64 ( reg) )
12621240 } )
12631241 }
12641242
12651243 fn visit_i64_extend32_s ( & mut self ) -> Self :: Output {
1266- use OperandSize :: * ;
1267-
1268- self . context . unop ( self . masm , S64 , & mut |masm, reg, _size| {
1244+ self . context . unop ( self . masm , & mut |masm, reg| {
12691245 masm. extend ( writable ! ( reg) , reg, ExtendKind :: I64Extend32S ) ?;
12701246 Ok ( TypedReg :: i64 ( reg) )
12711247 } )
0 commit comments