add Symbol type to operand

This commit is contained in:
Michael McLoughlin
2018-12-06 17:26:33 -08:00
parent e42eb1fb8c
commit 676ec39c51
5 changed files with 61 additions and 7 deletions

View File

@@ -2,13 +2,15 @@ package reg
// Register families.
const (
GP Kind = iota
Internal Kind = iota
GP
MMX
SSEAVX
Mask
)
var Families = []*Family{
Pseudo,
GeneralPurpose,
SIMD,
}
@@ -25,6 +27,16 @@ func FamilyOfKind(k Kind) *Family {
return familiesByKind[k]
}
// Pseudo registers.
var (
Pseudo = &Family{Kind: Internal}
FramePointer = Pseudo.define(S0, 0, "FP")
ProgramCounter = Pseudo.define(S0, 0, "PC")
StaticBase = Pseudo.define(S0, 0, "SB")
StackPointer = Pseudo.define(S0, 0, "SP")
)
// General purpose registers.
var (
GeneralPurpose = &Family{Kind: GP}