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

@@ -6217,6 +6217,34 @@ var Instructions = []Instruction{
{Type: "m64", Action: 0x2},
},
},
{
ISA: []string{"SSE2"},
Operands: []Operand{
{Type: "xmm", Action: 0x1},
{Type: "r32", Action: 0x2},
},
},
{
ISA: []string{"SSE2"},
Operands: []Operand{
{Type: "r32", Action: 0x1},
{Type: "xmm", Action: 0x2},
},
},
{
ISA: []string{"SSE2"},
Operands: []Operand{
{Type: "m32", Action: 0x1},
{Type: "xmm", Action: 0x2},
},
},
{
ISA: []string{"SSE2"},
Operands: []Operand{
{Type: "xmm", Action: 0x1},
{Type: "m32", Action: 0x2},
},
},
},
},
{
@@ -6764,6 +6792,34 @@ var Instructions = []Instruction{
{Type: "m64", Action: 0x2},
},
},
{
ISA: []string{"SSE2"},
Operands: []Operand{
{Type: "xmm", Action: 0x1},
{Type: "r32", Action: 0x2},
},
},
{
ISA: []string{"SSE2"},
Operands: []Operand{
{Type: "r32", Action: 0x1},
{Type: "xmm", Action: 0x2},
},
},
{
ISA: []string{"SSE2"},
Operands: []Operand{
{Type: "m32", Action: 0x1},
{Type: "xmm", Action: 0x2},
},
},
{
ISA: []string{"SSE2"},
Operands: []Operand{
{Type: "xmm", Action: 0x1},
{Type: "m32", Action: 0x2},
},
},
},
},
{