cranelift: Remove booleans (#5031)
Remove the boolean types from cranelift, and the associated instructions breduce, bextend, bconst, and bint. Standardize on using 1/0 for the return value from instructions that produce scalar boolean results, and -1/0 for boolean vector elements. Fixes #3205 Co-authored-by: Afonso Bordado <afonso360@users.noreply.github.com> Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com> Co-authored-by: Chris Fallin <chris@cfallin.org>
This commit is contained in:
@@ -378,7 +378,7 @@ pub trait FuncEnvironment: TargetEnvironment {
|
||||
value: ir::Value,
|
||||
) -> WasmResult<ir::Value> {
|
||||
let is_null = pos.ins().is_null(value);
|
||||
Ok(pos.ins().bint(ir::types::I32, is_null))
|
||||
Ok(pos.ins().uextend(ir::types::I32, is_null))
|
||||
}
|
||||
|
||||
/// Translate a `ref.func` WebAssembly instruction.
|
||||
|
||||
Reference in New Issue
Block a user