internal/load: support additional MOVQ forms

The Go assembler merges MOVD/MOVQ instruction forms. The logic in the
avo instruction loader was discarding the MOVD forms. This diff should
merge them correctly.

Updates #50
This commit is contained in:
Michael McLoughlin
2019-01-20 22:32:44 -08:00
parent 5dc9498dac
commit 220969f8c8
11 changed files with 280 additions and 1 deletions

View File

@@ -76,6 +76,9 @@ func (l *Loader) Load() ([]inst.Instruction, error) {
// Apply list of aliases.
for from, to := range aliases {
if existing, found := im[from]; found {
im[to].Forms = append(im[to].Forms, existing.Forms...)
}
cpy := *im[to]
cpy.Opcode = from
cpy.AliasOf = to