diff options
| author | Damien Lespiau <damien.lespiau@intel.com> | 2017-04-26 16:53:02 +0100 |
|---|---|---|
| committer | Brad Fitzpatrick <bradfitz@golang.org> | 2017-04-26 20:41:12 +0000 |
| commit | 92d918da032fa229e2909c0bdacbf8587bb96e08 (patch) | |
| tree | 37a1dadd45b9b70f57df55f834fe405da2afc0a5 /src | |
| parent | 92607fdd304c1d2f1be243a8bf0fc1b8224d2c18 (diff) | |
| download | go-92d918da032fa229e2909c0bdacbf8587bb96e08.tar.xz | |
cmd/internal/obj/x86: fix adcb r/mem8,reg8 encoding
Taken from the Intel Software Development Manual (of course, in the line
below it's ADC DST, SRC; The opposite of the commit subject).
12 /r ADC r8, r/m8
We need 0x12 for the corresponding ytab line, not 0x10.
{Ymb, Ynone, Yrb, Zm_r, 1},
Updates #14069
Change-Id: Id37cbd0c581c9988c2de355efa908956278e2189
Reviewed-on: https://go-review.googlesource.com/41857
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/asm/internal/asm/testdata/amd64enc.s | 8 | ||||
| -rw-r--r-- | src/cmd/internal/obj/x86/asm6.go | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/cmd/asm/internal/asm/testdata/amd64enc.s b/src/cmd/asm/internal/asm/testdata/amd64enc.s index 3d6061f839..72f29c8fbd 100644 --- a/src/cmd/asm/internal/asm/testdata/amd64enc.s +++ b/src/cmd/asm/internal/asm/testdata/amd64enc.s @@ -80,10 +80,10 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$0 ADCQ (R11), DX // 491313 ADCQ (BX), R11 // 4c131b ADCQ (R11), R11 // 4d131b - //TODO: ADCB (BX), DL // 1213 - //TODO: ADCB (R11), DL // 411213 - //TODO: ADCB (BX), R11 // 44121b - //TODO: ADCB (R11), R11 // 45121b + ADCB (BX), DL // 1213 + ADCB (R11), DL // 411213 + ADCB (BX), R11 // 44121b + ADCB (R11), R11 // 45121b //TODO: ADCXL (BX), DX // 660f38f613 //TODO: ADCXL (R11), DX // 66410f38f613 //TODO: ADCXL DX, DX // 660f38f6d2 diff --git a/src/cmd/internal/obj/x86/asm6.go b/src/cmd/internal/obj/x86/asm6.go index 630ef526df..e2270747ce 100644 --- a/src/cmd/internal/obj/x86/asm6.go +++ b/src/cmd/internal/obj/x86/asm6.go @@ -945,7 +945,7 @@ var optab = {AAAD, ynone, P32, [23]uint8{0xd5, 0x0a}}, {AAAM, ynone, P32, [23]uint8{0xd4, 0x0a}}, {AAAS, ynone, P32, [23]uint8{0x3f}}, - {AADCB, yxorb, Pb, [23]uint8{0x14, 0x80, 02, 0x10, 0x10}}, + {AADCB, yxorb, Pb, [23]uint8{0x14, 0x80, 02, 0x10, 0x12}}, {AADCL, yaddl, Px, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}}, {AADCQ, yaddl, Pw, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}}, {AADCW, yaddl, Pe, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}}, |
