]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj/x86: VPSHUFD takes an unsigned byte.
authorIlya Tocar <ilya.tocar@intel.com>
Mon, 1 Aug 2016 14:43:24 +0000 (17:43 +0300)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 16 Aug 2016 00:21:50 +0000 (00:21 +0000)
VPSHUFD should take an unsigned argument to be consistent with
PSHUFD. Also fix all usage.

Fixes #16499

Change-Id: Ie699c102afed0379445914a251710365b14d89b6
Reviewed-on: https://go-review.googlesource.com/25383
Run-TryBot: Ilya Tocar <ilya.tocar@intel.com>
Reviewed-by: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/cmd/internal/obj/x86/asm6.go
src/crypto/sha256/sha256block_amd64.s

index 8a299fefe383426b4cc9db5b11d4489bf60243f6..494e422081d2891c73826744c2efa64c552dc743 100644 (file)
@@ -855,8 +855,8 @@ var yvex_ri3 = []ytab{
 }
 
 var yvex_xyi3 = []ytab{
-       {Yi8, Yxm, Yxr, Zvex_i_rm_r, 2},
-       {Yi8, Yym, Yyr, Zvex_i_rm_r, 2},
+       {Yu8, Yxm, Yxr, Zvex_i_rm_r, 2},
+       {Yu8, Yym, Yyr, Zvex_i_rm_r, 2},
 }
 
 var yvex_yyi4 = []ytab{ //TODO don't hide 4 op, some version have xmm version
index 6ab3b52d65e16336b5036f26207d9b9296160d33..6a740f9b59b55cfe9433ed81c022a5d6a7ebe826 100644 (file)
        ADDL    y0, y2;                      \ // y2 = S1 + CH                                  // --
        ;                                    \
        VPXOR   XTMP4, XTMP3, XTMP1;         \ // XTMP1 = s0
-       VPSHUFD $-6, XDWORD3, XTMP2;         \ // XTMP2 = W[-2] {BBAA}
+       VPSHUFD $0xFA, XDWORD3, XTMP2;       \ // XTMP2 = W[-2] {BBAA}
        ORL     T1, y3;                      \ // y3 = MAJ = (a|c)&b)|(a&c)             // MAJ
        ADDL    y1, h;                       \ // h = k + w + h + S0                    // --
        ;                                    \