@@ -468,6 +468,76 @@ struct
468468 | Convert (F64 F64Op. ConvertUI32) -> op 0xb8
469469 | Convert (F64 F64Op. ConvertSI64) -> op 0xb9
470470 | Convert (F64 F64Op. ConvertUI64) -> op 0xba
471+
472+ | Unary (F32 F32Op. SqrtCeil) -> op 0xfc ; u32 0x80l
473+ | Binary (F32 F32Op. AddCeil) -> op 0xfc ; u32 0x81l
474+ | Binary (F32 F32Op. SubCeil) -> op 0xfc ; u32 0x82l
475+ | Binary (F32 F32Op. MulCeil) -> op 0xfc ; u32 0x83l
476+ | Binary (F32 F32Op. DivCeil) -> op 0xfc ; u32 0x84l
477+ | Unary (F64 F64Op. SqrtCeil) -> op 0xfc ; u32 0x85l
478+ | Binary (F64 F64Op. AddCeil) -> op 0xfc ; u32 0x86l
479+ | Binary (F64 F64Op. SubCeil) -> op 0xfc ; u32 0x87l
480+ | Binary (F64 F64Op. MulCeil) -> op 0xfc ; u32 0x88l
481+ | Binary (F64 F64Op. DivCeil) -> op 0xfc ; u32 0x89l
482+ | Convert (F32 F32Op. ConvertCeilSI32) -> op 0xfc ; u32 0x8al
483+ | Convert (F32 F32Op. ConvertCeilUI32) -> op 0xfc ; u32 0x8bl
484+ | Convert (F32 F32Op. ConvertCeilSI64) -> op 0xfc ; u32 0x8cl
485+ | Convert (F32 F32Op. ConvertCeilUI64) -> op 0xfc ; u32 0x8dl
486+ | Convert (F32 F32Op. DemoteCeilF64) -> op 0xfc ; u32 0x8el
487+ | Convert (F64 F64Op. ConvertCeilSI32) -> op 0xfc ; u32 0x8fl
488+ | Convert (F64 F64Op. ConvertCeilUI32) -> op 0xfc ; u32 0x90l
489+ | Convert (F64 F64Op. ConvertCeilSI64) -> op 0xfc ; u32 0x91l
490+ | Convert (F64 F64Op. ConvertCeilUI64) -> op 0xfc ; u32 0x92l
491+ | Convert (F64 F64Op. PromoteCeilF32) -> op 0xfc ; u32 0x93l
492+ | Convert (F32 F32Op. PromoteCeilF32) -> error e.at " illegal instruction f32.promote_ceil_f32"
493+ | Convert (F64 F64Op. DemoteCeilF64) -> error e.at " illegal instruction f64.demote_ceil_f64"
494+
495+ | Unary (F32 F32Op. SqrtFloor) -> op 0xfc ; u32 0x94l
496+ | Binary (F32 F32Op. AddFloor) -> op 0xfc ; u32 0x95l
497+ | Binary (F32 F32Op. SubFloor) -> op 0xfc ; u32 0x96l
498+ | Binary (F32 F32Op. MulFloor) -> op 0xfc ; u32 0x97l
499+ | Binary (F32 F32Op. DivFloor) -> op 0xfc ; u32 0x98l
500+ | Unary (F64 F64Op. SqrtFloor) -> op 0xfc ; u32 0x99l
501+ | Binary (F64 F64Op. AddFloor) -> op 0xfc ; u32 0x9al
502+ | Binary (F64 F64Op. SubFloor) -> op 0xfc ; u32 0x9bl
503+ | Binary (F64 F64Op. MulFloor) -> op 0xfc ; u32 0x9cl
504+ | Binary (F64 F64Op. DivFloor) -> op 0xfc ; u32 0x9dl
505+ | Convert (F32 F32Op. ConvertFloorSI32) -> op 0xFc ; u32 0x9el
506+ | Convert (F32 F32Op. ConvertFloorUI32) -> op 0xFc ; u32 0x9Fl
507+ | Convert (F32 F32Op. ConvertFloorSI64) -> op 0xFc ; u32 0xa0l
508+ | Convert (F32 F32Op. ConvertFloorUI64) -> op 0xFc ; u32 0xa1l
509+ | Convert (F32 F32Op. DemoteFloorF64) -> op 0xFc ; u32 0xa2l
510+ | Convert (F64 F64Op. ConvertFloorSI32) -> op 0xFc ; u32 0xa3l
511+ | Convert (F64 F64Op. ConvertFloorUI32) -> op 0xFc ; u32 0xa4l
512+ | Convert (F64 F64Op. ConvertFloorSI64) -> op 0xFc ; u32 0xa5l
513+ | Convert (F64 F64Op. ConvertFloorUI64) -> op 0xFc ; u32 0xa6l
514+ | Convert (F64 F64Op. PromoteFloorF32) -> op 0xFc ; u32 0xa7l
515+ | Convert (F32 F32Op. PromoteFloorF32) -> error e.at " illegal instruction f32.promote_ceil_f32"
516+ | Convert (F64 F64Op. DemoteFloorF64) -> error e.at " illegal instruction f64.demote_ceil_f64"
517+
518+ | Unary (F32 F32Op. SqrtTrunc) -> op 0xfc ; u32 0xa8l
519+ | Binary (F32 F32Op. AddTrunc) -> op 0xfc ; u32 0xa9l
520+ | Binary (F32 F32Op. SubTrunc) -> op 0xfc ; u32 0xaal
521+ | Binary (F32 F32Op. MulTrunc) -> op 0xfc ; u32 0xabl
522+ | Binary (F32 F32Op. DivTrunc) -> op 0xfc ; u32 0xacl
523+ | Unary (F64 F64Op. SqrtTrunc) -> op 0xfc ; u32 0xadl
524+ | Binary (F64 F64Op. AddTrunc) -> op 0xfc ; u32 0xael
525+ | Binary (F64 F64Op. SubTrunc) -> op 0xfc ; u32 0xafl
526+ | Binary (F64 F64Op. MulTrunc) -> op 0xfc ; u32 0xb0l
527+ | Binary (F64 F64Op. DivTrunc) -> op 0xfc ; u32 0xb1l
528+ | Convert (F32 F32Op. ConvertTruncSI32) -> op 0xfc ; u32 0xb2l
529+ | Convert (F32 F32Op. ConvertTruncUI32) -> op 0xfc ; u32 0xb3l
530+ | Convert (F32 F32Op. ConvertTruncSI64) -> op 0xfc ; u32 0xb4l
531+ | Convert (F32 F32Op. ConvertTruncUI64) -> op 0xfc ; u32 0xb5l
532+ | Convert (F32 F32Op. DemoteTruncF64) -> op 0xfc ; u32 0xb6l
533+ | Convert (F64 F64Op. ConvertTruncSI32) -> op 0xfc ; u32 0xb7l
534+ | Convert (F64 F64Op. ConvertTruncUI32) -> op 0xfc ; u32 0xb8l
535+ | Convert (F64 F64Op. ConvertTruncSI64) -> op 0xfc ; u32 0xb9l
536+ | Convert (F64 F64Op. ConvertTruncUI64) -> op 0xfc ; u32 0xbal
537+ | Convert (F64 F64Op. PromoteTruncF32) -> op 0xfc ; u32 0xbbl
538+ | Convert (F32 F32Op. PromoteTruncF32) -> error e.at " illegal instruction f32.promote_trunc_f32"
539+ | Convert (F64 F64Op. DemoteTruncF64) -> error e.at " illegal instruction f64.demote_trunc_f64"
540+
471541 | Convert (F64 F64Op. PromoteF32) -> op 0xbb
472542 | Convert (F64 F64Op. DemoteF64) ->
473543 error e.at " illegal instruction f64.demote_f64"
0 commit comments