Skip to content
4 changes: 2 additions & 2 deletions crates/ir/src/enum.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ macro_rules! define_enum {
/// This type represents all such words and for simplicity we call the type [`Instruction`], still.
///
/// Most instructions are composed of a single instruction word. An example of
/// this is [`Instruction::I32Add`]. However, some instructions, like
/// [`Instruction::Select`], are composed of two or more instruction words.
/// this is [`Instruction::I32Add`]. However, some instructions, like the `select` instructions
/// are composed of two or more instruction words.
///
/// The Wasmi bytecode translation makes sure that instructions always appear in valid sequences.
/// The Wasmi executor relies on the guarantees that the Wasmi translator provides.
Expand Down
887 changes: 831 additions & 56 deletions crates/ir/src/for_each_op.rs

Large diffs are not rendered by default.

214 changes: 200 additions & 14 deletions crates/wasmi/src/engine/executor/instrs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -448,24 +448,210 @@
Instr::CallIndirectImm16 { results, func_type } => {
self.execute_call_indirect_imm16(store, results, func_type)?
}
Instr::Select { result, lhs } => self.execute_select(result, lhs),
Instr::SelectImm32Rhs { result, lhs } => self.execute_select_imm32_rhs(result, lhs),
Instr::SelectImm32Lhs { result, lhs } => self.execute_select_imm32_lhs(result, lhs),
Instr::SelectImm32 { result, lhs } => self.execute_select_imm32(result, lhs),
Instr::SelectI64Imm32Rhs { result, lhs } => {
self.execute_select_i64imm32_rhs(result, lhs)
Instr::SelectI32Eq { result, lhs, rhs } => {
self.execute_select_i32_eq(result, lhs, rhs)

Check warning on line 452 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L451-L452

Added lines #L451 - L452 were not covered by tests
}
Instr::SelectI64Imm32Lhs { result, lhs } => {
self.execute_select_i64imm32_lhs(result, lhs)
Instr::SelectI32EqImm16 { result, lhs, rhs } => {
self.execute_select_i32_eq_imm16(result, lhs, rhs)

Check warning on line 455 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L454-L455

Added lines #L454 - L455 were not covered by tests
}
Instr::SelectI64Imm32 { result, lhs } => self.execute_select_i64imm32(result, lhs),
Instr::SelectF64Imm32Rhs { result, lhs } => {
self.execute_select_f64imm32_rhs(result, lhs)
Instr::SelectI32Ne { result, lhs, rhs } => {
self.execute_select_i32_ne(result, lhs, rhs)

Check warning on line 458 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L457-L458

Added lines #L457 - L458 were not covered by tests
}
Instr::SelectF64Imm32Lhs { result, lhs } => {
self.execute_select_f64imm32_lhs(result, lhs)
Instr::SelectI32NeImm16 { result, lhs, rhs } => {
self.execute_select_i32_ne_imm16(result, lhs, rhs)
}
Instr::SelectI32LtS { result, lhs, rhs } => {
self.execute_select_i32_lt_s(result, lhs, rhs)

Check warning on line 464 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L463-L464

Added lines #L463 - L464 were not covered by tests
}
Instr::SelectI32LtSImm16Rhs { result, lhs, rhs } => {
self.execute_select_i32_lt_s_imm16_rhs(result, lhs, rhs)

Check warning on line 467 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L466-L467

Added lines #L466 - L467 were not covered by tests
}
Instr::SelectI32LtSImm16Lhs { result, lhs, rhs } => {
self.execute_select_i32_lt_s_imm16_lhs(result, lhs, rhs)

Check warning on line 470 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L469-L470

Added lines #L469 - L470 were not covered by tests
}
Instr::SelectI32LtU { result, lhs, rhs } => {
self.execute_select_i32_lt_u(result, lhs, rhs)

Check warning on line 473 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L472-L473

Added lines #L472 - L473 were not covered by tests
}
Instr::SelectI32LtUImm16Rhs { result, lhs, rhs } => {
self.execute_select_i32_lt_u_imm16_rhs(result, lhs, rhs)

Check warning on line 476 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L475-L476

Added lines #L475 - L476 were not covered by tests
}
Instr::SelectI32LtUImm16Lhs { result, lhs, rhs } => {
self.execute_select_i32_lt_u_imm16_lhs(result, lhs, rhs)

Check warning on line 479 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L478-L479

Added lines #L478 - L479 were not covered by tests
}
Instr::SelectI32LeS { result, lhs, rhs } => {
self.execute_select_i32_le_s(result, lhs, rhs)

Check warning on line 482 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L481-L482

Added lines #L481 - L482 were not covered by tests
}
Instr::SelectI32LeSImm16Rhs { result, lhs, rhs } => {
self.execute_select_i32_le_s_imm16_rhs(result, lhs, rhs)

Check warning on line 485 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L484-L485

Added lines #L484 - L485 were not covered by tests
}
Instr::SelectI32LeSImm16Lhs { result, lhs, rhs } => {
self.execute_select_i32_le_s_imm16_lhs(result, lhs, rhs)

Check warning on line 488 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L487-L488

Added lines #L487 - L488 were not covered by tests
}
Instr::SelectI32LeU { result, lhs, rhs } => {
self.execute_select_i32_le_u(result, lhs, rhs)

Check warning on line 491 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L490-L491

Added lines #L490 - L491 were not covered by tests
}
Instr::SelectI32LeUImm16Rhs { result, lhs, rhs } => {
self.execute_select_i32_le_u_imm16_rhs(result, lhs, rhs)

Check warning on line 494 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L493-L494

Added lines #L493 - L494 were not covered by tests
}
Instr::SelectI32LeUImm16Lhs { result, lhs, rhs } => {
self.execute_select_i32_le_u_imm16_lhs(result, lhs, rhs)

Check warning on line 497 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L496-L497

Added lines #L496 - L497 were not covered by tests
}
Instr::SelectI32And { result, lhs, rhs } => {
self.execute_select_i32_and(result, lhs, rhs)

Check warning on line 500 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L499-L500

Added lines #L499 - L500 were not covered by tests
}
Instr::SelectI32AndImm16 { result, lhs, rhs } => {
self.execute_select_i32_and_imm16(result, lhs, rhs)

Check warning on line 503 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L502-L503

Added lines #L502 - L503 were not covered by tests
}
Instr::SelectI32Or { result, lhs, rhs } => {
self.execute_select_i32_or(result, lhs, rhs)

Check warning on line 506 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L505-L506

Added lines #L505 - L506 were not covered by tests
}
Instr::SelectI32OrImm16 { result, lhs, rhs } => {
self.execute_select_i32_or_imm16(result, lhs, rhs)

Check warning on line 509 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L508-L509

Added lines #L508 - L509 were not covered by tests
}
Instr::SelectI32Xor { result, lhs, rhs } => {
self.execute_select_i32_xor(result, lhs, rhs)

Check warning on line 512 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L511-L512

Added lines #L511 - L512 were not covered by tests
}
Instr::SelectI32XorImm16 { result, lhs, rhs } => {
self.execute_select_i32_xor_imm16(result, lhs, rhs)

Check warning on line 515 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L514-L515

Added lines #L514 - L515 were not covered by tests
}
Instr::SelectI32Nand { result, lhs, rhs } => {
self.execute_select_i32_nand(result, lhs, rhs)

Check warning on line 518 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L517-L518

Added lines #L517 - L518 were not covered by tests
}
Instr::SelectI32NandImm16 { result, lhs, rhs } => {
self.execute_select_i32_nand_imm16(result, lhs, rhs)

Check warning on line 521 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L520-L521

Added lines #L520 - L521 were not covered by tests
}
Instr::SelectI32Nor { result, lhs, rhs } => {
self.execute_select_i32_nor(result, lhs, rhs)

Check warning on line 524 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L523-L524

Added lines #L523 - L524 were not covered by tests
}
Instr::SelectI32NorImm16 { result, lhs, rhs } => {
self.execute_select_i32_nor_imm16(result, lhs, rhs)

Check warning on line 527 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L526-L527

Added lines #L526 - L527 were not covered by tests
}
Instr::SelectI32Xnor { result, lhs, rhs } => {
self.execute_select_i32_xnor(result, lhs, rhs)

Check warning on line 530 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L529-L530

Added lines #L529 - L530 were not covered by tests
}
Instr::SelectI32XnorImm16 { result, lhs, rhs } => {
self.execute_select_i32_xnor_imm16(result, lhs, rhs)

Check warning on line 533 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L532-L533

Added lines #L532 - L533 were not covered by tests
}
Instr::SelectI64Eq { result, lhs, rhs } => {
self.execute_select_i64_eq(result, lhs, rhs)

Check warning on line 536 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L535-L536

Added lines #L535 - L536 were not covered by tests
}
Instr::SelectI64EqImm16 { result, lhs, rhs } => {
self.execute_select_i64_eq_imm16(result, lhs, rhs)

Check warning on line 539 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L538-L539

Added lines #L538 - L539 were not covered by tests
}
Instr::SelectI64Ne { result, lhs, rhs } => {
self.execute_select_i64_ne(result, lhs, rhs)

Check warning on line 542 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L541-L542

Added lines #L541 - L542 were not covered by tests
}
Instr::SelectI64NeImm16 { result, lhs, rhs } => {
self.execute_select_i64_ne_imm16(result, lhs, rhs)

Check warning on line 545 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L544-L545

Added lines #L544 - L545 were not covered by tests
}
Instr::SelectI64LtS { result, lhs, rhs } => {
self.execute_select_i64_lt_s(result, lhs, rhs)

Check warning on line 548 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L547-L548

Added lines #L547 - L548 were not covered by tests
}
Instr::SelectI64LtSImm16Rhs { result, lhs, rhs } => {
self.execute_select_i64_lt_s_imm16_rhs(result, lhs, rhs)

Check warning on line 551 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L550-L551

Added lines #L550 - L551 were not covered by tests
}
Instr::SelectI64LtSImm16Lhs { result, lhs, rhs } => {
self.execute_select_i64_lt_s_imm16_lhs(result, lhs, rhs)

Check warning on line 554 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L553-L554

Added lines #L553 - L554 were not covered by tests
}
Instr::SelectI64LtU { result, lhs, rhs } => {
self.execute_select_i64_lt_u(result, lhs, rhs)

Check warning on line 557 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L556-L557

Added lines #L556 - L557 were not covered by tests
}
Instr::SelectI64LtUImm16Rhs { result, lhs, rhs } => {
self.execute_select_i64_lt_u_imm16_rhs(result, lhs, rhs)

Check warning on line 560 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L559-L560

Added lines #L559 - L560 were not covered by tests
}
Instr::SelectI64LtUImm16Lhs { result, lhs, rhs } => {
self.execute_select_i64_lt_u_imm16_lhs(result, lhs, rhs)

Check warning on line 563 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L562-L563

Added lines #L562 - L563 were not covered by tests
}
Instr::SelectI64LeS { result, lhs, rhs } => {
self.execute_select_i64_le_s(result, lhs, rhs)

Check warning on line 566 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L565-L566

Added lines #L565 - L566 were not covered by tests
}
Instr::SelectI64LeSImm16Rhs { result, lhs, rhs } => {
self.execute_select_i64_le_s_imm16_rhs(result, lhs, rhs)

Check warning on line 569 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L568-L569

Added lines #L568 - L569 were not covered by tests
}
Instr::SelectI64LeSImm16Lhs { result, lhs, rhs } => {
self.execute_select_i64_le_s_imm16_lhs(result, lhs, rhs)

Check warning on line 572 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L571-L572

Added lines #L571 - L572 were not covered by tests
}
Instr::SelectI64LeU { result, lhs, rhs } => {
self.execute_select_i64_le_u(result, lhs, rhs)

Check warning on line 575 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L574-L575

Added lines #L574 - L575 were not covered by tests
}
Instr::SelectI64LeUImm16Rhs { result, lhs, rhs } => {
self.execute_select_i64_le_u_imm16_rhs(result, lhs, rhs)

Check warning on line 578 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L577-L578

Added lines #L577 - L578 were not covered by tests
}
Instr::SelectI64LeUImm16Lhs { result, lhs, rhs } => {
self.execute_select_i64_le_u_imm16_lhs(result, lhs, rhs)

Check warning on line 581 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L580-L581

Added lines #L580 - L581 were not covered by tests
}
Instr::SelectI64And { result, lhs, rhs } => {
self.execute_select_i64_and(result, lhs, rhs)

Check warning on line 584 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L583-L584

Added lines #L583 - L584 were not covered by tests
}
Instr::SelectI64AndImm16 { result, lhs, rhs } => {
self.execute_select_i64_and_imm16(result, lhs, rhs)

Check warning on line 587 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L586-L587

Added lines #L586 - L587 were not covered by tests
}
Instr::SelectI64Or { result, lhs, rhs } => {
self.execute_select_i64_or(result, lhs, rhs)

Check warning on line 590 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L589-L590

Added lines #L589 - L590 were not covered by tests
}
Instr::SelectI64OrImm16 { result, lhs, rhs } => {
self.execute_select_i64_or_imm16(result, lhs, rhs)

Check warning on line 593 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L592-L593

Added lines #L592 - L593 were not covered by tests
}
Instr::SelectI64Xor { result, lhs, rhs } => {
self.execute_select_i64_xor(result, lhs, rhs)

Check warning on line 596 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L595-L596

Added lines #L595 - L596 were not covered by tests
}
Instr::SelectI64XorImm16 { result, lhs, rhs } => {
self.execute_select_i64_xor_imm16(result, lhs, rhs)

Check warning on line 599 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L598-L599

Added lines #L598 - L599 were not covered by tests
}
Instr::SelectI64Nand { result, lhs, rhs } => {
self.execute_select_i64_nand(result, lhs, rhs)

Check warning on line 602 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L601-L602

Added lines #L601 - L602 were not covered by tests
}
Instr::SelectI64NandImm16 { result, lhs, rhs } => {
self.execute_select_i64_nand_imm16(result, lhs, rhs)

Check warning on line 605 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L604-L605

Added lines #L604 - L605 were not covered by tests
}
Instr::SelectI64Nor { result, lhs, rhs } => {
self.execute_select_i64_nor(result, lhs, rhs)

Check warning on line 608 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L607-L608

Added lines #L607 - L608 were not covered by tests
}
Instr::SelectI64NorImm16 { result, lhs, rhs } => {
self.execute_select_i64_nor_imm16(result, lhs, rhs)

Check warning on line 611 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L610-L611

Added lines #L610 - L611 were not covered by tests
}
Instr::SelectI64Xnor { result, lhs, rhs } => {
self.execute_select_i64_xnor(result, lhs, rhs)

Check warning on line 614 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L613-L614

Added lines #L613 - L614 were not covered by tests
}
Instr::SelectI64XnorImm16 { result, lhs, rhs } => {
self.execute_select_i64_xnor_imm16(result, lhs, rhs)

Check warning on line 617 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L616-L617

Added lines #L616 - L617 were not covered by tests
}
Instr::SelectF32Eq { result, lhs, rhs } => {
self.execute_select_f32_eq(result, lhs, rhs)

Check warning on line 620 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L619-L620

Added lines #L619 - L620 were not covered by tests
}
Instr::SelectF32Ne { result, lhs, rhs } => {
self.execute_select_f32_ne(result, lhs, rhs)

Check warning on line 623 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L622-L623

Added lines #L622 - L623 were not covered by tests
}
Instr::SelectF32Lt { result, lhs, rhs } => {
self.execute_select_f32_lt(result, lhs, rhs)
}
Instr::SelectF32Le { result, lhs, rhs } => {
self.execute_select_f32_le(result, lhs, rhs)
}
Instr::SelectF32NotLt { result, lhs, rhs } => {
self.execute_select_f32_not_lt(result, lhs, rhs)

Check warning on line 632 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L631-L632

Added lines #L631 - L632 were not covered by tests
}
Instr::SelectF32NotLe { result, lhs, rhs } => {
self.execute_select_f32_not_le(result, lhs, rhs)

Check warning on line 635 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L634-L635

Added lines #L634 - L635 were not covered by tests
}
Instr::SelectF64Eq { result, lhs, rhs } => {
self.execute_select_f64_eq(result, lhs, rhs)

Check warning on line 638 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L637-L638

Added lines #L637 - L638 were not covered by tests
}
Instr::SelectF64Ne { result, lhs, rhs } => {
self.execute_select_f64_ne(result, lhs, rhs)

Check warning on line 641 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L640-L641

Added lines #L640 - L641 were not covered by tests
}
Instr::SelectF64Lt { result, lhs, rhs } => {
self.execute_select_f64_lt(result, lhs, rhs)
}
Instr::SelectF64Le { result, lhs, rhs } => {
self.execute_select_f64_le(result, lhs, rhs)
}
Instr::SelectF64NotLt { result, lhs, rhs } => {
self.execute_select_f64_not_lt(result, lhs, rhs)

Check warning on line 650 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L649-L650

Added lines #L649 - L650 were not covered by tests
}
Instr::SelectF64NotLe { result, lhs, rhs } => {
self.execute_select_f64_not_le(result, lhs, rhs)

Check warning on line 653 in crates/wasmi/src/engine/executor/instrs.rs

View check run for this annotation

Codecov / codecov/patch

crates/wasmi/src/engine/executor/instrs.rs#L652-L653

Added lines #L652 - L653 were not covered by tests
}
Instr::SelectF64Imm32 { result, lhs } => self.execute_select_f64imm32(result, lhs),
Instr::RefFunc { result, func } => self.execute_ref_func(result, func),
Instr::GlobalGet { result, global } => {
self.execute_global_get(store.inner(), result, global)
Expand Down
Loading