Guest User

Untitled

a guest
May 27th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.07 KB | None | 0 0
  1. Given this `data.txt` file that includes all encodings from new end2end tests:
  2. ```
  3. c5f970ffb1
  4. c4e37bf010ff
  5. c4e3fbf010ff
  6. c5f970d1ff
  7. c5fd70d1ff
  8. c5fa70d1ff
  9. c5fe70d1ff
  10. c5fb70d1ff
  11. c5ff70d1ff
  12. c4e37909d1ff
  13. c4e37d08d1ff
  14. c5e972f1ff
  15. c5ed72f1ff
  16. c5e973f9ff
  17. c5ed73f9ff
  18. c5e973f1ff
  19. c5ed73f1ff
  20. c5e972d1ff
  21. c5ed72d1ff
  22. c5e973d9ff
  23. c5ed73d9ff
  24. c5e973d1ff
  25. c5ed73d1ff
  26. c4e3791508ff
  27. c4e37915c8ff
  28. c4e37d19caff
  29. c4e37d39caff
  30. c4e379dfd1ff
  31. c4e37961d1ff
  32. c4e37960d1ff
  33. c4e37963d1ff
  34. c4e37962d1ff
  35. c4e3fd01d1ff
  36. c4e37905d1ff
  37. c4e37d05d1ff
  38. c4e37904d1ff
  39. c4e37d04d1ff
  40. c4e3791dcaff
  41. c4e37d1dcaff
  42. c5e971f1ff
  43. c5ed71f1ff
  44. c5e972e1ff
  45. c5ed72e1ff
  46. c5e971e1ff
  47. c5ed71e1ff
  48. c5f171d1ff
  49. c5ed71d1ff
  50. c4e37917c8ff
  51. c4e37914c8ff
  52. c4e37916c8ff
  53. c4e3f916c8ff
  54. ```
  55.  
  56. ```bash
  57. ./xed -64 -A -ih data.txt
  58. XDIS 0: AVX AVX C5F970FFB1 vpshufd $0xb1, %xmm7, %xmm7
  59. XDIS 5: BMI2 BMI2 C4E37BF010FF rorxl $0xff, (%rax), %edx
  60. XDIS b: BMI2 BMI2 C4E3FBF010FF rorxq $0xff, (%rax), %rdx
  61. XDIS 11: AVX AVX C5F970D1FF vpshufd $0xff, %xmm1, %xmm2
  62. XDIS 16: AVX2 AVX2 C5FD70D1FF vpshufd $0xff, %ymm1, %ymm2
  63. XDIS 1b: AVX AVX C5FA70D1FF vpshufhw $0xff, %xmm1, %xmm2
  64. XDIS 20: AVX2 AVX2 C5FE70D1FF vpshufhw $0xff, %ymm1, %ymm2
  65. XDIS 25: AVX AVX C5FB70D1FF vpshuflw $0xff, %xmm1, %xmm2
  66. XDIS 2a: AVX2 AVX2 C5FF70D1FF vpshuflw $0xff, %ymm1, %ymm2
  67. XDIS 2f: AVX AVX C4E37909D1FF vroundpd $0xff, %xmm1, %xmm2
  68. XDIS 35: AVX AVX C4E37D08D1FF vroundps $0xff, %ymm1, %ymm2
  69. XDIS 3b: AVX AVX C5E972F1FF vpslld $0xff, %xmm1, %xmm2
  70. XDIS 40: AVX2 AVX2 C5ED72F1FF vpslld $0xff, %ymm1, %ymm2
  71. XDIS 45: AVX AVX C5E973F9FF vpslldq $0xff, %xmm1, %xmm2
  72. XDIS 4a: AVX2 AVX2 C5ED73F9FF vpslldq $0xff, %ymm1, %ymm2
  73. XDIS 4f: AVX AVX C5E973F1FF vpsllq $0xff, %xmm1, %xmm2
  74. XDIS 54: AVX2 AVX2 C5ED73F1FF vpsllq $0xff, %ymm1, %ymm2
  75. XDIS 59: AVX AVX C5E972D1FF vpsrld $0xff, %xmm1, %xmm2
  76. XDIS 5e: AVX2 AVX2 C5ED72D1FF vpsrld $0xff, %ymm1, %ymm2
  77. XDIS 63: AVX AVX C5E973D9FF vpsrldq $0xff, %xmm1, %xmm2
  78. XDIS 68: AVX2 AVX2 C5ED73D9FF vpsrldq $0xff, %ymm1, %ymm2
  79. XDIS 6d: AVX AVX C5E973D1FF vpsrlq $0xff, %xmm1, %xmm2
  80. XDIS 72: AVX2 AVX2 C5ED73D1FF vpsrlq $0xff, %ymm1, %ymm2
  81. XDIS 77: AVX AVX C4E3791508FF vpextrww $0xff, %xmm1, (%rax)
  82. XDIS 7d: AVX AVX C4E37915C8FF vpextrw $0xff, %xmm1, %eax
  83. XDIS 83: AVX AVX C4E37D19CAFF vextractf128 $0xff, %ymm1, %xmm2
  84. XDIS 89: AVX2 AVX2 C4E37D39CAFF vextracti128 $0xff, %ymm1, %xmm2
  85. XDIS 8f: AES AVXAES C4E379DFD1FF vaeskeygenassist $0xff, %xmm1, %xmm2
  86. XDIS 95: STTNI AVX C4E37961D1FF vpcmpestri $0xff, %xmm1, %xmm2
  87. XDIS 9b: STTNI AVX C4E37960D1FF vpcmpestrm $0xff, %xmm1, %xmm2
  88. XDIS a1: STTNI AVX C4E37963D1FF vpcmpistri $0xff, %xmm1, %xmm2
  89. XDIS a7: STTNI AVX C4E37962D1FF vpcmpistrm $0xff, %xmm1, %xmm2
  90. XDIS ad: AVX2 AVX2 C4E3FD01D1FF vpermpd $0xff, %ymm1, %ymm2
  91. XDIS b3: AVX AVX C4E37905D1FF vpermilpd $0xff, %xmm1, %xmm2
  92. XDIS b9: AVX AVX C4E37D05D1FF vpermilpd $0xff, %ymm1, %ymm2
  93. XDIS bf: AVX AVX C4E37904D1FF vpermilps $0xff, %xmm1, %xmm2
  94. XDIS c5: AVX AVX C4E37D04D1FF vpermilps $0xff, %ymm1, %ymm2
  95. XDIS cb: CONVERT F16C C4E3791DCAFF vcvtps2ph $0xff, %xmm1, %xmm2
  96. XDIS d1: CONVERT F16C C4E37D1DCAFF vcvtps2ph $0xff, %ymm1, %xmm2
  97. XDIS d7: AVX AVX C5E971F1FF vpsllw $0xff, %xmm1, %xmm2
  98. XDIS dc: AVX2 AVX2 C5ED71F1FF vpsllw $0xff, %ymm1, %ymm2
  99. XDIS e1: AVX AVX C5E972E1FF vpsrad $0xff, %xmm1, %xmm2
  100. XDIS e6: AVX2 AVX2 C5ED72E1FF vpsrad $0xff, %ymm1, %ymm2
  101. XDIS eb: AVX AVX C5E971E1FF vpsraw $0xff, %xmm1, %xmm2
  102. XDIS f0: AVX2 AVX2 C5ED71E1FF vpsraw $0xff, %ymm1, %ymm2
  103. XDIS f5: AVX AVX C5F171D1FF vpsrlw $0xff, %xmm1, %xmm1
  104. XDIS fa: AVX2 AVX2 C5ED71D1FF vpsrlw $0xff, %ymm1, %ymm2
  105. XDIS ff: AVX AVX C4E37917C8FF vextractps $0xff, %xmm1, %eax
  106. XDIS 105: AVX AVX C4E37914C8FF vpextrb $0xff, %xmm1, %eax
  107. XDIS 10b: AVX AVX C4E37916C8FF vpextrd $0xff, %xmm1, %eax
  108. XDIS 111: AVX AVX C4E3F916C8FF vpextrq $0xff, %xmm1, %rax
  109. # end of text section.
  110. # Errors: 0
  111. #XED3 DECODE STATS
  112. #Total DECODE cycles: 6103
  113. #Total instructions DECODE: 1
  114. #Total tail DECODE cycles: 484164
  115. #Total tail instructions DECODE: 51
  116. #Total cycles/instruction DECODE: 6103.00
  117. #Total tail cycles/instruction DECODE: 9493.41
  118. ```
  119. And with side-by-side comparison:
  120. ```
  121. C5F970FFB1 vpshufd $0xb1, %xmm7, %xmm7 // VPSHUFD $-79, X7, X7
  122. C4E37BF010FF rorxl $0xff, (%rax), %edx // RORXL $-1, (AX), DX
  123. C4E3FBF010FF rorxq $0xff, (%rax), %rdx // RORXQ $-1, (AX), DX
  124. C5F970D1FF vpshufd $0xff, %xmm1, %xmm2 // VPSHUFD $-1, X1, X2
  125. C5FD70D1FF vpshufd $0xff, %ymm1, %ymm2 // VPSHUFD $-1, Y1, Y2
  126. C5FA70D1FF vpshufhw $0xff, %xmm1, %xmm2 // VPSHUFHW $-1, X1, X2
  127. C5FE70D1FF vpshufhw $0xff, %ymm1, %ymm2 // VPSHUFHW $-1, Y1, Y2
  128. C5FB70D1FF vpshuflw $0xff, %xmm1, %xmm2 // VPSHUFLW $-1, X1, X2
  129. C5FF70D1FF vpshuflw $0xff, %ymm1, %ymm2 // VPSHUFLW $-1, Y1, Y2
  130. C4E37909D1FF vroundpd $0xff, %xmm1, %xmm2 // VROUNDPD $-1, X1, X2
  131. C4E37D08D1FF vroundps $0xff, %ymm1, %ymm2 // VROUNDPS $-1, Y1, Y2
  132. C5E972F1FF vpslld $0xff, %xmm1, %xmm2 // VPSLLD $-1, X1, X2
  133. C5ED72F1FF vpslld $0xff, %ymm1, %ymm2 // VPSLLD $-1, Y1, Y2
  134. C5E973F9FF vpslldq $0xff, %xmm1, %xmm2 // VPSLLDQ $-1, X1, X2
  135. C5ED73F9FF vpslldq $0xff, %ymm1, %ymm2 // VPSLLDQ $-1, Y1, Y2
  136. C5E973F1FF vpsllq $0xff, %xmm1, %xmm2 // VPSLLQ $-1, X1, X2
  137. C5ED73F1FF vpsllq $0xff, %ymm1, %ymm2 // VPSLLQ $-1, Y1, Y2
  138. C5E972D1FF vpsrld $0xff, %xmm1, %xmm2 // VPSRLD $-1, X1, X2
  139. C5ED72D1FF vpsrld $0xff, %ymm1, %ymm2 // VPSRLD $-1, Y1, Y2
  140. C5E973D9FF vpsrldq $0xff, %xmm1, %xmm2 // VPSRLDQ $-1, X1, X2
  141. C5ED73D9FF vpsrldq $0xff, %ymm1, %ymm2 // VPSRLDQ $-1, Y1, Y2
  142. C5E973D1FF vpsrlq $0xff, %xmm1, %xmm2 // VPSRLQ $-1, X1, X2
  143. C5ED73D1FF vpsrlq $0xff, %ymm1, %ymm2 // VPSRLQ $-1, Y1, Y2
  144. C4E3791508FF vpextrww $0xff, %xmm1, (%rax) // VPEXTRW $-1, X1, (AX
  145. C4E37915C8FF vpextrw $0xff, %xmm1, %eax // VPEXTRW $-1, X1, AX
  146. C4E37D19CAFF vextractf128 $0xff, %ymm1, %xmm2 // VEXTRACTF128 $-1, Y1, X2
  147. C4E37D39CAFF vextracti128 $0xff, %ymm1, %xmm2 // VEXTRACTI128 $-1, Y1, X2
  148. C4E379DFD1FF vaeskeygenassist $0xff, %xmm1, %xmm2 // VAESKEYGENASSIST $-1, X1, X2
  149. C4E37961D1FF vpcmpestri $0xff, %xmm1, %xmm2 // VPCMPESTRI $-1, X1, X2
  150. C4E37960D1FF vpcmpestrm $0xff, %xmm1, %xmm2 // VPCMPESTRM $-1, X1, X2
  151. C4E37963D1FF vpcmpistri $0xff, %xmm1, %xmm2 // VPCMPISTRI $-1, X1, X2
  152. C4E37962D1FF vpcmpistrm $0xff, %xmm1, %xmm2 // VPCMPISTRM $-1, X1, X2
  153. C4E3FD01D1FF vpermpd $0xff, %ymm1, %ymm2 // VPERMPD $-1, Y1, Y2
  154. C4E37905D1FF vpermilpd $0xff, %xmm1, %xmm2 // VPERMILPD $-1, X1, X2
  155. C4E37D05D1FF vpermilpd $0xff, %ymm1, %ymm2 // VPERMILPD $-1, Y1, Y2
  156. C4E37904D1FF vpermilps $0xff, %xmm1, %xmm2 // VPERMILPS $-1, X1, X2
  157. C4E37D04D1FF vpermilps $0xff, %ymm1, %ymm2 // VPERMILPS $-1, Y1, Y2
  158. C4E3791DCAFF vcvtps2ph $0xff, %xmm1, %xmm2 // VCVTPS2PH $-1, X1, X2
  159. C4E37D1DCAFF vcvtps2ph $0xff, %ymm1, %xmm2 // VCVTPS2PH $-1, Y1, X2
  160. C5E971F1FF vpsllw $0xff, %xmm1, %xmm2 // VPSLLW $-1, X1, X2
  161. C5ED71F1FF vpsllw $0xff, %ymm1, %ymm2 // VPSLLW $-1, Y1, Y2
  162. C5E972E1FF vpsrad $0xff, %xmm1, %xmm2 // VPSRAD $-1, X1, X2
  163. C5ED72E1FF vpsrad $0xff, %ymm1, %ymm2 // VPSRAD $-1, Y1, Y2
  164. C5E971E1FF vpsraw $0xff, %xmm1, %xmm2 // VPSRAW $-1, X1, X2
  165. C5ED71E1FF vpsraw $0xff, %ymm1, %ymm2 // VPSRAW $-1, Y1, Y2
  166. C5F171D1FF vpsrlw $0xff, %xmm1, %xmm1 // VPSRLW $-1, X1, X1
  167. C5ED71D1FF vpsrlw $0xff, %ymm1, %ymm2 // VPSRLW $-1, Y1, Y2
  168. C4E37917C8FF vextractps $0xff, %xmm1, %eax // VEXTRACTPS $-1, X1, AX
  169. C4E37914C8FF vpextrb $0xff, %xmm1, %eax // VPEXTRB $-1, X1, AX
  170. C4E37916C8FF vpextrd $0xff, %xmm1, %eax // VPEXTRD $-1, X1, AX
  171. C4E3F916C8FF vpextrq $0xff, %xmm1, %rax // VPEXTRQ $-1, X1, AX
  172. ```
Add Comment
Please, Sign In to add comment