@@ -408,4 +408,269 @@ extension InstructionEncoder {
408
408
mutating func visitI64TruncSatF32U( ) throws { try encodeInstruction ( 0x05 , 0xFC ) }
409
409
mutating func visitI64TruncSatF64S( ) throws { try encodeInstruction ( 0x06 , 0xFC ) }
410
410
mutating func visitI64TruncSatF64U( ) throws { try encodeInstruction ( 0x07 , 0xFC ) }
411
+ mutating func visitMemoryAtomicNotify( memarg: MemArg ) throws {
412
+ try encodeInstruction ( 0x00 , 0xFE )
413
+ try encodeImmediates ( memarg: memarg)
414
+ }
415
+ mutating func visitMemoryAtomicWait32( memarg: MemArg ) throws {
416
+ try encodeInstruction ( 0x01 , 0xFE )
417
+ try encodeImmediates ( memarg: memarg)
418
+ }
419
+ mutating func visitMemoryAtomicWait64( memarg: MemArg ) throws {
420
+ try encodeInstruction ( 0x02 , 0xFE )
421
+ try encodeImmediates ( memarg: memarg)
422
+ }
423
+ mutating func visitAtomicFence( ) throws { try encodeInstruction ( 0x03 , 0xFE ) }
424
+ mutating func visitI32AtomicLoad( memarg: MemArg ) throws {
425
+ try encodeInstruction ( 0x10 , 0xFE )
426
+ try encodeImmediates ( memarg: memarg)
427
+ }
428
+ mutating func visitI64AtomicLoad( memarg: MemArg ) throws {
429
+ try encodeInstruction ( 0x11 , 0xFE )
430
+ try encodeImmediates ( memarg: memarg)
431
+ }
432
+ mutating func visitI32AtomicLoad8U( memarg: MemArg ) throws {
433
+ try encodeInstruction ( 0x12 , 0xFE )
434
+ try encodeImmediates ( memarg: memarg)
435
+ }
436
+ mutating func visitI32AtomicLoad16U( memarg: MemArg ) throws {
437
+ try encodeInstruction ( 0x13 , 0xFE )
438
+ try encodeImmediates ( memarg: memarg)
439
+ }
440
+ mutating func visitI64AtomicLoad8U( memarg: MemArg ) throws {
441
+ try encodeInstruction ( 0x14 , 0xFE )
442
+ try encodeImmediates ( memarg: memarg)
443
+ }
444
+ mutating func visitI64AtomicLoad16U( memarg: MemArg ) throws {
445
+ try encodeInstruction ( 0x15 , 0xFE )
446
+ try encodeImmediates ( memarg: memarg)
447
+ }
448
+ mutating func visitI64AtomicLoad32U( memarg: MemArg ) throws {
449
+ try encodeInstruction ( 0x16 , 0xFE )
450
+ try encodeImmediates ( memarg: memarg)
451
+ }
452
+ mutating func visitI32AtomicStore( memarg: MemArg ) throws {
453
+ try encodeInstruction ( 0x17 , 0xFE )
454
+ try encodeImmediates ( memarg: memarg)
455
+ }
456
+ mutating func visitI64AtomicStore( memarg: MemArg ) throws {
457
+ try encodeInstruction ( 0x18 , 0xFE )
458
+ try encodeImmediates ( memarg: memarg)
459
+ }
460
+ mutating func visitI32AtomicStore8( memarg: MemArg ) throws {
461
+ try encodeInstruction ( 0x19 , 0xFE )
462
+ try encodeImmediates ( memarg: memarg)
463
+ }
464
+ mutating func visitI32AtomicStore16( memarg: MemArg ) throws {
465
+ try encodeInstruction ( 0x1A , 0xFE )
466
+ try encodeImmediates ( memarg: memarg)
467
+ }
468
+ mutating func visitI64AtomicStore8( memarg: MemArg ) throws {
469
+ try encodeInstruction ( 0x1B , 0xFE )
470
+ try encodeImmediates ( memarg: memarg)
471
+ }
472
+ mutating func visitI64AtomicStore16( memarg: MemArg ) throws {
473
+ try encodeInstruction ( 0x1C , 0xFE )
474
+ try encodeImmediates ( memarg: memarg)
475
+ }
476
+ mutating func visitI64AtomicStore32( memarg: MemArg ) throws {
477
+ try encodeInstruction ( 0x1D , 0xFE )
478
+ try encodeImmediates ( memarg: memarg)
479
+ }
480
+ mutating func visitI32AtomicRmwAdd( memarg: MemArg ) throws {
481
+ try encodeInstruction ( 0x1E , 0xFE )
482
+ try encodeImmediates ( memarg: memarg)
483
+ }
484
+ mutating func visitI64AtomicRmwAdd( memarg: MemArg ) throws {
485
+ try encodeInstruction ( 0x1F , 0xFE )
486
+ try encodeImmediates ( memarg: memarg)
487
+ }
488
+ mutating func visitI32AtomicRmw8AddU( memarg: MemArg ) throws {
489
+ try encodeInstruction ( 0x20 , 0xFE )
490
+ try encodeImmediates ( memarg: memarg)
491
+ }
492
+ mutating func visitI32AtomicRmw16AddU( memarg: MemArg ) throws {
493
+ try encodeInstruction ( 0x21 , 0xFE )
494
+ try encodeImmediates ( memarg: memarg)
495
+ }
496
+ mutating func visitI64AtomicRmw8AddU( memarg: MemArg ) throws {
497
+ try encodeInstruction ( 0x22 , 0xFE )
498
+ try encodeImmediates ( memarg: memarg)
499
+ }
500
+ mutating func visitI64AtomicRmw16AddU( memarg: MemArg ) throws {
501
+ try encodeInstruction ( 0x23 , 0xFE )
502
+ try encodeImmediates ( memarg: memarg)
503
+ }
504
+ mutating func visitI64AtomicRmw32AddU( memarg: MemArg ) throws {
505
+ try encodeInstruction ( 0x24 , 0xFE )
506
+ try encodeImmediates ( memarg: memarg)
507
+ }
508
+ mutating func visitI32AtomicRmwSub( memarg: MemArg ) throws {
509
+ try encodeInstruction ( 0x25 , 0xFE )
510
+ try encodeImmediates ( memarg: memarg)
511
+ }
512
+ mutating func visitI64AtomicRmwSub( memarg: MemArg ) throws {
513
+ try encodeInstruction ( 0x26 , 0xFE )
514
+ try encodeImmediates ( memarg: memarg)
515
+ }
516
+ mutating func visitI32AtomicRmw8SubU( memarg: MemArg ) throws {
517
+ try encodeInstruction ( 0x27 , 0xFE )
518
+ try encodeImmediates ( memarg: memarg)
519
+ }
520
+ mutating func visitI32AtomicRmw16SubU( memarg: MemArg ) throws {
521
+ try encodeInstruction ( 0x28 , 0xFE )
522
+ try encodeImmediates ( memarg: memarg)
523
+ }
524
+ mutating func visitI64AtomicRmw8SubU( memarg: MemArg ) throws {
525
+ try encodeInstruction ( 0x29 , 0xFE )
526
+ try encodeImmediates ( memarg: memarg)
527
+ }
528
+ mutating func visitI64AtomicRmw16SubU( memarg: MemArg ) throws {
529
+ try encodeInstruction ( 0x2A , 0xFE )
530
+ try encodeImmediates ( memarg: memarg)
531
+ }
532
+ mutating func visitI64AtomicRmw32SubU( memarg: MemArg ) throws {
533
+ try encodeInstruction ( 0x2B , 0xFE )
534
+ try encodeImmediates ( memarg: memarg)
535
+ }
536
+ mutating func visitI32AtomicRmwAnd( memarg: MemArg ) throws {
537
+ try encodeInstruction ( 0x2C , 0xFE )
538
+ try encodeImmediates ( memarg: memarg)
539
+ }
540
+ mutating func visitI64AtomicRmwAnd( memarg: MemArg ) throws {
541
+ try encodeInstruction ( 0x2D , 0xFE )
542
+ try encodeImmediates ( memarg: memarg)
543
+ }
544
+ mutating func visitI32AtomicRmw8AndU( memarg: MemArg ) throws {
545
+ try encodeInstruction ( 0x2E , 0xFE )
546
+ try encodeImmediates ( memarg: memarg)
547
+ }
548
+ mutating func visitI32AtomicRmw16AndU( memarg: MemArg ) throws {
549
+ try encodeInstruction ( 0x2F , 0xFE )
550
+ try encodeImmediates ( memarg: memarg)
551
+ }
552
+ mutating func visitI64AtomicRmw8AndU( memarg: MemArg ) throws {
553
+ try encodeInstruction ( 0x30 , 0xFE )
554
+ try encodeImmediates ( memarg: memarg)
555
+ }
556
+ mutating func visitI64AtomicRmw16AndU( memarg: MemArg ) throws {
557
+ try encodeInstruction ( 0x31 , 0xFE )
558
+ try encodeImmediates ( memarg: memarg)
559
+ }
560
+ mutating func visitI64AtomicRmw32AndU( memarg: MemArg ) throws {
561
+ try encodeInstruction ( 0x32 , 0xFE )
562
+ try encodeImmediates ( memarg: memarg)
563
+ }
564
+ mutating func visitI32AtomicRmwOr( memarg: MemArg ) throws {
565
+ try encodeInstruction ( 0x33 , 0xFE )
566
+ try encodeImmediates ( memarg: memarg)
567
+ }
568
+ mutating func visitI64AtomicRmwOr( memarg: MemArg ) throws {
569
+ try encodeInstruction ( 0x34 , 0xFE )
570
+ try encodeImmediates ( memarg: memarg)
571
+ }
572
+ mutating func visitI32AtomicRmw8OrU( memarg: MemArg ) throws {
573
+ try encodeInstruction ( 0x35 , 0xFE )
574
+ try encodeImmediates ( memarg: memarg)
575
+ }
576
+ mutating func visitI32AtomicRmw16OrU( memarg: MemArg ) throws {
577
+ try encodeInstruction ( 0x36 , 0xFE )
578
+ try encodeImmediates ( memarg: memarg)
579
+ }
580
+ mutating func visitI64AtomicRmw8OrU( memarg: MemArg ) throws {
581
+ try encodeInstruction ( 0x37 , 0xFE )
582
+ try encodeImmediates ( memarg: memarg)
583
+ }
584
+ mutating func visitI64AtomicRmw16OrU( memarg: MemArg ) throws {
585
+ try encodeInstruction ( 0x38 , 0xFE )
586
+ try encodeImmediates ( memarg: memarg)
587
+ }
588
+ mutating func visitI64AtomicRmw32OrU( memarg: MemArg ) throws {
589
+ try encodeInstruction ( 0x39 , 0xFE )
590
+ try encodeImmediates ( memarg: memarg)
591
+ }
592
+ mutating func visitI32AtomicRmwXor( memarg: MemArg ) throws {
593
+ try encodeInstruction ( 0x3A , 0xFE )
594
+ try encodeImmediates ( memarg: memarg)
595
+ }
596
+ mutating func visitI64AtomicRmwXor( memarg: MemArg ) throws {
597
+ try encodeInstruction ( 0x3B , 0xFE )
598
+ try encodeImmediates ( memarg: memarg)
599
+ }
600
+ mutating func visitI32AtomicRmw8XorU( memarg: MemArg ) throws {
601
+ try encodeInstruction ( 0x3C , 0xFE )
602
+ try encodeImmediates ( memarg: memarg)
603
+ }
604
+ mutating func visitI32AtomicRmw16XorU( memarg: MemArg ) throws {
605
+ try encodeInstruction ( 0x3D , 0xFE )
606
+ try encodeImmediates ( memarg: memarg)
607
+ }
608
+ mutating func visitI64AtomicRmw8XorU( memarg: MemArg ) throws {
609
+ try encodeInstruction ( 0x3E , 0xFE )
610
+ try encodeImmediates ( memarg: memarg)
611
+ }
612
+ mutating func visitI64AtomicRmw16XorU( memarg: MemArg ) throws {
613
+ try encodeInstruction ( 0x3F , 0xFE )
614
+ try encodeImmediates ( memarg: memarg)
615
+ }
616
+ mutating func visitI64AtomicRmw32XorU( memarg: MemArg ) throws {
617
+ try encodeInstruction ( 0x40 , 0xFE )
618
+ try encodeImmediates ( memarg: memarg)
619
+ }
620
+ mutating func visitI32AtomicRmwXchg( memarg: MemArg ) throws {
621
+ try encodeInstruction ( 0x41 , 0xFE )
622
+ try encodeImmediates ( memarg: memarg)
623
+ }
624
+ mutating func visitI64AtomicRmwXchg( memarg: MemArg ) throws {
625
+ try encodeInstruction ( 0x42 , 0xFE )
626
+ try encodeImmediates ( memarg: memarg)
627
+ }
628
+ mutating func visitI32AtomicRmw8XchgU( memarg: MemArg ) throws {
629
+ try encodeInstruction ( 0x43 , 0xFE )
630
+ try encodeImmediates ( memarg: memarg)
631
+ }
632
+ mutating func visitI32AtomicRmw16XchgU( memarg: MemArg ) throws {
633
+ try encodeInstruction ( 0x44 , 0xFE )
634
+ try encodeImmediates ( memarg: memarg)
635
+ }
636
+ mutating func visitI64AtomicRmw8XchgU( memarg: MemArg ) throws {
637
+ try encodeInstruction ( 0x45 , 0xFE )
638
+ try encodeImmediates ( memarg: memarg)
639
+ }
640
+ mutating func visitI64AtomicRmw16XchgU( memarg: MemArg ) throws {
641
+ try encodeInstruction ( 0x46 , 0xFE )
642
+ try encodeImmediates ( memarg: memarg)
643
+ }
644
+ mutating func visitI64AtomicRmw32XchgU( memarg: MemArg ) throws {
645
+ try encodeInstruction ( 0x47 , 0xFE )
646
+ try encodeImmediates ( memarg: memarg)
647
+ }
648
+ mutating func visitI32AtomicRmwCmpxchg( memarg: MemArg ) throws {
649
+ try encodeInstruction ( 0x48 , 0xFE )
650
+ try encodeImmediates ( memarg: memarg)
651
+ }
652
+ mutating func visitI64AtomicRmwCmpxchg( memarg: MemArg ) throws {
653
+ try encodeInstruction ( 0x49 , 0xFE )
654
+ try encodeImmediates ( memarg: memarg)
655
+ }
656
+ mutating func visitI32AtomicRmw8CmpxchgU( memarg: MemArg ) throws {
657
+ try encodeInstruction ( 0x4A , 0xFE )
658
+ try encodeImmediates ( memarg: memarg)
659
+ }
660
+ mutating func visitI32AtomicRmw16CmpxchgU( memarg: MemArg ) throws {
661
+ try encodeInstruction ( 0x4B , 0xFE )
662
+ try encodeImmediates ( memarg: memarg)
663
+ }
664
+ mutating func visitI64AtomicRmw8CmpxchgU( memarg: MemArg ) throws {
665
+ try encodeInstruction ( 0x4C , 0xFE )
666
+ try encodeImmediates ( memarg: memarg)
667
+ }
668
+ mutating func visitI64AtomicRmw16CmpxchgU( memarg: MemArg ) throws {
669
+ try encodeInstruction ( 0x4D , 0xFE )
670
+ try encodeImmediates ( memarg: memarg)
671
+ }
672
+ mutating func visitI64AtomicRmw32CmpxchgU( memarg: MemArg ) throws {
673
+ try encodeInstruction ( 0x4E , 0xFE )
674
+ try encodeImmediates ( memarg: memarg)
675
+ }
411
676
}
0 commit comments