]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj/x86: fix adcb r/mem8,reg8 encoding
authorDamien Lespiau <damien.lespiau@intel.com>
Wed, 26 Apr 2017 15:53:02 +0000 (16:53 +0100)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 26 Apr 2017 20:41:12 +0000 (20:41 +0000)
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>
src/cmd/asm/internal/asm/testdata/amd64enc.s
src/cmd/internal/obj/x86/asm6.go

index 3d6061f839287d56ebcdcb79398f042a9468db5b..72f29c8fbd5cfaf92b1aa68f6c6292304340e50c 100644 (file)
@@ -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
index 630ef526dfd39dd86f9ae539570112288d63cfca..e2270747ce1bb2b96c9977807a1a25905dc29598 100644 (file)
@@ -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}},