From: Carlos Eduardo Seo Date: Tue, 11 Apr 2017 18:37:38 +0000 (-0300) Subject: crypto/aes: fix wrong instruction on ppc64le implementation X-Git-Tag: go1.9beta1~744 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d6dd7ce1c5eb0df4694f9f8ad09dc47d8d689690;p=gostls13.git crypto/aes: fix wrong instruction on ppc64le implementation In the newest AES implementation in asm for ppc64le, this part MOVW $·rcon(SB), PTR should be MOVD $·rcon(SB), PTR since it is loading a doubleword value into PTR. Change-Id: I7e3d6ad87a2237015aeeb30c68fb409a18f2801c Reviewed-on: https://go-review.googlesource.com/40298 Reviewed-by: Lynn Boger --- diff --git a/src/crypto/aes/asm_ppc64le.s b/src/crypto/aes/asm_ppc64le.s index 35fd8b0fad..05e0018a3e 100644 --- a/src/crypto/aes/asm_ppc64le.s +++ b/src/crypto/aes/asm_ppc64le.s @@ -84,7 +84,7 @@ TEXT ·doEncryptKeyAsm(SB),NOSPLIT|NOFRAME,$0 ANDCC $0x3f, BITS, TEMP // andi. 0,4,0x3f multiple of 64 BC 0x06, 2, enc_key_abort // bne- .Lenc_key_abort - MOVW $·rcon(SB), PTR // PTR point to rcon addr + MOVD $·rcon(SB), PTR // PTR point to rcon addr // Get key from memory and write aligned into VR NEG INP, R9 // neg 9,3 R9 is ~INP + 1