cranelift_codegen::ir

Module types

Source
Expand description

Common types for the Cranelift code generator.

Structs§

Type
The type of an SSA value.

Constants§

F16
A 16-bit floating point type represented in the IEEE 754-2008 binary16 interchange format. This corresponds to the :c:type:_Float16 type in most C implementations. WARNING: f16 support is a work-in-progress and is incomplete
F32
A 32-bit floating point type represented in the IEEE 754-2008 binary32 interchange format. This corresponds to the :c:type:float type in most C implementations.
F64
A 64-bit floating point type represented in the IEEE 754-2008 binary64 interchange format. This corresponds to the :c:type:double type in most C implementations.
F16X2
A SIMD vector with 2 lanes containing a f16 each.
F16X4
A SIMD vector with 4 lanes containing a f16 each.
F16X8
A SIMD vector with 8 lanes containing a f16 each.
F16X2XN
A dynamically-scaled SIMD vector with a minimum of 2 lanes containing f16 bits each.
F16X4XN
A dynamically-scaled SIMD vector with a minimum of 4 lanes containing f16 bits each.
F16X8XN
A dynamically-scaled SIMD vector with a minimum of 8 lanes containing f16 bits each.
F16X16
A SIMD vector with 16 lanes containing a f16 each.
F16X32
A SIMD vector with 32 lanes containing a f16 each.
F16X16XN
A dynamically-scaled SIMD vector with a minimum of 16 lanes containing f16 bits each.
F16X32XN
A dynamically-scaled SIMD vector with a minimum of 32 lanes containing f16 bits each.
F32X2
A SIMD vector with 2 lanes containing a f32 each.
F32X4
A SIMD vector with 4 lanes containing a f32 each.
F32X8
A SIMD vector with 8 lanes containing a f32 each.
F32X2XN
A dynamically-scaled SIMD vector with a minimum of 2 lanes containing f32 bits each.
F32X4XN
A dynamically-scaled SIMD vector with a minimum of 4 lanes containing f32 bits each.
F32X8XN
A dynamically-scaled SIMD vector with a minimum of 8 lanes containing f32 bits each.
F32X16
A SIMD vector with 16 lanes containing a f32 each.
F32X16XN
A dynamically-scaled SIMD vector with a minimum of 16 lanes containing f32 bits each.
F64X2
A SIMD vector with 2 lanes containing a f64 each.
F64X4
A SIMD vector with 4 lanes containing a f64 each.
F64X8
A SIMD vector with 8 lanes containing a f64 each.
F64X2XN
A dynamically-scaled SIMD vector with a minimum of 2 lanes containing f64 bits each.
F64X4XN
A dynamically-scaled SIMD vector with a minimum of 4 lanes containing f64 bits each.
F64X8XN
A dynamically-scaled SIMD vector with a minimum of 8 lanes containing f64 bits each.
F128
A 128-bit floating point type represented in the IEEE 754-2008 binary128 interchange format. This corresponds to the :c:type:_Float128 type in most C implementations. WARNING: f128 support is a work-in-progress and is incomplete
F128X2
A SIMD vector with 2 lanes containing a f128 each.
F128X4
A SIMD vector with 4 lanes containing a f128 each.
F128X2XN
A dynamically-scaled SIMD vector with a minimum of 2 lanes containing f128 bits each.
F128X4XN
A dynamically-scaled SIMD vector with a minimum of 4 lanes containing f128 bits each.
I8
An integer type with 8 bits. WARNING: arithmetic on 8bit integers is incomplete
I8X2
A SIMD vector with 2 lanes containing a i8 each.
I8X4
A SIMD vector with 4 lanes containing a i8 each.
I8X8
A SIMD vector with 8 lanes containing a i8 each.
I8X2XN
A dynamically-scaled SIMD vector with a minimum of 2 lanes containing i8 bits each.
I8X4XN
A dynamically-scaled SIMD vector with a minimum of 4 lanes containing i8 bits each.
I8X8XN
A dynamically-scaled SIMD vector with a minimum of 8 lanes containing i8 bits each.
I8X16
A SIMD vector with 16 lanes containing a i8 each.
I8X32
A SIMD vector with 32 lanes containing a i8 each.
I8X64
A SIMD vector with 64 lanes containing a i8 each.
I8X16XN
A dynamically-scaled SIMD vector with a minimum of 16 lanes containing i8 bits each.
I8X32XN
A dynamically-scaled SIMD vector with a minimum of 32 lanes containing i8 bits each.
I8X64XN
A dynamically-scaled SIMD vector with a minimum of 64 lanes containing i8 bits each.
I16
An integer type with 16 bits. WARNING: arithmetic on 16bit integers is incomplete
I32
An integer type with 32 bits.
I64
An integer type with 64 bits.
I16X2
A SIMD vector with 2 lanes containing a i16 each.
I16X4
A SIMD vector with 4 lanes containing a i16 each.
I16X8
A SIMD vector with 8 lanes containing a i16 each.
I16X2XN
A dynamically-scaled SIMD vector with a minimum of 2 lanes containing i16 bits each.
I16X4XN
A dynamically-scaled SIMD vector with a minimum of 4 lanes containing i16 bits each.
I16X8XN
A dynamically-scaled SIMD vector with a minimum of 8 lanes containing i16 bits each.
I16X16
A SIMD vector with 16 lanes containing a i16 each.
I16X32
A SIMD vector with 32 lanes containing a i16 each.
I16X16XN
A dynamically-scaled SIMD vector with a minimum of 16 lanes containing i16 bits each.
I16X32XN
A dynamically-scaled SIMD vector with a minimum of 32 lanes containing i16 bits each.
I32X2
A SIMD vector with 2 lanes containing a i32 each.
I32X4
A SIMD vector with 4 lanes containing a i32 each.
I32X8
A SIMD vector with 8 lanes containing a i32 each.
I32X2XN
A dynamically-scaled SIMD vector with a minimum of 2 lanes containing i32 bits each.
I32X4XN
A dynamically-scaled SIMD vector with a minimum of 4 lanes containing i32 bits each.
I32X8XN
A dynamically-scaled SIMD vector with a minimum of 8 lanes containing i32 bits each.
I32X16
A SIMD vector with 16 lanes containing a i32 each.
I32X16XN
A dynamically-scaled SIMD vector with a minimum of 16 lanes containing i32 bits each.
I64X2
A SIMD vector with 2 lanes containing a i64 each.
I64X4
A SIMD vector with 4 lanes containing a i64 each.
I64X8
A SIMD vector with 8 lanes containing a i64 each.
I64X2XN
A dynamically-scaled SIMD vector with a minimum of 2 lanes containing i64 bits each.
I64X4XN
A dynamically-scaled SIMD vector with a minimum of 4 lanes containing i64 bits each.
I64X8XN
A dynamically-scaled SIMD vector with a minimum of 8 lanes containing i64 bits each.
I128
An integer type with 128 bits.
I128X2
A SIMD vector with 2 lanes containing a i128 each.
I128X4
A SIMD vector with 4 lanes containing a i128 each.
I128X2XN
A dynamically-scaled SIMD vector with a minimum of 2 lanes containing i128 bits each.
I128X4XN
A dynamically-scaled SIMD vector with a minimum of 4 lanes containing i128 bits each.
INVALID
Not a valid type. Can’t be loaded or stored. Can’t be part of a SIMD vector.