; The smallest possible function. function minimal() { ebb0: trap } ; Create and use values. ; Polymorphic instructions with type suffix. function ivalues() { ebb0: v0 = iconst.i32 2 v1 = iconst.i8 6 v2 = ishl v0, v1 } ; Polymorphic istruction controlled by second operand. function select() { ebb0(vx0: i32, vx1: i32, vx2: b1): v0 = select vx2, vx0, vx1 } ; Lane indexes. function lanes() { ebb0: v0 = iconst.i32x4 2 v1 = extractlane v0, 3 v2 = insertlane v0, 1, v1 } ; Integer condition codes. function icmp(i32, i32) { ebb0(vx0: i32, vx1: i32): v0 = icmp eq, vx0, vx1 v1 = icmp ult, vx0, vx1 v2 = icmp sge, vx0, vx1 } ; Floating condition codes. function fcmp(f32, f32) { ebb0(vx0: f32, vx1: f32): v0 = fcmp eq, vx0, vx1 v1 = fcmp uno, vx0, vx1 v2 = fcmp lt, vx0, vx1 } ; The bitcast instruction has two type variables: The controlling type variable ; controls the outout type, and the input type is a free variable. function bitcast(i32, f32) { ebb0(vx0: i32, vx1: f32): v0 = bitcast.i8x4 vx0 v1 = bitcast.i32 vx1 }