Commit Graph

9 Commits

Author SHA1 Message Date
Jakob Stoklund Olesen
f72f47aece Replace bool with b1, b8, b16, ...
The b1 type is an abstract boolean value. The others are concrete
representations.
2016-04-05 10:45:00 -07:00
Jakob Stoklund Olesen
ad07f67331 Move constant instructions into meta.
Add new immediate types for floating point and vector immediates.
Use new immediates to define the constant value instructions in meta.

Split the fconst instruction into two: f32const and f64const. This prevents
confusion about the interpretation of 64 immediate bits when generating an f32
constant.

Add an immvector ImmediateType. This immediate type is variable length, and
provides all the bits of a SIMD vector directly.
2016-04-01 10:08:57 -07:00
Jakob Stoklund Olesen
a2db4b680e Move instruction definitions into meta.
Use the meta language to define instructions, just insert 'autoinst' references
in langref.
2016-04-01 10:08:57 -07:00
Jakob Olesen
20183554a4 Add Instruction and Operand classes to the meta language. 2016-04-01 10:08:57 -07:00
Jakob Stoklund Olesen
05de34b1a3 Add ImmediateType for declaring immediate operands. 2016-03-30 14:17:42 -07:00
Jakob Olesen
3d67d4d6b9 Add type variables. 2016-03-16 10:41:24 -07:00
Jakob Olesen
a37005a1d4 Enable inheritance diagrams. 2016-02-09 08:11:20 -08:00
Jakob Olesen
19b4facbe0 Add a TypeDocumenter for Cretonne types.
Use the autodoc Sphinx module to add a .. autoctontype:: directive which
generates documentation for one of the types in the cretonne.types module.
2016-02-09 06:55:53 -08:00
Jakob Olesen
c459c11a5a Begin defining the meta language.
The Cretonne meta language is used to describe Cretonne instructions, both the
target independent ones in the base instruction set and real target
instructions.

Start by providing type definitions matching langref, and begin the meta
language reference using autodoc to pull in the PYthon definitions.
2016-02-04 19:51:38 -08:00