@@ -486,6 +486,122 @@ const OPCODE_SIGNATURES: &'static [(
486486 // Nearest
487487 ( Opcode :: Nearest , & [ F32 ] , & [ F32 ] , insert_opcode) ,
488488 ( Opcode :: Nearest , & [ F64 ] , & [ F64 ] , insert_opcode) ,
489+ // FcvtToUint
490+ // TODO: Some ops disabled:
491+ // x64: https://github.com/bytecodealliance/wasmtime/issues/4897
492+ // x64: https://github.com/bytecodealliance/wasmtime/issues/4899
493+ // aarch64: https://github.com/bytecodealliance/wasmtime/issues/4934
494+ #[ cfg( not( target_arch = "x86_64" ) ) ]
495+ ( Opcode :: FcvtToUint , & [ F32 ] , & [ I8 ] , insert_opcode) ,
496+ #[ cfg( not( target_arch = "x86_64" ) ) ]
497+ ( Opcode :: FcvtToUint , & [ F32 ] , & [ I16 ] , insert_opcode) ,
498+ ( Opcode :: FcvtToUint , & [ F32 ] , & [ I32 ] , insert_opcode) ,
499+ ( Opcode :: FcvtToUint , & [ F32 ] , & [ I64 ] , insert_opcode) ,
500+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
501+ ( Opcode :: FcvtToUint , & [ F32 ] , & [ I128 ] , insert_opcode) ,
502+ #[ cfg( not( target_arch = "x86_64" ) ) ]
503+ ( Opcode :: FcvtToUint , & [ F64 ] , & [ I8 ] , insert_opcode) ,
504+ #[ cfg( not( target_arch = "x86_64" ) ) ]
505+ ( Opcode :: FcvtToUint , & [ F64 ] , & [ I16 ] , insert_opcode) ,
506+ ( Opcode :: FcvtToUint , & [ F64 ] , & [ I32 ] , insert_opcode) ,
507+ ( Opcode :: FcvtToUint , & [ F64 ] , & [ I64 ] , insert_opcode) ,
508+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
509+ ( Opcode :: FcvtToUint , & [ F64 ] , & [ I128 ] , insert_opcode) ,
510+ // FcvtToUintSat
511+ // TODO: Some ops disabled:
512+ // x64: https://github.com/bytecodealliance/wasmtime/issues/4897
513+ // x64: https://github.com/bytecodealliance/wasmtime/issues/4899
514+ // aarch64: https://github.com/bytecodealliance/wasmtime/issues/4934
515+ #[ cfg( not( target_arch = "x86_64" ) ) ]
516+ ( Opcode :: FcvtToUintSat , & [ F32 ] , & [ I8 ] , insert_opcode) ,
517+ #[ cfg( not( target_arch = "x86_64" ) ) ]
518+ ( Opcode :: FcvtToUintSat , & [ F32 ] , & [ I16 ] , insert_opcode) ,
519+ ( Opcode :: FcvtToUintSat , & [ F32 ] , & [ I32 ] , insert_opcode) ,
520+ ( Opcode :: FcvtToUintSat , & [ F32 ] , & [ I64 ] , insert_opcode) ,
521+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
522+ ( Opcode :: FcvtToUintSat , & [ F32 ] , & [ I128 ] , insert_opcode) ,
523+ #[ cfg( not( target_arch = "x86_64" ) ) ]
524+ ( Opcode :: FcvtToUintSat , & [ F64 ] , & [ I8 ] , insert_opcode) ,
525+ #[ cfg( not( target_arch = "x86_64" ) ) ]
526+ ( Opcode :: FcvtToUintSat , & [ F64 ] , & [ I16 ] , insert_opcode) ,
527+ ( Opcode :: FcvtToUintSat , & [ F64 ] , & [ I32 ] , insert_opcode) ,
528+ ( Opcode :: FcvtToUintSat , & [ F64 ] , & [ I64 ] , insert_opcode) ,
529+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
530+ ( Opcode :: FcvtToUintSat , & [ F64 ] , & [ I128 ] , insert_opcode) ,
531+ // FcvtToSint
532+ // TODO: Some ops disabled:
533+ // x64: https://github.com/bytecodealliance/wasmtime/issues/4897
534+ // x64: https://github.com/bytecodealliance/wasmtime/issues/4899
535+ // aarch64: https://github.com/bytecodealliance/wasmtime/issues/4934
536+ #[ cfg( not( target_arch = "x86_64" ) ) ]
537+ ( Opcode :: FcvtToSint , & [ F32 ] , & [ I8 ] , insert_opcode) ,
538+ #[ cfg( not( target_arch = "x86_64" ) ) ]
539+ ( Opcode :: FcvtToSint , & [ F32 ] , & [ I16 ] , insert_opcode) ,
540+ ( Opcode :: FcvtToSint , & [ F32 ] , & [ I32 ] , insert_opcode) ,
541+ ( Opcode :: FcvtToSint , & [ F32 ] , & [ I64 ] , insert_opcode) ,
542+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
543+ ( Opcode :: FcvtToSint , & [ F32 ] , & [ I128 ] , insert_opcode) ,
544+ #[ cfg( not( target_arch = "x86_64" ) ) ]
545+ ( Opcode :: FcvtToSint , & [ F64 ] , & [ I8 ] , insert_opcode) ,
546+ #[ cfg( not( target_arch = "x86_64" ) ) ]
547+ ( Opcode :: FcvtToSint , & [ F64 ] , & [ I16 ] , insert_opcode) ,
548+ ( Opcode :: FcvtToSint , & [ F64 ] , & [ I32 ] , insert_opcode) ,
549+ ( Opcode :: FcvtToSint , & [ F64 ] , & [ I64 ] , insert_opcode) ,
550+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
551+ ( Opcode :: FcvtToSint , & [ F64 ] , & [ I128 ] , insert_opcode) ,
552+ // FcvtToSintSat
553+ // TODO: Some ops disabled:
554+ // x64: https://github.com/bytecodealliance/wasmtime/issues/4897
555+ // x64: https://github.com/bytecodealliance/wasmtime/issues/4899
556+ // aarch64: https://github.com/bytecodealliance/wasmtime/issues/4934
557+ #[ cfg( not( target_arch = "x86_64" ) ) ]
558+ ( Opcode :: FcvtToSintSat , & [ F32 ] , & [ I8 ] , insert_opcode) ,
559+ #[ cfg( not( target_arch = "x86_64" ) ) ]
560+ ( Opcode :: FcvtToSintSat , & [ F32 ] , & [ I16 ] , insert_opcode) ,
561+ ( Opcode :: FcvtToSintSat , & [ F32 ] , & [ I32 ] , insert_opcode) ,
562+ ( Opcode :: FcvtToSintSat , & [ F32 ] , & [ I64 ] , insert_opcode) ,
563+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
564+ ( Opcode :: FcvtToSintSat , & [ F32 ] , & [ I128 ] , insert_opcode) ,
565+ #[ cfg( not( target_arch = "x86_64" ) ) ]
566+ ( Opcode :: FcvtToSintSat , & [ F64 ] , & [ I8 ] , insert_opcode) ,
567+ #[ cfg( not( target_arch = "x86_64" ) ) ]
568+ ( Opcode :: FcvtToSintSat , & [ F64 ] , & [ I16 ] , insert_opcode) ,
569+ ( Opcode :: FcvtToSintSat , & [ F64 ] , & [ I32 ] , insert_opcode) ,
570+ ( Opcode :: FcvtToSintSat , & [ F64 ] , & [ I64 ] , insert_opcode) ,
571+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
572+ ( Opcode :: FcvtToSintSat , & [ F64 ] , & [ I128 ] , insert_opcode) ,
573+ // FcvtFromUint
574+ // TODO: Some ops disabled:
575+ // x64: https://github.com/bytecodealliance/wasmtime/issues/4900
576+ // aarch64: https://github.com/bytecodealliance/wasmtime/issues/4933
577+ ( Opcode :: FcvtFromUint , & [ I8 ] , & [ F32 ] , insert_opcode) ,
578+ ( Opcode :: FcvtFromUint , & [ I16 ] , & [ F32 ] , insert_opcode) ,
579+ ( Opcode :: FcvtFromUint , & [ I32 ] , & [ F32 ] , insert_opcode) ,
580+ ( Opcode :: FcvtFromUint , & [ I64 ] , & [ F32 ] , insert_opcode) ,
581+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
582+ ( Opcode :: FcvtFromUint , & [ I128 ] , & [ F32 ] , insert_opcode) ,
583+ ( Opcode :: FcvtFromUint , & [ I8 ] , & [ F64 ] , insert_opcode) ,
584+ ( Opcode :: FcvtFromUint , & [ I16 ] , & [ F64 ] , insert_opcode) ,
585+ ( Opcode :: FcvtFromUint , & [ I32 ] , & [ F64 ] , insert_opcode) ,
586+ ( Opcode :: FcvtFromUint , & [ I64 ] , & [ F64 ] , insert_opcode) ,
587+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
588+ ( Opcode :: FcvtFromUint , & [ I128 ] , & [ F64 ] , insert_opcode) ,
589+ // FcvtFromSint
590+ // TODO: Some ops disabled:
591+ // x64: https://github.com/bytecodealliance/wasmtime/issues/4900
592+ // aarch64: https://github.com/bytecodealliance/wasmtime/issues/4933
593+ ( Opcode :: FcvtFromSint , & [ I8 ] , & [ F32 ] , insert_opcode) ,
594+ ( Opcode :: FcvtFromSint , & [ I16 ] , & [ F32 ] , insert_opcode) ,
595+ ( Opcode :: FcvtFromSint , & [ I32 ] , & [ F32 ] , insert_opcode) ,
596+ ( Opcode :: FcvtFromSint , & [ I64 ] , & [ F32 ] , insert_opcode) ,
597+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
598+ ( Opcode :: FcvtFromSint , & [ I128 ] , & [ F32 ] , insert_opcode) ,
599+ ( Opcode :: FcvtFromSint , & [ I8 ] , & [ F64 ] , insert_opcode) ,
600+ ( Opcode :: FcvtFromSint , & [ I16 ] , & [ F64 ] , insert_opcode) ,
601+ ( Opcode :: FcvtFromSint , & [ I32 ] , & [ F64 ] , insert_opcode) ,
602+ ( Opcode :: FcvtFromSint , & [ I64 ] , & [ F64 ] , insert_opcode) ,
603+ #[ cfg( not( any( target_arch = "x86_64" , target_arch = "aarch64" ) ) ) ]
604+ ( Opcode :: FcvtFromSint , & [ I128 ] , & [ F64 ] , insert_opcode) ,
489605 // Fcmp
490606 ( Opcode :: Fcmp , & [ F32 , F32 ] , & [ B1 ] , insert_cmp) ,
491607 ( Opcode :: Fcmp , & [ F64 , F64 ] , & [ B1 ] , insert_cmp) ,
0 commit comments