Make the types module public, add documentation comments.
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
//====--------------------------------------------------------------------------------------====//
|
// ====------------------------------------------------------------------------------------==== //
|
||||||
//
|
//
|
||||||
// Cretonne code generation library.
|
// Cretonne code generation library.
|
||||||
//
|
//
|
||||||
//====--------------------------------------------------------------------------------------====//
|
// ====------------------------------------------------------------------------------------==== //
|
||||||
|
|
||||||
mod types;
|
pub mod types;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use std::fmt::{self, Display, Formatter, Write};
|
|||||||
|
|
||||||
/// The type of an SSA value.
|
/// The type of an SSA value.
|
||||||
///
|
///
|
||||||
/// The VOID type is only used for instructions that produce no value. It can't be part of a SIMD
|
/// The `VOID` type is only used for instructions that produce no value. It can't be part of a SIMD
|
||||||
/// vector.
|
/// vector.
|
||||||
///
|
///
|
||||||
/// Basic integer types: `I8`, `I16`, `I32`, and `I64`. These types are sign-agnostic.
|
/// Basic integer types: `I8`, `I16`, `I32`, and `I64`. These types are sign-agnostic.
|
||||||
@@ -20,20 +20,41 @@ use std::fmt::{self, Display, Formatter, Write};
|
|||||||
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
|
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
|
||||||
pub struct Type(u8);
|
pub struct Type(u8);
|
||||||
|
|
||||||
|
/// No type. Used for functions without a return value. Can't be loaded or stored. Can't be part of
|
||||||
|
/// a SIMD vector.
|
||||||
pub const VOID: Type = Type(0);
|
pub const VOID: Type = Type(0);
|
||||||
|
|
||||||
|
/// Integer type with 8 bits.
|
||||||
pub const I8: Type = Type(1);
|
pub const I8: Type = Type(1);
|
||||||
|
|
||||||
|
/// Integer type with 16 bits.
|
||||||
pub const I16: Type = Type(2);
|
pub const I16: Type = Type(2);
|
||||||
|
|
||||||
|
/// Integer type with 32 bits.
|
||||||
pub const I32: Type = Type(3);
|
pub const I32: Type = Type(3);
|
||||||
|
|
||||||
|
/// Integer type with 64 bits.
|
||||||
pub const I64: Type = Type(4);
|
pub const I64: Type = Type(4);
|
||||||
|
|
||||||
|
/// IEEE single precision floating point type.
|
||||||
pub const F32: Type = Type(5);
|
pub const F32: Type = Type(5);
|
||||||
|
|
||||||
|
/// IEEE double precision floating point type.
|
||||||
pub const F64: Type = Type(6);
|
pub const F64: Type = Type(6);
|
||||||
|
|
||||||
|
/// Boolean type. Can't be loaded or stored, but can be used to form SIMD vectors.
|
||||||
pub const B1: Type = Type(7);
|
pub const B1: Type = Type(7);
|
||||||
|
|
||||||
|
/// Boolean type using 8 bits to represent true/false.
|
||||||
pub const B8: Type = Type(8);
|
pub const B8: Type = Type(8);
|
||||||
|
|
||||||
|
/// Boolean type using 16 bits to represent true/false.
|
||||||
pub const B16: Type = Type(9);
|
pub const B16: Type = Type(9);
|
||||||
|
|
||||||
|
/// Boolean type using 32 bits to represent true/false.
|
||||||
pub const B32: Type = Type(10);
|
pub const B32: Type = Type(10);
|
||||||
|
|
||||||
|
/// Boolean type using 64 bits to represent true/false.
|
||||||
pub const B64: Type = Type(11);
|
pub const B64: Type = Type(11);
|
||||||
|
|
||||||
impl Type {
|
impl Type {
|
||||||
|
|||||||
Reference in New Issue
Block a user