Immediates

From Mill Computing Wiki
Jump to: navigation, search

There is a wide variety of immediate values encoded directly into the instruction stream. Those values are immediately usable by the functional units or dropped into the belt with no latency.
Most immediate values are morsel-sized.

bit

A morsel sized bit index or count on the exu side.

constant

A large immediate constant value accumulated from the extensions and manifests of one or more ganged flow slots.

count

A morsel sized count of the amount of arguments to call or loop.

imm

This is a normal immediate argument for operations on the exu side. They are morsel-sized. The exact interpretation of the bit pattern depends on the operation domain, but usually are signed or unsigned integers.

lbl

A label on the flow side is encoded as a manifest constant of up to 32bit and is interpreted relative to the EBB or a special registerm depending on operation.

lit

An immediate value on the flow side stored in an extension slot of morsel-size.

memAttr

Some load and store operations can have special behaviors specified.

NaR

Speciefies the type of NaR to create in the NaR operation.

off

Similarly to labels, those are manifest constants interpretet relative to the current EBB or special registers. But offsets are for data, not for code. In some operations the offsets are also used to encode argument lists.

scale

For indexed memory accesses this encodes the element size for the address calculation.

width

Encodes byte widths or element widths of belt values in a morsel.

widths

The retire operation needs to specify many widths for the generated dummy arguments.