cranelift: Fix fdemote on the interpreter (#5158)

* cranelift: Cleanup `fdemote`/`fpromote` tests

* cranelift: Fix `fdemote`/`fpromote` instruction docs

The verifier fails if the input and output types are the same
for these instructions

* cranelift: Fix `fdemote`/`fpromote` in the interpreter

* fuzzgen: Add `fdemote`/`fpromote`
This commit is contained in:
Afonso Bordado
2022-11-15 22:22:00 +00:00
committed by GitHub
parent a007e02bd2
commit a793648eb2
8 changed files with 249 additions and 100 deletions

View File

@@ -831,6 +831,10 @@ const OPCODE_SIGNATURES: &'static [(
// Nearest
(Opcode::Nearest, &[F32], &[F32], insert_opcode),
(Opcode::Nearest, &[F64], &[F64], insert_opcode),
// Fpromote
(Opcode::Fpromote, &[F32], &[F64], insert_opcode),
// Fdemote
(Opcode::Fdemote, &[F64], &[F32], insert_opcode),
// FcvtToUint
// TODO: Some ops disabled:
// x64: https://github.com/bytecodealliance/wasmtime/issues/4897