@@ -373,41 +373,12 @@ fn add_store_ops(isa: &mut Isa) {
373373 StoreOpKind :: I64Store32 ,
374374 ] ;
375375 for op in ops {
376- isa. push_op ( StoreOp :: new (
377- op,
378- OperandKind :: Slot ,
379- OperandKind :: Slot ,
380- false ,
381- false ,
382- ) ) ;
383- isa. push_op ( StoreOp :: new (
384- op,
385- OperandKind :: Slot ,
386- OperandKind :: Immediate ,
387- false ,
388- false ,
389- ) ) ;
390- isa. push_op ( StoreOp :: new (
391- op,
392- OperandKind :: Immediate ,
393- OperandKind :: Slot ,
394- false ,
395- false ,
396- ) ) ;
397- isa. push_op ( StoreOp :: new (
398- op,
399- OperandKind :: Slot ,
400- OperandKind :: Slot ,
401- true ,
402- true ,
403- ) ) ;
404- isa. push_op ( StoreOp :: new (
405- op,
406- OperandKind :: Slot ,
407- OperandKind :: Immediate ,
408- true ,
409- true ,
410- ) ) ;
376+ for value in [ OperandKind :: Slot , OperandKind :: Immediate ] {
377+ for ptr in [ OperandKind :: Slot , OperandKind :: Immediate ] {
378+ isa. push_op ( StoreOp :: new ( op, ptr, value, false , false ) ) ;
379+ }
380+ isa. push_op ( StoreOp :: new ( op, OperandKind :: Slot , value, true , true ) ) ;
381+ }
411382 }
412383}
413384
@@ -509,37 +480,44 @@ fn add_call_ops(isa: &mut Isa) {
509480 Op :: from ( GenericOp :: new (
510481 Ident :: CallInternal ,
511482 [
512- Field :: new ( Ident :: Results , FieldTy :: SlotSpan ) ,
483+ Field :: new ( Ident :: Params , FieldTy :: BoundedSlotSpan ) ,
513484 Field :: new ( Ident :: Func , FieldTy :: InternalFunc ) ,
514485 ] ,
515486 ) ) ,
516487 Op :: from ( GenericOp :: new (
517488 Ident :: CallImported ,
518489 [
519- Field :: new ( Ident :: Results , FieldTy :: SlotSpan ) ,
490+ Field :: new ( Ident :: Params , FieldTy :: BoundedSlotSpan ) ,
520491 Field :: new ( Ident :: Func , FieldTy :: Func ) ,
521492 ] ,
522493 ) ) ,
523494 Op :: from ( GenericOp :: new (
524495 Ident :: CallIndirect ,
525496 [
526- Field :: new ( Ident :: Results , FieldTy :: SlotSpan ) ,
497+ Field :: new ( Ident :: Params , FieldTy :: BoundedSlotSpan ) ,
527498 Field :: new ( Ident :: Index , FieldTy :: Slot ) ,
528499 Field :: new ( Ident :: FuncType , FieldTy :: FuncType ) ,
529500 Field :: new ( Ident :: Table , FieldTy :: Table ) ,
530501 ] ,
531502 ) ) ,
532503 Op :: from ( GenericOp :: new (
533504 Ident :: ReturnCallInternal ,
534- [ Field :: new ( Ident :: Func , FieldTy :: InternalFunc ) ] ,
505+ [
506+ Field :: new ( Ident :: Params , FieldTy :: BoundedSlotSpan ) ,
507+ Field :: new ( Ident :: Func , FieldTy :: InternalFunc ) ,
508+ ] ,
535509 ) ) ,
536510 Op :: from ( GenericOp :: new (
537511 Ident :: ReturnCallImported ,
538- [ Field :: new ( Ident :: Func , FieldTy :: Func ) ] ,
512+ [
513+ Field :: new ( Ident :: Params , FieldTy :: BoundedSlotSpan ) ,
514+ Field :: new ( Ident :: Func , FieldTy :: Func ) ,
515+ ] ,
539516 ) ) ,
540517 Op :: from ( GenericOp :: new (
541518 Ident :: ReturnCallIndirect ,
542519 [
520+ Field :: new ( Ident :: Params , FieldTy :: BoundedSlotSpan ) ,
543521 Field :: new ( Ident :: Index , FieldTy :: Slot ) ,
544522 Field :: new ( Ident :: FuncType , FieldTy :: FuncType ) ,
545523 Field :: new ( Ident :: Table , FieldTy :: Table ) ,
@@ -724,7 +702,7 @@ fn add_wide_arithmetic_ops(isa: &mut Isa) {
724702 ] ,
725703 ) ) ,
726704 Op :: from ( GenericOp :: new (
727- Ident :: S64MulWide ,
705+ Ident :: I64MulWide ,
728706 [
729707 Field :: new ( Ident :: Results , FieldTy :: FixedSlotSpan2 ) ,
730708 Field :: new ( Ident :: Lhs , FieldTy :: Slot ) ,
@@ -776,7 +754,12 @@ fn add_simd_ops(isa: &mut Isa, config: &Config) {
776754}
777755
778756fn add_simd_splat_ops ( isa : & mut Isa ) {
779- let kinds = [ UnaryOpKind :: V128Splat32 , UnaryOpKind :: V128Splat64 ] ;
757+ let kinds = [
758+ UnaryOpKind :: V128Splat8 ,
759+ UnaryOpKind :: V128Splat16 ,
760+ UnaryOpKind :: V128Splat32 ,
761+ UnaryOpKind :: V128Splat64 ,
762+ ] ;
780763 for kind in kinds {
781764 isa. push_op ( UnaryOp :: new ( kind, OperandKind :: Slot ) ) ;
782765 isa. push_op ( UnaryOp :: new ( kind, OperandKind :: Immediate ) ) ;
0 commit comments