(&mut self)
| 3530 | } |
| 3531 | |
| 3532 | fn visit_v128_bitselect(&mut self) -> Self::Output { |
| 3533 | let mask = self.context.pop_to_reg(self.masm, None)?; |
| 3534 | let op2 = self.context.pop_to_reg(self.masm, None)?; |
| 3535 | let op1 = self.context.pop_to_reg(self.masm, None)?; |
| 3536 | let dst = self.context.any_fpr(self.masm)?; |
| 3537 | |
| 3538 | // careful here: bitselect is *not* commutative. |
| 3539 | self.masm |
| 3540 | .v128_bitselect(op1.reg, op2.reg, mask.reg, writable!(dst))?; |
| 3541 | |
| 3542 | self.context |
| 3543 | .stack |
| 3544 | .push(TypedReg::new(WasmValType::V128, dst).into()); |
| 3545 | self.context.free_reg(op1); |
| 3546 | self.context.free_reg(op2); |
| 3547 | self.context.free_reg(mask); |
| 3548 | |
| 3549 | Ok(()) |
| 3550 | } |
| 3551 | |
| 3552 | fn visit_v128_any_true(&mut self) -> Self::Output { |
| 3553 | let src = self.context.pop_to_reg(self.masm, None)?; |
nothing calls this directly
no test coverage detected