CVSROOT:        /cvs
Module name:    src
Changes by:     m...@cvs.openbsd.org    2015/07/17 14:25:42

Modified files:
        gnu/usr.bin/binutils-2.17/opcodes: i386-dis.c 

Log message:
Correctly consume mandatory 0x66 prefix when disassembling
aes{dec{,last},enc{,last},imc} instructions (regression in 2.17).

Correctly disassemble aeskeygenassist.

Before (binutils 2.15):
0:   66 0f 38 db c8          aesimc %xmm0,%xmm1
5:   66 0f 3a 44 da 04       pclmulqdq $0x4,%xmm2,%xmm3
b:   66 0f 3a 44 ec 10       pclmullqhqdq %xmm4,%xmm5
11:   66                      data16
12:   0f                      .byte 0xf
13:   3a df                   cmp    %bh,%bl
15:   fe 08                   decb   (%rax)

Currently (binutils 2.17):
0:   66                      data16
1:   0f 38 db                aesimc %xmm1,%xmm1
4:   c8 66 0f 3a             enterq $0xf66,$0x3a
8:   44 da 04 66             rexX fiaddl (%rsi,2)
c:   0f 3a 44 ec 10          pclmullqhqdq %xmm4,%xmm5
11:   66                      data16
12:   0f                      .byte 0xf
13:   3a df                   cmp    %bh,%bl
15:   fe 08                   decb   (%rax)

With these changes:
0:   66 0f 38 db c8          aesimc %xmm0,%xmm1
5:   66 0f 3a 44 da 04       pclmulqdq $0x4,%xmm2,%xmm3
b:   66 0f 3a 44 ec 10       pclmullqhqdq %xmm4,%xmm5
11:   66 0f 3a df fe 08       aeskeygenassist  $0x8,%xmm6,%xmm7

Reply via email to