Given this data.txt
file that includes all encodings from new end2end tests:
c5f970ffb1
c4e37bf010ff
c4e3fbf010ff
c5f970d1ff
c5fd70d1ff
c5fa70d1ff
c5fe70d1ff
c5fb70d1ff
c5ff70d1ff
c4e37909d1ff
c4e37d08d1ff
c5e972f1ff
c5ed72f1ff
c5e973f9ff
c5ed73f9ff
c5e973f1ff
c5ed73f1ff
c5e972d1ff
c5ed72d1ff
c5e973d9ff
c5ed73d9ff
c5e973d1ff
c5ed73d1ff
c4e3791508ff
c4e37915c8ff
c4e37d19caff
c4e37d39caff
c4e379dfd1ff
c4e37961d1ff
c4e37960d1ff
c4e37963d1ff
c4e37962d1ff
c4e3fd01d1ff
c4e37905d1ff
c4e37d05d1ff
c4e37904d1ff
c4e37d04d1ff
c4e3791dcaff
c4e37d1dcaff
c5e971f1ff
c5ed71f1ff
c5e972e1ff
c5ed72e1ff
c5e971e1ff
c5ed71e1ff
c5f171d1ff
c5ed71d1ff
c4e37917c8ff
c4e37914c8ff
c4e37916c8ff
c4e3f916c8ff
./xed -64 -A -ih data.txt
XDIS 0: AVX AVX C5F970FFB1 vpshufd $0xb1, %xmm7, %xmm7
XDIS 5: BMI2 BMI2 C4E37BF010FF rorxl $0xff, (%rax), %edx
XDIS b: BMI2 BMI2 C4E3FBF010FF rorxq $0xff, (%rax), %rdx
XDIS 11: AVX AVX C5F970D1FF vpshufd $0xff, %xmm1, %xmm2
XDIS 16: AVX2 AVX2 C5FD70D1FF vpshufd $0xff, %ymm1, %ymm2
XDIS 1b: AVX AVX C5FA70D1FF vpshufhw $0xff, %xmm1, %xmm2
XDIS 20: AVX2 AVX2 C5FE70D1FF vpshufhw $0xff, %ymm1, %ymm2
XDIS 25: AVX AVX C5FB70D1FF vpshuflw $0xff, %xmm1, %xmm2
XDIS 2a: AVX2 AVX2 C5FF70D1FF vpshuflw $0xff, %ymm1, %ymm2
XDIS 2f: AVX AVX C4E37909D1FF vroundpd $0xff, %xmm1, %xmm2
XDIS 35: AVX AVX C4E37D08D1FF vroundps $0xff, %ymm1, %ymm2
XDIS 3b: AVX AVX C5E972F1FF vpslld $0xff, %xmm1, %xmm2
XDIS 40: AVX2 AVX2 C5ED72F1FF vpslld $0xff, %ymm1, %ymm2
XDIS 45: AVX AVX C5E973F9FF vpslldq $0xff, %xmm1, %xmm2
XDIS 4a: AVX2 AVX2 C5ED73F9FF vpslldq $0xff, %ymm1, %ymm2
XDIS 4f: AVX AVX C5E973F1FF vpsllq $0xff, %xmm1, %xmm2
XDIS 54: AVX2 AVX2 C5ED73F1FF vpsllq $0xff, %ymm1, %ymm2
XDIS 59: AVX AVX C5E972D1FF vpsrld $0xff, %xmm1, %xmm2
XDIS 5e: AVX2 AVX2 C5ED72D1FF vpsrld $0xff, %ymm1, %ymm2
XDIS 63: AVX AVX C5E973D9FF vpsrldq $0xff, %xmm1, %xmm2
XDIS 68: AVX2 AVX2 C5ED73D9FF vpsrldq $0xff, %ymm1, %ymm2
XDIS 6d: AVX AVX C5E973D1FF vpsrlq $0xff, %xmm1, %xmm2
XDIS 72: AVX2 AVX2 C5ED73D1FF vpsrlq $0xff, %ymm1, %ymm2
XDIS 77: AVX AVX C4E3791508FF vpextrww $0xff, %xmm1, (%rax)
XDIS 7d: AVX AVX C4E37915C8FF vpextrw $0xff, %xmm1, %eax
XDIS 83: AVX AVX C4E37D19CAFF vextractf128 $0xff, %ymm1, %xmm2
XDIS 89: AVX2 AVX2 C4E37D39CAFF vextracti128 $0xff, %ymm1, %xmm2
XDIS 8f: AES AVXAES C4E379DFD1FF vaeskeygenassist $0xff, %xmm1, %xmm2
XDIS 95: STTNI AVX C4E37961D1FF vpcmpestri $0xff, %xmm1, %xmm2
XDIS 9b: STTNI AVX C4E37960D1FF vpcmpestrm $0xff, %xmm1, %xmm2
XDIS a1: STTNI AVX C4E37963D1FF vpcmpistri $0xff, %xmm1, %xmm2
XDIS a7: STTNI AVX C4E37962D1FF vpcmpistrm $0xff, %xmm1, %xmm2
XDIS ad: AVX2 AVX2 C4E3FD01D1FF vpermpd $0xff, %ymm1, %ymm2
XDIS b3: AVX AVX C4E37905D1FF vpermilpd $0xff, %xmm1, %xmm2
XDIS b9: AVX AVX C4E37D05D1FF vpermilpd $0xff, %ymm1, %ymm2
XDIS bf: AVX AVX C4E37904D1FF vpermilps $0xff, %xmm1, %xmm2
XDIS c5: AVX AVX C4E37D04D1FF vpermilps $0xff, %ymm1, %ymm2
XDIS cb: CONVERT F16C C4E3791DCAFF vcvtps2ph $0xff, %xmm1, %xmm2
XDIS d1: CONVERT F16C C4E37D1DCAFF vcvtps2ph $0xff, %ymm1, %xmm2
XDIS d7: AVX AVX C5E971F1FF vpsllw $0xff, %xmm1, %xmm2
XDIS dc: AVX2 AVX2 C5ED71F1FF vpsllw $0xff, %ymm1, %ymm2
XDIS e1: AVX AVX C5E972E1FF vpsrad $0xff, %xmm1, %xmm2
XDIS e6: AVX2 AVX2 C5ED72E1FF vpsrad $0xff, %ymm1, %ymm2
XDIS eb: AVX AVX C5E971E1FF vpsraw $0xff, %xmm1, %xmm2
XDIS f0: AVX2 AVX2 C5ED71E1FF vpsraw $0xff, %ymm1, %ymm2
XDIS f5: AVX AVX C5F171D1FF vpsrlw $0xff, %xmm1, %xmm1
XDIS fa: AVX2 AVX2 C5ED71D1FF vpsrlw $0xff, %ymm1, %ymm2
XDIS ff: AVX AVX C4E37917C8FF vextractps $0xff, %xmm1, %eax
XDIS 105: AVX AVX C4E37914C8FF vpextrb $0xff, %xmm1, %eax
XDIS 10b: AVX AVX C4E37916C8FF vpextrd $0xff, %xmm1, %eax
XDIS 111: AVX AVX C4E3F916C8FF vpextrq $0xff, %xmm1, %rax
# end of text section.
# Errors: 0
#XED3 DECODE STATS
#Total DECODE cycles: 6103
#Total instructions DECODE: 1
#Total tail DECODE cycles: 484164
#Total tail instructions DECODE: 51
#Total cycles/instruction DECODE: 6103.00
#Total tail cycles/instruction DECODE: 9493.41
And with side-by-side comparison:
C5F970FFB1 vpshufd $0xb1, %xmm7, %xmm7 // VPSHUFD $-79, X7, X7
C4E37BF010FF rorxl $0xff, (%rax), %edx // RORXL $-1, (AX), DX
C4E3FBF010FF rorxq $0xff, (%rax), %rdx // RORXQ $-1, (AX), DX
C5F970D1FF vpshufd $0xff, %xmm1, %xmm2 // VPSHUFD $-1, X1, X2
C5FD70D1FF vpshufd $0xff, %ymm1, %ymm2 // VPSHUFD $-1, Y1, Y2
C5FA70D1FF vpshufhw $0xff, %xmm1, %xmm2 // VPSHUFHW $-1, X1, X2
C5FE70D1FF vpshufhw $0xff, %ymm1, %ymm2 // VPSHUFHW $-1, Y1, Y2
C5FB70D1FF vpshuflw $0xff, %xmm1, %xmm2 // VPSHUFLW $-1, X1, X2
C5FF70D1FF vpshuflw $0xff, %ymm1, %ymm2 // VPSHUFLW $-1, Y1, Y2
C4E37909D1FF vroundpd $0xff, %xmm1, %xmm2 // VROUNDPD $-1, X1, X2
C4E37D08D1FF vroundps $0xff, %ymm1, %ymm2 // VROUNDPS $-1, Y1, Y2
C5E972F1FF vpslld $0xff, %xmm1, %xmm2 // VPSLLD $-1, X1, X2
C5ED72F1FF vpslld $0xff, %ymm1, %ymm2 // VPSLLD $-1, Y1, Y2
C5E973F9FF vpslldq $0xff, %xmm1, %xmm2 // VPSLLDQ $-1, X1, X2
C5ED73F9FF vpslldq $0xff, %ymm1, %ymm2 // VPSLLDQ $-1, Y1, Y2
C5E973F1FF vpsllq $0xff, %xmm1, %xmm2 // VPSLLQ $-1, X1, X2
C5ED73F1FF vpsllq $0xff, %ymm1, %ymm2 // VPSLLQ $-1, Y1, Y2
C5E972D1FF vpsrld $0xff, %xmm1, %xmm2 // VPSRLD $-1, X1, X2
C5ED72D1FF vpsrld $0xff, %ymm1, %ymm2 // VPSRLD $-1, Y1, Y2
C5E973D9FF vpsrldq $0xff, %xmm1, %xmm2 // VPSRLDQ $-1, X1, X2
C5ED73D9FF vpsrldq $0xff, %ymm1, %ymm2 // VPSRLDQ $-1, Y1, Y2
C5E973D1FF vpsrlq $0xff, %xmm1, %xmm2 // VPSRLQ $-1, X1, X2
C5ED73D1FF vpsrlq $0xff, %ymm1, %ymm2 // VPSRLQ $-1, Y1, Y2
C4E3791508FF vpextrww $0xff, %xmm1, (%rax) // VPEXTRW $-1, X1, (AX
C4E37915C8FF vpextrw $0xff, %xmm1, %eax // VPEXTRW $-1, X1, AX
C4E37D19CAFF vextractf128 $0xff, %ymm1, %xmm2 // VEXTRACTF128 $-1, Y1, X2
C4E37D39CAFF vextracti128 $0xff, %ymm1, %xmm2 // VEXTRACTI128 $-1, Y1, X2
C4E379DFD1FF vaeskeygenassist $0xff, %xmm1, %xmm2 // VAESKEYGENASSIST $-1, X1, X2
C4E37961D1FF vpcmpestri $0xff, %xmm1, %xmm2 // VPCMPESTRI $-1, X1, X2
C4E37960D1FF vpcmpestrm $0xff, %xmm1, %xmm2 // VPCMPESTRM $-1, X1, X2
C4E37963D1FF vpcmpistri $0xff, %xmm1, %xmm2 // VPCMPISTRI $-1, X1, X2
C4E37962D1FF vpcmpistrm $0xff, %xmm1, %xmm2 // VPCMPISTRM $-1, X1, X2
C4E3FD01D1FF vpermpd $0xff, %ymm1, %ymm2 // VPERMPD $-1, Y1, Y2
C4E37905D1FF vpermilpd $0xff, %xmm1, %xmm2 // VPERMILPD $-1, X1, X2
C4E37D05D1FF vpermilpd $0xff, %ymm1, %ymm2 // VPERMILPD $-1, Y1, Y2
C4E37904D1FF vpermilps $0xff, %xmm1, %xmm2 // VPERMILPS $-1, X1, X2
C4E37D04D1FF vpermilps $0xff, %ymm1, %ymm2 // VPERMILPS $-1, Y1, Y2
C4E3791DCAFF vcvtps2ph $0xff, %xmm1, %xmm2 // VCVTPS2PH $-1, X1, X2
C4E37D1DCAFF vcvtps2ph $0xff, %ymm1, %xmm2 // VCVTPS2PH $-1, Y1, X2
C5E971F1FF vpsllw $0xff, %xmm1, %xmm2 // VPSLLW $-1, X1, X2
C5ED71F1FF vpsllw $0xff, %ymm1, %ymm2 // VPSLLW $-1, Y1, Y2
C5E972E1FF vpsrad $0xff, %xmm1, %xmm2 // VPSRAD $-1, X1, X2
C5ED72E1FF vpsrad $0xff, %ymm1, %ymm2 // VPSRAD $-1, Y1, Y2
C5E971E1FF vpsraw $0xff, %xmm1, %xmm2 // VPSRAW $-1, X1, X2
C5ED71E1FF vpsraw $0xff, %ymm1, %ymm2 // VPSRAW $-1, Y1, Y2
C5F171D1FF vpsrlw $0xff, %xmm1, %xmm1 // VPSRLW $-1, X1, X1
C5ED71D1FF vpsrlw $0xff, %ymm1, %ymm2 // VPSRLW $-1, Y1, Y2
C4E37917C8FF vextractps $0xff, %xmm1, %eax // VEXTRACTPS $-1, X1, AX
C4E37914C8FF vpextrb $0xff, %xmm1, %eax // VPEXTRB $-1, X1, AX
C4E37916C8FF vpextrd $0xff, %xmm1, %eax // VPEXTRD $-1, X1, AX
C4E3F916C8FF vpextrq $0xff, %xmm1, %rax // VPEXTRQ $-1, X1, AX