-
Notifications
You must be signed in to change notification settings - Fork 18.3k
Open
Labels
NeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.early-in-cycleA change that should be done early in the 3 month dev cycle.A change that should be done early in the 3 month dev cycle.
Milestone
Description
I have constructed a fairly exhaustive test suite for the x86 assembler and identified some problems. The ones in this issue are long-time bugs that appear to have been present since the beginning of the Go project. We should fix them but given the history there is no need to rush the fixes into Go 1.6.
This may not be all of them: my tests don't account for some Go renamings of instructions.
I intend to fix these and check in the tests.
ADCB (BX), DL: have encoding "1013", want "1213"
0: 10 13 adc %dl,(%rbx)
0: 12 13 adc (%rbx),%dl
ANDPS (BX), X2: have encoding "660f5413", want "0f5413"
0: 66 0f 54 13 andpd (%rbx),%xmm2
0: 0f 54 13 andps (%rbx),%xmm2
CMOVLEQ (BX), DX: have encoding "0f4413", want "480f4e13"
0: 0f 44 13 cmove (%rbx),%edx
0: 48 0f 4e 13 cmovle (%rbx),%rdx
MOVQ 0x123456789abcdef1, AX: have encoding "488b0425f1debc9a", want "48a1f1debc9a78563412"
0: 48 8b 04 25 f1 de bc mov 0xffffffff9abcdef1,%rax
7: 9a
0: 48 a1 f1 de bc 9a 78 movabs 0x123456789abcdef1,%rax
7: 56 34 12
MOVQ AX, $0x123456789abcdef1: have encoding "48890425f1debc9a", want "48a3f1debc9a78563412"
0: 48 89 04 25 f1 de bc mov %rax,0xffffffff9abcdef1
7: 9a
0: 48 a3 f1 de bc 9a 78 movabs %rax,0x123456789abcdef1
7: 56 34 12
Metadata
Metadata
Assignees
Labels
NeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.early-in-cycleA change that should be done early in the 3 month dev cycle.A change that should be done early in the 3 month dev cycle.