#ifndef _rename_types_fs
#define _rename_types_fs
/******************************************************************************
** FILE: rename_types.fs
** Facile types used to implement register renaming.
*/
//
// SrcRef: represent instruction source data.
type SrcRef = struct {
rtype : uchar, // kind of register (0 => literal)
regnum : uchar, // register number, if src already committed
bypass : uchar, // identify bypass instruction, if not committed
outnum : uchar, // identifies output from bypass instruction
literal : ulong // literal source argument
};
//
// DestRef: identifies instruction destination register.
type DestRef = struct {
rtype : uchar, // kind of register
regnum : uchar // register index
};
//
// DestBuf: contains computed register values before
// they are commited to the register file.
type DestBuf = unsigned[64] array[3];
#endif