1# Copyright (c) 2011 The Native Client Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4################################################################################ 5# This file describes instructions from AMD64 Architecture Programmer's Manual 6# Volume 4: 128-Bit and 256-Bit Media Instructions 7################################################################################ 8# File format: see def_format.py 9######## ADDPD/VADDPD ########################################################## 10addpd Wpd Vpd, 0x66 0x0f 0x58, CPUFeature_SSE2 11vaddpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x58, CPUFeature_AVX 12######## ADDPS/VADDPS ########################################################## 13addps Wps Vps, 0x0f 0x58, CPUFeature_SSE 14vaddps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x58, CPUFeature_AVX 15######## ADDSD/VADDSD ########################################################## 16addsd Wsd Vsd, 0xf2 0x0f 0x58, CPUFeature_SSE2 17vaddsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0x58, CPUFeature_AVX 18######## ADDSS/VADDSS ########################################################## 19addss Wss Vss, 0xf3 0x0f 0x58, CPUFeature_SSE 20vaddss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0x58, CPUFeature_AVX 21######## ADDSUBPD/VADDSUBPD #################################################### 22addsubpd Wpd Vpd, 0x66 0x0f 0xd0, CPUFeature_SSE2 23vaddsubpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xd0, CPUFeature_AVX 24######## ADDSUBPS/VADDSUBPS #################################################### 25addsubps Wps Vps, 0xf2 0x0f 0xd0, CPUFeature_SSE 26vaddsubps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.11 0xd0, CPUFeature_AVX 27######## AESDEC/VAESDEC ######################################################## 28aesdec Wo Vo, 0x66 0x0f 0x38 0xde, CPUFeature_AES 29vaesdec Wo Ho Vo, 0xc4 RXB.00010 x.src.0.01 0xde, CPUFeature_AESAVX 30######## AESDECLAST/VAESDECLAST ################################################ 31aesdeclast Wo Vo, 0x66 0x0f 0x38 0xdf, CPUFeature_AES 32vaesdeclast Wo Ho Vo, 0xc4 RXB.00010 x.src.0.01 0xdf, CPUFeature_AESAVX 33######## AESENC/VAESENC ######################################################## 34aesenc Wo Vo, 0x66 0x0f 0x38 0xdc, CPUFeature_AES 35vaesenc Wo Ho Vo, 0xc4 RXB.00010 x.src.0.01 0xdc, CPUFeature_AESAVX 36######## AESENCLAST/VAESENCLAST ################################################ 37aesenclast Wo Vo, 0x66 0x0f 0x38 0xdd, CPUFeature_AES 38vaesenclast Wo Ho Vo, 0xc4 RXB.00010 x.src.0.01 0xdd, CPUFeature_AESAVX 39######## AESIMC/VAESIMC ######################################################## 40aesimc Wo Vo, 0x66 0x0f 0x38 0xdb, CPUFeature_AES 41vaesimc Wo Vo, 0xc4 RXB.00010 x.src.0.01 0xdb, CPUFeature_AESAVX 42######## AESKEYGENASSIST/VAESKEYGENASSIST ###################################### 43aeskeygenassist Ib Wo Vo, 0x66 0x0f 0x3a 0xdf, CPUFeature_AES 44vaeskeygenassist Ib Wo Vo, 0xc4 RXB.00011 x.src.0.01 0xdf, CPUFeature_AESAVX 45######## ANDNPD/VANDNPD ######################################################## 46andnpd Wpd Vpd, 0x66 0x0f 0x55, CPUFeature_SSE2 47vandnpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x55, CPUFeature_AVX 48######## ANDNPS/VANDNPS ######################################################## 49andnps Wps Vps, 0x0f 0x55, CPUFeature_SSE 50vandnps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x55, CPUFeature_AVX 51######## ANDPD/VANDPD ########################################################## 52andpd Wpd Vpd, 0x66 0x0f 0x54, CPUFeature_SSE2 53vandpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x54, CPUFeature_AVX 54######## ANDPS/VANDPS ########################################################## 55andps Wps Vps, 0x0f 0x54, CPUFeature_SSE 56vandps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x54, CPUFeature_AVX 57######## BLENDPD/VBLENDPD ###################################################### 58blendpd Ib Wpd Vpd, 0x66 0x0f 0x3a 0x0d, CPUFeature_SSE41 59vblendpd Ib Wpdx Hpdx Vpdx, 0xc4 RXB.00011 x.src.L.01 0x0d, CPUFeature_AVX 60######## BLENDPS/VBLENDPS ###################################################### 61blendps Ib Wps Vps, 0x66 0x0f 0x3a 0x0c, CPUFeature_SSE41 62vblendps Ib Wpsx Hpsx Vpsx, 0xc4 RXB.00011 x.src.L.01 0x0c, CPUFeature_AVX 63######## BLENDVPD/VBLENDVPD #################################################### 64blendvpd apd Wpd Vpd, 0x66 0x0f 0x38 0x15, CPUFeature_SSE41 65vblendvpd Lpdx Wpdx Hpdx Vpdx, 0xc4 RXB.00011 x.src.L.01 0x4b, CPUFeature_AVX 66######## BLENDVPS/VBLENDVPS #################################################### 67blendvps aps Wps Vps, 0x66 0x0f 0x38 0x14, CPUFeature_SSE41 68vblendvps Lpsx Wpsx Hpsx Vpsx, 0xc4 RXB.00011 x.src.L.01 0x4a, CPUFeature_AVX 69######## CMPPD/VCMPPD ########################################################## 70# "cmppd/vcmppd" actually uses immediate byte as opcode extension. 71# We don't care about fine differences and only recognize three-operand version 72# in validator. 73cmppd Ib Wpd Vpd, 0x66 0x0f 0xc2, CPUFeature_SSE2 74cmpeqpd Wpd Vpd, 0x66 0x0f 0xc2 / 0x00, CPUFeature_SSE2 nacl-forbidden 75cmpltpd Wpd Vpd, 0x66 0x0f 0xc2 / 0x01, CPUFeature_SSE2 nacl-forbidden 76cmplepd Wpd Vpd, 0x66 0x0f 0xc2 / 0x02, CPUFeature_SSE2 nacl-forbidden 77cmpunordpd Wpd Vpd, 0x66 0x0f 0xc2 / 0x03, CPUFeature_SSE2 nacl-forbidden 78cmpneqpd Wpd Vpd, 0x66 0x0f 0xc2 / 0x04, CPUFeature_SSE2 nacl-forbidden 79cmpnltpd Wpd Vpd, 0x66 0x0f 0xc2 / 0x05, CPUFeature_SSE2 nacl-forbidden 80cmpnlepd Wpd Vpd, 0x66 0x0f 0xc2 / 0x06, CPUFeature_SSE2 nacl-forbidden 81cmpordpd Wpd Vpd, 0x66 0x0f 0xc2 / 0x07, CPUFeature_SSE2 nacl-forbidden 82vcmppd Ib Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2, CPUFeature_AVX 83vcmpeqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x00, 84 CPUFeature_AVX nacl-forbidden 85vcmpltpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x01, 86 CPUFeature_AVX nacl-forbidden 87vcmplepd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x02, 88 CPUFeature_AVX nacl-forbidden 89vcmpunordpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x03, 90 CPUFeature_AVX nacl-forbidden 91vcmpneqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x04, 92 CPUFeature_AVX nacl-forbidden 93vcmpnltpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x05, 94 CPUFeature_AVX nacl-forbidden 95vcmpnlepd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x06, 96 CPUFeature_AVX nacl-forbidden 97vcmpordpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x07, 98 CPUFeature_AVX nacl-forbidden 99vcmpeq_uqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x08, 100 CPUFeature_AVX nacl-forbidden 101vcmpngepd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x09, 102 CPUFeature_AVX nacl-forbidden 103vcmpngtpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x0a, 104 CPUFeature_AVX nacl-forbidden 105vcmpfalsepd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x0b, 106 CPUFeature_AVX nacl-forbidden 107vcmpneq_oqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x0c, 108 CPUFeature_AVX nacl-forbidden 109vcmpgepd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x0d, 110 CPUFeature_AVX nacl-forbidden 111vcmpgtpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x0e, 112 CPUFeature_AVX nacl-forbidden 113vcmptruepd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x0f, 114 CPUFeature_AVX nacl-forbidden 115vcmpeq_ospd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x10, 116 CPUFeature_AVX nacl-forbidden 117vcmplt_oqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x11, 118 CPUFeature_AVX nacl-forbidden 119vcmple_oqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x12, 120 CPUFeature_AVX nacl-forbidden 121vcmpunord_spd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x13, 122 CPUFeature_AVX nacl-forbidden 123vcmpneq_uspd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x14, 124 CPUFeature_AVX nacl-forbidden 125vcmpnlt_uqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x15, 126 CPUFeature_AVX nacl-forbidden 127vcmpnle_uqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x16, 128 CPUFeature_AVX nacl-forbidden 129vcmpord_spd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x17, 130 CPUFeature_AVX nacl-forbidden 131vcmpeq_uspd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x18, 132 CPUFeature_AVX nacl-forbidden 133vcmpnge_uqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x19, 134 CPUFeature_AVX nacl-forbidden 135vcmpngt_uqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x1a, 136 CPUFeature_AVX nacl-forbidden 137vcmpfalse_ospd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x1b, 138 CPUFeature_AVX nacl-forbidden 139vcmpneq_ospd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x1c, 140 CPUFeature_AVX nacl-forbidden 141vcmpge_oqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x1d, 142 CPUFeature_AVX nacl-forbidden 143vcmpgt_oqpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x1e, 144 CPUFeature_AVX nacl-forbidden 145vcmptrue_uspd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc2 / 0x1f, 146 CPUFeature_AVX nacl-forbidden 147######## CMPPS/VCMPPS ########################################################## 148# "cmpps/vcmpps" actually uses immediate byte as opcode extension. 149# We don't care about fine differences and only recognize three-operand version 150# in validator. 151cmpps Ib Wps Vps, 0x0f 0xc2, CPUFeature_SSE 152cmpeqps Wps Vps, 0x0f 0xc2 / 0x00, CPUFeature_SSE nacl-forbidden 153cmpltps Wps Vps, 0x0f 0xc2 / 0x01, CPUFeature_SSE nacl-forbidden 154cmpleps Wps Vps, 0x0f 0xc2 / 0x02, CPUFeature_SSE nacl-forbidden 155cmpunordps Wps Vps, 0x0f 0xc2 / 0x03, CPUFeature_SSE nacl-forbidden 156cmpneqps Wps Vps, 0x0f 0xc2 / 0x04, CPUFeature_SSE nacl-forbidden 157cmpnltps Wps Vps, 0x0f 0xc2 / 0x05, CPUFeature_SSE nacl-forbidden 158cmpnleps Wps Vps, 0x0f 0xc2 / 0x06, CPUFeature_SSE nacl-forbidden 159cmpordps Wps Vps, 0x0f 0xc2 / 0x07, CPUFeature_SSE nacl-forbidden 160vcmpps Ib Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2, CPUFeature_AVX 161vcmpeqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x00, 162 CPUFeature_AVX nacl-forbidden 163vcmpltps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x01, 164 CPUFeature_AVX nacl-forbidden 165vcmpleps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x02, 166 CPUFeature_AVX nacl-forbidden 167vcmpunordps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x03, 168 CPUFeature_AVX nacl-forbidden 169vcmpneqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x04, 170 CPUFeature_AVX nacl-forbidden 171vcmpnltps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x05, 172 CPUFeature_AVX nacl-forbidden 173vcmpnleps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x06, 174 CPUFeature_AVX nacl-forbidden 175vcmpordps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x07, 176 CPUFeature_AVX nacl-forbidden 177vcmpeq_uqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x08, 178 CPUFeature_AVX nacl-forbidden 179vcmpngeps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x09, 180 CPUFeature_AVX nacl-forbidden 181vcmpngtps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x0a, 182 CPUFeature_AVX nacl-forbidden 183vcmpfalseps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x0b, 184 CPUFeature_AVX nacl-forbidden 185vcmpneq_oqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x0c, 186 CPUFeature_AVX nacl-forbidden 187vcmpgeps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x0d, 188 CPUFeature_AVX nacl-forbidden 189vcmpgtps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x0e, 190 CPUFeature_AVX nacl-forbidden 191vcmptrueps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x0f, 192 CPUFeature_AVX nacl-forbidden 193vcmpeq_osps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x10, 194 CPUFeature_AVX nacl-forbidden 195vcmplt_oqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x11, 196 CPUFeature_AVX nacl-forbidden 197vcmple_oqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x12, 198 CPUFeature_AVX nacl-forbidden 199vcmpunord_sps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x13, 200 CPUFeature_AVX nacl-forbidden 201vcmpneq_usps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x14, 202 CPUFeature_AVX nacl-forbidden 203vcmpnlt_uqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x15, 204 CPUFeature_AVX nacl-forbidden 205vcmpnle_uqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x16, 206 CPUFeature_AVX nacl-forbidden 207vcmpord_sps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x17, 208 CPUFeature_AVX nacl-forbidden 209vcmpeq_usps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x18, 210 CPUFeature_AVX nacl-forbidden 211vcmpnge_uqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x19, 212 CPUFeature_AVX nacl-forbidden 213vcmpngt_uqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x1a, 214 CPUFeature_AVX nacl-forbidden 215vcmpfalse_osps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x1b, 216 CPUFeature_AVX nacl-forbidden 217vcmpneq_osps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x1c, 218 CPUFeature_AVX nacl-forbidden 219vcmpge_oqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x1d, 220 CPUFeature_AVX nacl-forbidden 221vcmpgt_oqps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x1e, 222 CPUFeature_AVX nacl-forbidden 223vcmptrue_usps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc2 / 0x1f, 224 CPUFeature_AVX nacl-forbidden 225######## CMPSD/VCMPSD ########################################################## 226# "cmpsd/vcmpsd" actually uses immediate byte as opcode extension. 227# We don't care about fine differences and only recognize three-operand version 228# in validator. 229cmpsd Ib Wsd Vsd, 0xf2 0x0f 0xc2, CPUFeature_SSE2 230cmpeqsd Wsd Vsd, 0xf2 0x0f 0xc2 / 0x00, CPUFeature_SSE2 nacl-forbidden 231cmpltsd Wsd Vsd, 0xf2 0x0f 0xc2 / 0x01, CPUFeature_SSE2 nacl-forbidden 232cmplesd Wsd Vsd, 0xf2 0x0f 0xc2 / 0x02, CPUFeature_SSE2 nacl-forbidden 233cmpunordsd Wsd Vsd, 0xf2 0x0f 0xc2 / 0x03, CPUFeature_SSE2 nacl-forbidden 234cmpneqsd Wsd Vsd, 0xf2 0x0f 0xc2 / 0x04, CPUFeature_SSE2 nacl-forbidden 235cmpnltsd Wsd Vsd, 0xf2 0x0f 0xc2 / 0x05, CPUFeature_SSE2 nacl-forbidden 236cmpnlesd Wsd Vsd, 0xf2 0x0f 0xc2 / 0x06, CPUFeature_SSE2 nacl-forbidden 237cmpordsd Wsd Vsd, 0xf2 0x0f 0xc2 / 0x07, CPUFeature_SSE2 nacl-forbidden 238vcmpsd Ib Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2, 239 CPUFeature_AVX nacl-forbidden 240vcmpeqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x00, 241 CPUFeature_AVX nacl-forbidden 242vcmpltsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x01, 243 CPUFeature_AVX nacl-forbidden 244vcmplesd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x02, 245 CPUFeature_AVX nacl-forbidden 246vcmpunordsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x03, 247 CPUFeature_AVX nacl-forbidden 248vcmpneqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x04, 249 CPUFeature_AVX nacl-forbidden 250vcmpnltsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x05, 251 CPUFeature_AVX nacl-forbidden 252vcmpnlesd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x06, 253 CPUFeature_AVX nacl-forbidden 254vcmpordsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x07, 255 CPUFeature_AVX nacl-forbidden 256vcmpeq_uqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x08, 257 CPUFeature_AVX nacl-forbidden 258vcmpngesd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x09, 259 CPUFeature_AVX nacl-forbidden 260vcmpngtsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x0a, 261 CPUFeature_AVX nacl-forbidden 262vcmpfalsesd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x0b, 263 CPUFeature_AVX nacl-forbidden 264vcmpneq_oqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x0c, 265 CPUFeature_AVX nacl-forbidden 266vcmpgesd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x0d, 267 CPUFeature_AVX nacl-forbidden 268vcmpgtsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x0e, 269 CPUFeature_AVX nacl-forbidden 270vcmptruesd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x0f, 271 CPUFeature_AVX nacl-forbidden 272vcmpeq_ossd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x10, 273 CPUFeature_AVX nacl-forbidden 274vcmplt_oqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x11, 275 CPUFeature_AVX nacl-forbidden 276vcmple_oqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x12, 277 CPUFeature_AVX nacl-forbidden 278vcmpunord_ssd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x13, 279 CPUFeature_AVX nacl-forbidden 280vcmpneq_ussd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x14, 281 CPUFeature_AVX nacl-forbidden 282vcmpnlt_uqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x15, 283 CPUFeature_AVX nacl-forbidden 284vcmpnle_uqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x16, 285 CPUFeature_AVX nacl-forbidden 286vcmpord_ssd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x17, 287 CPUFeature_AVX nacl-forbidden 288vcmpeq_ussd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x18, 289 CPUFeature_AVX nacl-forbidden 290vcmpnge_uqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x19, 291 CPUFeature_AVX nacl-forbidden 292vcmpngt_uqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x1a, 293 CPUFeature_AVX nacl-forbidden 294vcmpfalse_ossd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x1b, 295 CPUFeature_AVX nacl-forbidden 296vcmpneq_ossd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x1c, 297 CPUFeature_AVX nacl-forbidden 298vcmpge_oqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x1d, 299 CPUFeature_AVX nacl-forbidden 300vcmpgt_oqsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x1e, 301 CPUFeature_AVX nacl-forbidden 302vcmptrue_ussd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0xc2 / 0x1f, 303 CPUFeature_AVX nacl-forbidden 304######## CMPSS/VCMPSS ########################################################## 305# "cmpss/vcmpss" actually uses immediate byte as opcode extension. 306# We don't care about fine differences and only recognize three-operand version 307# in validator. 308cmpss Ib Wss Vss, 0xf3 0x0f 0xc2, CPUFeature_SSE 309cmpeqss Wss Vss, 0xf3 0x0f 0xc2 / 0x00, CPUFeature_SSE nacl-forbidden 310cmpltss Wss Vss, 0xf3 0x0f 0xc2 / 0x01, CPUFeature_SSE nacl-forbidden 311cmpless Wss Vss, 0xf3 0x0f 0xc2 / 0x02, CPUFeature_SSE nacl-forbidden 312cmpunordss Wss Vss, 0xf3 0x0f 0xc2 / 0x03, CPUFeature_SSE nacl-forbidden 313cmpneqss Wss Vss, 0xf3 0x0f 0xc2 / 0x04, CPUFeature_SSE nacl-forbidden 314cmpnltss Wss Vss, 0xf3 0x0f 0xc2 / 0x05, CPUFeature_SSE nacl-forbidden 315cmpnless Wss Vss, 0xf3 0x0f 0xc2 / 0x06, CPUFeature_SSE nacl-forbidden 316cmpordss Wss Vss, 0xf3 0x0f 0xc2 / 0x07, CPUFeature_SSE nacl-forbidden 317vcmpss Ib Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2, CPUFeature_AVX 318vcmpeqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x00, 319 CPUFeature_AVX nacl-forbidden 320vcmpltss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x01, 321 CPUFeature_AVX nacl-forbidden 322vcmpless Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x02, 323 CPUFeature_AVX nacl-forbidden 324vcmpunordss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x03, 325 CPUFeature_AVX nacl-forbidden 326vcmpneqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x04, 327 CPUFeature_AVX nacl-forbidden 328vcmpnltss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x05, 329 CPUFeature_AVX nacl-forbidden 330vcmpnless Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x06, 331 CPUFeature_AVX nacl-forbidden 332vcmpordss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x07, 333 CPUFeature_AVX nacl-forbidden 334vcmpeq_uqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x08, 335 CPUFeature_AVX nacl-forbidden 336vcmpngess Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x09, 337 CPUFeature_AVX nacl-forbidden 338vcmpngtss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x0a, 339 CPUFeature_AVX nacl-forbidden 340vcmpfalsess Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x0b, 341 CPUFeature_AVX nacl-forbidden 342vcmpneq_oqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x0c, 343 CPUFeature_AVX nacl-forbidden 344vcmpgess Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x0d, 345 CPUFeature_AVX nacl-forbidden 346vcmpgtss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x0e, 347 CPUFeature_AVX nacl-forbidden 348vcmptruess Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x0f, 349 CPUFeature_AVX nacl-forbidden 350vcmpeq_osss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x10, 351 CPUFeature_AVX nacl-forbidden 352vcmplt_oqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x11, 353 CPUFeature_AVX nacl-forbidden 354vcmple_oqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x12, 355 CPUFeature_AVX nacl-forbidden 356vcmpunord_sss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x13, 357 CPUFeature_AVX nacl-forbidden 358vcmpneq_usss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x14, 359 CPUFeature_AVX nacl-forbidden 360vcmpnlt_uqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x15, 361 CPUFeature_AVX nacl-forbidden 362vcmpnle_uqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x16, 363 CPUFeature_AVX nacl-forbidden 364vcmpord_sss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x17, 365 CPUFeature_AVX nacl-forbidden 366vcmpeq_usss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x18, 367 CPUFeature_AVX nacl-forbidden 368vcmpnge_uqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x19, 369 CPUFeature_AVX nacl-forbidden 370vcmpngt_uqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x1a, 371 CPUFeature_AVX nacl-forbidden 372vcmpfalse_osss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x1b, 373 CPUFeature_AVX nacl-forbidden 374vcmpneq_osss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x1c, 375 CPUFeature_AVX nacl-forbidden 376vcmpge_oqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x1d, 377 CPUFeature_AVX nacl-forbidden 378vcmpgt_oqss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x1e, 379 CPUFeature_AVX nacl-forbidden 380vcmptrue_usss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0xc2 / 0x1f, 381 CPUFeature_AVX nacl-forbidden 382######## COMISD/VCOMISD ######################################################## 383comisd Wsd Vsd, 0x66 0x0f 0x2f, CPUFeature_SSE2 384vcomisd Wsd Vsd, 0xc4 RXB.00001 x.src.x.01 0x2f, CPUFeature_AVX 385######## COMISS/VCOMISS ######################################################## 386comiss Wsd Vsd, 0x0f 0x2f, CPUFeature_SSE 387vcomiss Wsd Vsd, 0xc4 RXB.00001 x.src.x.00 0x2f, CPUFeature_AVX 388######## CVTDQ2PD/VCVTDQ2PD #################################################### 389cvtdq2pd Wpj Vpd, 0xf3 0x0f 0xe6, CPUFeature_SSE2 390vcvtdq2pd Wpj Vpdx, 0xc4 RXB.00001 x.1111.L.10 0xe6, CPUFeature_AVX 391######## CVTDQ2PS/VCVTDQ2PS #################################################### 392cvtdq2ps Wpj Vps, 0x0f 0x5b, CPUFeature_SSE2 393vcvtdq2ps Wpjx Vpsx, 0xc4 RXB.00001 x.1111.L.00 0x5b, CPUFeature_AVX 394######## CVTPD2DQ/VCVTPD2DQ #################################################### 395cvtpd2dq Wpd Vpj, 0xf2 0x0f 0xe6, CPUFeature_SSE2 396vcvtpd2dq Wpdx Vpj, 0xc4 RXB.00001 x.1111.L.11 0xe6, CPUFeature_AVX 397######## CVTPD2PS/VCVTPD2PS #################################################### 398cvtpd2ps Wpd Vps, 0x66 0x0f 0x5a, CPUFeature_SSE2 399vcvtpd2ps Wpdx Vps, 0xc4 RXB.00001 x.1111.L.01 0x5a, CPUFeature_AVX 400######## CVTPS2DQ/VCVTPS2DQ #################################################### 401cvtps2dq Wps Vpj, 0x66 0x0f 0x5b, CPUFeature_SSE2 402vcvtps2dq Wpsx Vpjx, 0xc4 RXB.00001 x.1111.L.01 0x5b, CPUFeature_AVX 403######## CVTPS2PD/VCVTPS2PD #################################################### 404cvtps2pd Wps Vpd, 0x0f 0x5a, CPUFeature_SSE2 405vcvtps2pd Wps Vpdx, 0xc4 RXB.00001 x.1111.L.00 0x5a, CPUFeature_AVX 406######## CVTSD2SI/VCVTSD2SI #################################################### 407cvtsd2si Wsd Gy, 0xf2 0x0f 0x2d, CPUFeature_SSE2 408vcvtsd2si Wsd Gy, 0xc4 RXB.00001 W.1111.x.11 0x2d, CPUFeature_AVX 409######## CVTSD2SS/VCVTSD2SS #################################################### 410cvtsd2ss Wsd Vss, 0xf2 0x0f 0x5a, CPUFeature_SSE2 411vcvtsd2ss Wsd Ho Vo, 0xc4 RXB.00001 x.src.x.11 0x5a, CPUFeature_AVX 412######## CVTSI2SD/VCVTSI2SD #################################################### 413cvtsi2sd Ey Vsd, 0xf2 0x0f 0x2a, CPUFeature_SSE2 414vcvtsi2sd Ey Ho Vo, 0xc4 RXB.00001 W.src.x.11 0x2a, CPUFeature_AVX 415######## CVTSI2SS/VCVTSI2SS #################################################### 416cvtsi2ss Ey Vss, 0xf3 0x0f 0x2a, CPUFeature_SSE 417vcvtsi2ss Ey Ho Vo, 0xc4 RXB.00001 W.src.x.10 0x2a, CPUFeature_AVX 418######## CVTSS2SD/VCVTSS2SD #################################################### 419cvtss2sd Wss Vsd, 0xf3 0x0f 0x5a, CPUFeature_SSE2 420vcvtss2sd Wss Ho Vo, 0xc4 RXB.00001 x.src.x.10 0x5a, CPUFeature_AVX 421######## CVTSS2SI/VCVTSS2SI #################################################### 422cvtss2si Wss Gy, 0xf3 0x0f 0x2d, CPUFeature_SSE 423vcvtss2si Wss Gy, 0xc4 RXB.00001 W.1111.x.10 0x2d, CPUFeature_AVX 424######## CVTTPD2DQ/VCVTTPD2DQ ################################################## 425cvttpd2dq Wpd Vpj, 0x66 0x0f 0xe6, CPUFeature_SSE2 426vcvttpd2dq Wpdx Vpj, 0xc4 RXB.00001 x.1111.L.01 0xe6, CPUFeature_AVX 427######## CVTTPS2DQ/VCVTTPS2DQ ################################################## 428cvttps2dq Wps Vpj, 0xf3 0x0f 0x5b, CPUFeature_SSE2 429vcvttps2dq Wpsx Vpjx, 0xc4 RXB.00001 x.1111.L.10 0x5b, CPUFeature_AVX 430######## CVTTSD2SI/VCVTTSD2SI ################################################## 431cvttsd2si Wsd Gy, 0xf2 0x0f 0x2c, CPUFeature_SSE2 432vcvttsd2si Wsd Gy, 0xc4 RXB.00001 W.1111.x.11 0x2c, CPUFeature_AVX 433######## CVTTSS2SI/VCVTTSS2SI ################################################## 434cvttss2si Wss Gy, 0xf3 0x0f 0x2c, CPUFeature_SSE 435vcvttss2si Wss Gy, 0xc4 RXB.00001 W.1111.x.10 0x2c, CPUFeature_AVX 436######## DIVPD/VDIVPD ########################################################## 437divpd Wpd Vpd, 0x66 0x0f 0x5e, CPUFeature_SSE2 438vdivpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x5e, CPUFeature_AVX 439######## DIVPS/VDIVPS ########################################################## 440divps Wps Vps, 0x0f 0x5e, CPUFeature_SSE 441vdivps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x5e, CPUFeature_AVX 442######## DIVSD/VDIVSD ########################################################## 443divsd Wsd Vsd, 0xf2 0x0f 0x5e, CPUFeature_SSE2 444vdivsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0x5e, CPUFeature_AVX 445######## DIVSS/VDIVSS ########################################################## 446divss Wss Vss, 0xf3 0x0f 0x5e, CPUFeature_SSE 447vdivss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0x5e, CPUFeature_AVX 448######## DPPD/DPPD ############################################################# 449dppd Ib Wpd Vpd, 0x66 0x0f 0x3a 0x41, CPUFeature_SSE41 450vdppd Ib Wpd Hpd Vpd, 0xc4 RXB.00011 x.src.0.01 0x41, CPUFeature_AVX 451######## DPPS/DPPS ############################################################# 452dpps Ib Wps Vps, 0x66 0x0f 0x3a 0x40, CPUFeature_SSE41 453vdpps Ib Wpsx Hpsx Vpsx, 0xc4 RXB.00011 x.src.L.01 0x40, CPUFeature_AVX 454######## EXTRACTPS/VEXTRACTPS ################################################## 455extractps Ib Vps Md, 0x66 0x0f 0x3a 0x17, CPUFeature_SSE41 456extractps Ib Vps Ry, 0x66 0x0f 0x3a 0x17, CPUFeature_SSE41 457vextractps Ib Vps Mss, 0xc4 RXB.00011 x.1111.0.01 0x17, CPUFeature_AVX 458######## EXTRQ ################################################################# 459# This instruction is perfectly safe but it's disallowed because xed does not 460# know it 461extrq ib Ib Uq, 0x66 0x0f 0x78 /0, CPUFeature_SSE4A nacl-forbidden 462extrq Uq Vq, 0x66 0x0f 0x79, CPUFeature_SSE4A 463######## HADDPD/VHADDPD ######################################################## 464haddpd Wpd Vpd, 0x66 0x0f 0x7c, CPUFeature_SSE3 465vhaddpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x7c, CPUFeature_AVX 466######## HADDPS/VHADDPS ######################################################## 467haddps Wps Vps, 0xf2 0x0f 0x7c, CPUFeature_SSE3 468vhaddps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.11 0x7c, CPUFeature_AVX 469######## HSUBPD/VHSUBPD ######################################################## 470hsubpd Wpd Vpd, 0x66 0x0f 0x7d, CPUFeature_SSE3 471vhsubpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x7d, CPUFeature_AVX 472######## HSUBPS/VHSUBPS ######################################################## 473hsubps Wps Vps, 0xf2 0x0f 0x7d, CPUFeature_SSE3 474vhsubps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.11 0x7d, CPUFeature_AVX 475######## INSERTPS/VINSERTPS #################################################### 476insertps Ib Md Vps, 0x66 0x0f 0x3a 0x21, CPUFeature_SSE41 477insertps Ib Uo Vps, 0x66 0x0f 0x3a 0x21, CPUFeature_SSE41 478vinsertps Ib Md Ho Vo, 0xc4 RXB.00011 x.src.0.01 0x21, CPUFeature_AVX 479vinsertps Ib Uo Ho Vo, 0xc4 RXB.00011 x.src.0.01 0x21, CPUFeature_AVX 480######## INSERTQ ############################################################### 481insertq ib Ib Uq Vq, 0xf2 0x0f 0x78, CPUFeature_SSE4A 482insertq Uq Vq, 0xf2 0x0f 0x79, CPUFeature_SSE4A 483######## LDDQU/VLDDQU ########################################################## 484lddqu Mdq Vpd, 0xf2 0x0f 0xf0, CPUFeature_SSE3 485vlddqu Mo Vo, 0xc4 RXB.00001 x.1111.0.11 0xf0, CPUFeature_AVX 486vlddqu Mdo Vdo, 0xc4 RXB.00001 x.1111.1.11 0xf0, CPUFeature_AVX 487######## LDMXCSR/VLDMXCSR ###################################################### 488ldmxcsr Md, 0x0f 0xae /2, CPUFeature_SSE 489vldmxcsr Md, 0xc4 RXB.00001 x.1111.0.00 0xae /2, CPUFeature_AVX 490######## MASKMOVDQU/VMASKMOVDQU ################################################ 491maskmovdqu Upb Vpb, 0x66 0x0f 0xf7, CPUFeature_SSE2 nacl-amd64-forbidden 492vmaskmovdqu Upb Vpb, 0xc4 RXB.00001 x.1111.0.01 0xf7, 493 CPUFeature_AVX nacl-amd64-forbidden 494######## MAXPD/VMAXPD ########################################################## 495maxpd Wpd Vpd, 0x66 0x0f 0x5f, CPUFeature_SSE2 496vmaxpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x5f, CPUFeature_AVX 497######## MAXPS/VMAXPS ########################################################## 498maxps Wps Vps, 0x0f 0x5f, CPUFeature_SSE 499vmaxps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x5f, CPUFeature_AVX 500######## MAXSD/VMAXSD ########################################################## 501maxsd Wsd Vsd, 0xf2 0x0f 0x5f, CPUFeature_SSE2 502vmaxsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0x5f, CPUFeature_AVX 503######## MAXSS/VMAXSS ########################################################## 504maxss Wss Vss, 0xf3 0x0f 0x5f, CPUFeature_SSE 505vmaxss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0x5f, CPUFeature_AVX 506######## MINPD/VMINPD ########################################################## 507minpd Wpd Vpd, 0x66 0x0f 0x5d, CPUFeature_SSE2 508vminpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x5d, CPUFeature_AVX 509######## MINPS/VMINPS ########################################################## 510minps Wps Vps, 0x0f 0x5d, CPUFeature_SSE 511vminps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x5d, CPUFeature_AVX 512######## MINSD/VMINSD ########################################################## 513minsd Wsd Vsd, 0xf2 0x0f 0x5d, CPUFeature_SSE2 514vminsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0x5d, CPUFeature_AVX 515######## MINSS/VMINSS ########################################################## 516minss Wss Vss, 0xf3 0x0f 0x5d, CPUFeature_SSE 517vminss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0x5d, CPUFeature_AVX 518######## MOVAPD/VMOVAPD ######################################################## 519movapd Wpd Vpd, 0x66 0x0f 0x28, CPUFeature_SSE2 520movapd Vpd Wpd, 0x66 0x0f 0x29, CPUFeature_SSE2 521vmovapd Wpdx Vpdx, 0xc4 RXB.00001 x.1111.L.01 0x28, CPUFeature_AVX 522vmovapd Vpdx Wpdx, 0xc4 RXB.00001 x.1111.L.01 0x29, CPUFeature_AVX 523######## MOVAPS/VMOVAPS ######################################################## 524movaps Wps Vps, 0x0f 0x28, CPUFeature_SSE 525movaps Vps Wps, 0x0f 0x29, CPUFeature_SSE 526vmovaps Wpsx Vpsx, 0xc4 RXB.00001 x.1111.L.00 0x28, CPUFeature_AVX 527vmovaps Vpsx Wpsx, 0xc4 RXB.00001 x.1111.L.00 0x29, CPUFeature_AVX 528######## MOVD/VMOVD ############################################################ 529# Textbook definition of "movd/vmovd" as per AMD/Intel manuals looks like this: 530# movd Ey Vy, 0x66 0x0f 0x6e, CPUFeature_SSE2 531# movd Vy Ey, 0x66 0x0f 0x7e, CPUFeature_SSE2 532# vmovd Ey Vo, 0xc4 RXB.00001 W.1111.0.01 0x6e, CPUFeature_AVX 533# vmovd Vo Ey, 0xc4 RXB.00001 W.1111.0.01 0x7e, CPUFeature_AVX 534# Objdump names 64bit version not "movd" but "movq". We describe 32bit version 535# and 64bit version separately. 536movd Ed Vq, 0x66 0x0f 0x6e, norexw CPUFeature_SSE2 537movd Vq Ed, 0x66 0x0f 0x7e, norexw CPUFeature_SSE2 nacl-amd64-zero-extends 538movq Eq Vq, 0x66 rexw 0x0f 0x6e, amd64 CPUFeature_SSE2 539movq Vq Eq, 0x66 rexw 0x0f 0x7e, amd64 CPUFeature_SSE2 540vmovd Ed Vo, 0xc4 RXB.00001 0.1111.0.01 0x6e, CPUFeature_AVX 541vmovd Vo Ed, 0xc4 RXB.00001 0.1111.0.01 0x7e, 542 CPUFeature_AVX nacl-amd64-zero-extends 543vmovq Eq Vo, 0xc4 RXB.00001 1.1111.0.01 0x6e, amd64 CPUFeature_AVX 544vmovq Vo Eq, 0xc4 RXB.00001 1.1111.0.01 0x7e, amd64 CPUFeature_AVX 545######## MOVDDUP/VMOVDDUP ###################################################### 546movddup Wsd Vsd, 0xf2 0x0f 0x12, CPUFeature_SSE3 547vmovddup Wsd Vo, 0xc4 RXB.00001 x.1111.0.11 0x12, CPUFeature_AVX 548vmovddup Wdo Vdo, 0xc4 RXB.00001 x.1111.1.11 0x12, CPUFeature_AVX 549######## MOVDQA/VMOVDQA ######################################################## 550movdqa Wdq Vdq, 0x66 0x0f 0x6f, CPUFeature_SSE2 551movdqa Vdq Wdq, 0x66 0x0f 0x7f, CPUFeature_SSE2 552# TODO(shcherbina): according to manual it 553# should be defined as Wpqwx, Vpqwx; merge. 554vmovdqa Wdq Vdq, 0xc4 RXB.00001 x.1111.0.01 0x6f, CPUFeature_AVX 555vmovdqa Vdq Wdq, 0xc4 RXB.00001 x.1111.0.01 0x7f, CPUFeature_AVX 556vmovdqa Wfq Vfq, 0xc4 RXB.00001 x.1111.1.01 0x6f, CPUFeature_AVX 557vmovdqa Vfq Wfq, 0xc4 RXB.00001 x.1111.1.01 0x7f, CPUFeature_AVX 558######## MOVDQU/VMOVDQU ######################################################## 559movdqu Wdq Vdq, 0xf3 0x0f 0x6f, CPUFeature_SSE2 560movdqu Vdq Wdq, 0xf3 0x0f 0x7f, CPUFeature_SSE2 561# TODO(shcherbina): according to manual it 562# should be defined as Wpqwx, Vpqwx; merge and get rid of 'fq' in gen_dfa.py. 563vmovdqu Wdq Vdq, 0xc4 RXB.00001 x.1111.0.10 0x6f, CPUFeature_AVX 564vmovdqu Vdq Wdq, 0xc4 RXB.00001 x.1111.0.10 0x7f, CPUFeature_AVX 565vmovdqu Wfq Vfq, 0xc4 RXB.00001 x.1111.1.10 0x6f, CPUFeature_AVX 566vmovdqu Vfq Wfq, 0xc4 RXB.00001 x.1111.1.10 0x7f, CPUFeature_AVX 567######## MOVHLPS/VMOVHLPS ###################################################### 568movhlps Ups Vps, 0x0f 0x12, CPUFeature_SSE 569vmovhlps Ups Hps Vps, 0xc4 RXB.00001 x.src.0.00 0x12, CPUFeature_AVX 570######## MOVHPD/VMOVHPD ######################################################## 571movhpd Mq Vsd, 0x66 0x0f 0x16, CPUFeature_SSE2 572movhpd Vsd Mq, 0x66 0x0f 0x17, CPUFeature_SSE2 573vmovhpd Mq Hpd Vpd, 0xc4 RXB.00001 x.src.0.01 0x16, CPUFeature_AVX 574vmovhpd Vpd Mq, 0xc4 RXB.00001 x.src.0.01 0x17, CPUFeature_AVX 575######## MOVHPS/VMOVHPS ######################################################## 576movhps Mq Vps, 0x0f 0x16, CPUFeature_SSE 577movhps Vps Mq, 0x0f 0x17, CPUFeature_SSE 578vmovhps Mq Hps Vps, 0xc4 RXB.00001 x.src.0.00 0x16, CPUFeature_AVX 579vmovhps Vps Mq, 0xc4 RXB.00001 x.src.0.00 0x17, CPUFeature_AVX 580######## MOVLHPS/VMOVLHPS ###################################################### 581movlhps Uq Vps, 0x0f 0x16, CPUFeature_SSE 582vmovlhps Ups Hps Vps, 0xc4 RXB.00001 x.src.0.00 0x16, CPUFeature_AVX 583######## MOVLPD/VMOVLPD ######################################################## 584movlpd Mq Vsd, 0x66 0x0f 0x12, CPUFeature_SSE2 585movlpd Vsd Mq, 0x66 0x0f 0x13, CPUFeature_SSE2 586vmovlpd Mq Ho Vo, 0xc4 RXB.00001 x.src.0.01 0x12, CPUFeature_AVX 587vmovlpd Vo Mo, 0xc4 RXB.00001 x.1111.0.01 0x13, CPUFeature_AVX 588######## MOVLPS/VMOVLPS ######################################################## 589movlps Mq Vq, 0x0f 0x12, CPUFeature_SSE 590movlps Vq Mq, 0x0f 0x13, CPUFeature_SSE 591vmovlps Mq Hps Vps, 0xc4 RXB.00001 x.src.0.00 0x12, CPUFeature_AVX 592vmovlps Vps Mq, 0xc4 RXB.00001 x.1111.0.00 0x13, CPUFeature_AVX 593######## MOVMSKPD/VMOVMSKPD #################################################### 594# Textbook definition of "movmskpd" as per AMD/Intel manuals looks like this: 595# movmskpd Upd Gd, 0x66 0x0f 0x50, CPUFeature_SSE2 596# GNU as accepts this description, but objdump decodes last operand as "Gy". 597# Technically it makes no difference: "movmskpd" clears everything except least 598# significant two bits and this operation produces precisely idential output for 599# "Gy" and "Gd" operands. We'll use objdump's description. 600movmskpd Upd Gy, 0x66 0x0f 0x50, CPUFeature_SSE2 601vmovmskpd Updx Gd, 0xc4 RXB.00001 x.1111.L.01 0x50, CPUFeature_AVX 602######## MOVMSKPS/VMOVMSKPS #################################################### 603# Textbook definition of "movmskps" as per AMD/Intel manuals looks like this: 604# movmskps Upd Gd, 0x0f 0x50, CPUFeature_SSE2 605# GNU as accepts this description, but objdump decodes last operand as "Gy". 606# Technically it makes no difference: "movmskps" clears everything except least 607# significant four bits and this operation produces precisely idential output 608# for "Gy" and "Gd" operands. We'll use objdump's description. 609movmskps Ups Gy, 0x0f 0x50, CPUFeature_SSE 610vmovmskps Upsx Gd, 0xc4 RXB.00001 x.1111.L.00 0x50, CPUFeature_AVX 611######## MOVNTDQ/VMOVNTDQ ###################################################### 612movntdq Vdq Mdq, 0x66 0x0f 0xe7, CPUFeature_SSE2 nacl-unsupported 613vmovntdq Vo Mo, 0xc4 RXB.00001 x.1111.0.01 0xe7, 614 CPUFeature_AVX nacl-unsupported 615vmovntdq Vdo Mdo, 0xc4 RXB.00001 x.1111.1.01 0xe7, 616 CPUFeature_AVX nacl-unsupported 617######## MOVNTDQA/VMOVNTDQA #################################################### 618movntdqa Mo Vo, 0x66 0x0f 0x38 0x2a, CPUFeature_SSE41 nacl-unsupported 619vmovntdqa Mo Vo, 0xc4 RXB.00010 x.1111.0.01 0x2a, 620 CPUFeature_AVX nacl-unsupported 621vmovntdqa Mdo Vdo, 0xc4 RXB.00010 x.1111.1.01 0x2a, 622 CPUFeature_AVX2 nacl-unsupported 623######## MOVNTPD/VMOVNTPD ###################################################### 624movntpd Vpd Mpd, 0x66 0x0f 0x2b, CPUFeature_SSE2 nacl-unsupported 625vmovntpd Vpdx Mpdx, 0xc4 RXB.00001 x.1111.L.01 0x2b, 626 CPUFeature_AVX nacl-unsupported 627######## MOVNTPS/VMOVNTPS ###################################################### 628movntps Vps Mps, 0x0f 0x2b, CPUFeature_SSE nacl-unsupported 629vmovntps Vpsx Mpsx, 0xc4 RXB.00001 x.1111.L.00 0x2b, 630 CPUFeature_AVX nacl-unsupported 631######## MOVNTSD ############################################################### 632movntsd Vsd Mq, 0xf2 0x0f 0x2b, CPUFeature_SSE4A nacl-unsupported 633######## MOVNTSS ############################################################### 634movntss Vss Md, 0xf3 0x0f 0x2b, CPUFeature_SSE4A nacl-unsupported 635######## MOVQ/VMOVQ ############################################################ 636movq Wq Vq, 0xf3 0x0f 0x7e, CPUFeature_SSE2 637movq Vq Wq, 0x66 0x0f 0xd6, CPUFeature_SSE2 638vmovq Mq Vo, 0xc4 RXB.00001 x.1111.0.10 0x7e, CPUFeature_AVX 639vmovq Uq Vo, 0xc4 RXB.00001 x.1111.0.10 0x7e, CPUFeature_AVX 640vmovq Vq Wq, 0xc4 RXB.00001 x.1111.0.01 0xd6, CPUFeature_AVX 641######## MOVSD/VMOVSD ########################################################## 642movsd Wsd Vsd, 0xf2 0x0f 0x10, CPUFeature_SSE2 643movsd Vsd Wsd, 0xf2 0x0f 0x11, CPUFeature_SSE2 644vmovsd Mq Vsd, 0xc4 RXB.00001 x.1111.0.11 0x10, CPUFeature_AVX 645vmovsd Vsd Mq, 0xc4 RXB.00001 x.1111.0.11 0x11, CPUFeature_AVX 646vmovsd Usd Hsd Vsd, 0xc4 RXB.00001 x.src.1.11 0x10, CPUFeature_AVX 647vmovsd Vsd Hsd Usd, 0xc4 RXB.00001 x.src.1.11 0x11, CPUFeature_AVX 648######## MOVSHDUP/VMOVSSDUP #################################################### 649movshdup Wps Vps, 0xf3 0x0f 0x16, CPUFeature_SSE3 650vmovshdup Wpsx Vpsx, 0xc4 RXB.00001 x.1111.L.10 0x16, CPUFeature_AVX 651######## MOVSLDUP/VMOVSLDUP #################################################### 652movsldup Wps Vps, 0xf3 0x0f 0x12, CPUFeature_SSE3 653vmovsldup Wpsx Vpsx, 0xc4 RXB.00001 x.1111.L.10 0x12, CPUFeature_AVX 654######## MOVSS/VMOVSS ########################################################## 655movss Wss Vss, 0xf3 0x0f 0x10, CPUFeature_SSE 656movss Vss Wss, 0xf3 0x0f 0x11, CPUFeature_SSE 657vmovss Md Vss, 0xc4 RXB.00001 x.1111.0.10 0x10, CPUFeature_AVX 658vmovss Vss Md, 0xc4 RXB.00001 x.1111.0.10 0x11, CPUFeature_AVX 659vmovss Uss Hss Vsd, 0xc4 RXB.00001 x.src.1.10 0x10, CPUFeature_AVX 660vmovss Vss Hss Usd, 0xc4 RXB.00001 x.src.1.10 0x11, CPUFeature_AVX 661######## MOVUPD/VMOVUPD ######################################################## 662movupd Wpd Vpd, 0x66 0x0f 0x10, CPUFeature_SSE2 663movupd Vpd Wpd, 0x66 0x0f 0x11, CPUFeature_SSE2 664vmovupd Wpdx Vpdx, 0xc4 RXB.00001 x.1111.L.01 0x10, CPUFeature_AVX 665vmovupd Vpdx Wpdx, 0xc4 RXB.00001 x.1111.L.01 0x11, CPUFeature_AVX 666######## MOVUPS/VMOVUPS ######################################################## 667movups Wsd Vsd, 0x0f 0x10, CPUFeature_SSE 668movups Vsd Wsd, 0x0f 0x11, CPUFeature_SSE 669vmovups Wpsx Vpsx, 0xc4 RXB.00001 x.1111.L.00 0x10, CPUFeature_AVX 670vmovups Vpsx Wpsx, 0xc4 RXB.00001 x.1111.L.00 0x11, CPUFeature_AVX 671######## MPSADBW/VMPSADBW ###################################################### 672mpsadbw Ib Wpk Vpk, 0x66 0x0f 0x3a 0x42, CPUFeature_SSE41 673vmpsadbw Ib Wpkx Hpkx Vpix, 0xc4 RXB.00011 x.src.L.01 0x42, CPUFeature_AVX_Lis2 674######## MULPD/VMULPD ########################################################## 675mulpd Wpd Vpd, 0x66 0x0f 0x59, CPUFeature_SSE2 676vmulpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x59, CPUFeature_AVX 677######## MULPS/VMULPS ########################################################## 678mulps Wps Vps, 0x0f 0x59, CPUFeature_SSE 679vmulps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x59, CPUFeature_AVX 680######## MULSD/VMULSD ########################################################## 681mulsd Wsd Vsd, 0xf2 0x0f 0x59, CPUFeature_SSE2 682vmulsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0x59, CPUFeature_AVX 683######## MULSS/VMULSS ########################################################## 684mulss Wps Vss, 0xf3 0x0f 0x59, CPUFeature_SSE 685vmulss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0x59, CPUFeature_AVX 686######## ORPD/VORPD ############################################################ 687orpd Wpd Vpd, 0x66 0x0f 0x56, CPUFeature_SSE2 688vorpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x56, CPUFeature_AVX 689######## ORPS/VORPS ############################################################ 690orps Wpd Vpd, 0x0f 0x56, CPUFeature_SSE 691vorps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x56, CPUFeature_AVX 692######## PABSB/VPABSB ########################################################## 693pabsb Wpk Vpk, 0x66 0x0f 0x38 0x1c, CPUFeature_SSSE3 694vpabsb Wpkx Vpkx, 0xc4 RXB.00010 x.1111.L.01 0x1c, CPUFeature_AVX_Lis2 695######## PABSD/VPABSD ########################################################## 696pabsd Wpj Vpj, 0x66 0x0f 0x38 0x1e, CPUFeature_SSSE3 697vpabsd Wpjx Vpjx, 0xc4 RXB.00010 x.1111.L.01 0x1e, CPUFeature_AVX_Lis2 698######## PABSW/VPABSW ########################################################## 699pabsw Wpi Vpi, 0x66 0x0f 0x38 0x1d, CPUFeature_SSSE3 700vpabsw Wpix Vpix, 0xc4 RXB.00010 x.1111.L.01 0x1d, CPUFeature_AVX_Lis2 701######## PACKSSDW/VPACKSSDW #################################################### 702packssdw Wdq Vdq, 0x66 0x0f 0x6b, CPUFeature_SSE2 703vpackssdw Wpjx Hpjx Vpix, 0xc4 RXB.00001 0.src1.L.01 0x6b, CPUFeature_AVX_Lis2 704######## PACKSSWB/VPACKSSWB #################################################### 705packsswb Wdq Vdq, 0x66 0x0f 0x63, CPUFeature_SSE2 706vpacksswb Wpix Hpix Vpkx, 0xc4 RXB.00001 x.src.L.01 0x63, CPUFeature_AVX_Lis2 707######## PACKUSDW/VPACKUSDW #################################################### 708packusdw Wpj Vpi, 0x66 0x0f 0x38 0x2b, CPUFeature_SSE41 709vpackusdw Wpjx Hpjx Vpix, 0xc4 RXB.00010 x.src.L.01 0x2b, CPUFeature_AVX_Lis2 710######## PACKUSWB/VPACKUSWB #################################################### 711packuswb Wdq Vdq, 0x66 0x0f 0x67, CPUFeature_SSE2 712vpackuswb Wpix Hpix Vpkx, 0xc4 RXB.00001 x.src.L.01 0x67, CPUFeature_AVX_Lis2 713######## PADDB/VPADDB ########################################################## 714paddb Wpk Vpk, 0x66 0x0f 0xfc, CPUFeature_SSE2 715vpaddb Wpkx Hpkx Vpkx, 0xc4 RXB.00001 x.src.L.01 0xfc, CPUFeature_AVX_Lis2 716######## PADDD/VPADDD ########################################################## 717paddd Wpj Vpj, 0x66 0x0f 0xfe, CPUFeature_SSE2 718vpaddd Wpjx Hpjx Vpjx, 0xc4 RXB.00001 x.src.L.01 0xfe, CPUFeature_AVX_Lis2 719######## PADDQ/VPADDQ ########################################################## 720paddq Wdq Vdq, 0x66 0x0f 0xd4, CPUFeature_SSE2 721vpaddq Wpqx Hpqx Vpqx, 0xc4 RXB.00001 x.src.L.01 0xd4, CPUFeature_AVX_Lis2 722######## PADDSB/VPADDSB ######################################################## 723paddsb Wpk Vpk, 0x66 0x0f 0xec, CPUFeature_SSE2 724vpaddsb Wpkx Hpkx Vpkx, 0xc4 RXB.00001 x.src.L.01 0xec, CPUFeature_AVX_Lis2 725######## PADDSW/VPADDSW ######################################################## 726paddsw Wpi Vpi, 0x66 0x0f 0xed, CPUFeature_SSE2 727vpaddsw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xed, CPUFeature_AVX_Lis2 728######## PADDUSB/VPADDUSB ###################################################### 729paddusb Wpk Vpk, 0x66 0x0f 0xdc, CPUFeature_SSE2 730vpaddusb Wpkx Hpkx Vpkx, 0xc4 RXB.00001 x.src.L.01 0xdc, CPUFeature_AVX_Lis2 731######## PADDUSW/VPADDUSW ###################################################### 732paddusw Wpi Vpi, 0x66 0x0f 0xdd, CPUFeature_SSE2 733vpaddusw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xdd, CPUFeature_AVX_Lis2 734######## PADDW/VPADDW ########################################################## 735paddw Wpi Vpi, 0x66 0x0f 0xfd, CPUFeature_SSE2 736vpaddw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xfd, CPUFeature_AVX_Lis2 737######## PALIGNR/VPALIGNR ###################################################### 738palignr Ib Wpb Vpb, 0x66 0x0f 0x3a 0x0f, CPUFeature_SSSE3 739vpalignr Ib Wpbx Hpbx Vpbx, 0xc4 RXB.00011 x.src.L.01 0x0f, CPUFeature_AVX_Lis2 740######## PAND/VPAND ############################################################ 741pand Wo Vo, 0x66 0x0f 0xdb, CPUFeature_SSE2 742vpand Wo Ho Vo, 0xc4 RXB.00001 x.src.0.01 0xdb, CPUFeature_AVX 743vpand Wdo Hdo Vdo, 0xc4 RXB.00001 x.src.1.01 0xdb, CPUFeature_AVX2 744######## PANDN/VPANDN ########################################################## 745pandn Wo Vo, 0x66 0x0f 0xdf, CPUFeature_SSE2 746vpandn Wo Ho Vo, 0xc4 RXB.00001 x.src.0.01 0xdf, CPUFeature_AVX 747vpandn Wdo Hdo Vdo, 0xc4 RXB.00001 x.src.1.01 0xdf, CPUFeature_AVX2 748######## PAVGB/VPAVGB ########################################################## 749pavgb Wpk Vpk, 0x66 0x0f 0xe0, CPUFeature_SSE2 750vpavgb Wpkx Hpkx Vpkx, 0xc4 RXB.00001 x.src.L.01 0xe0, CPUFeature_AVX_Lis2 751######## PAVGW/VPAVGW ########################################################## 752pavgw Wpi Vpi, 0x66 0x0f 0xe3, CPUFeature_SSE2 753vpavgw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xe3, CPUFeature_AVX_Lis2 754######## VPBLENDD ############################################################# 755vpblendd Ib Wpdwx Hpdwx Vpdwx, 0xc4 RXB.00011 0.src.L.01 0x02, CPUFeature_AVX2 756######## PBLENDVB/VPBLENDVB #################################################### 757pblendvb apb Wpb Vpb, 0x66 0x0f 0x38 0x10, CPUFeature_SSE41 758vpblendvb Lpbx Wpbx Hpbx Vpbx, 0xc4 RXB.00011 0.src.L.01 0x4c, 759 CPUFeature_AVX_Lis2 760######## PBLENDW/VPBLENDW ###################################################### 761pblendw Ib Wpw Vpw, 0x66 0x0f 0x3a 0x0e, CPUFeature_SSE41 762vpblendw Ib Wpwx Hpwx Vpwx, 0xc4 RXB.00011 x.src.L.01 0x0e, CPUFeature_AVX_Lis2 763######## PCLMULQDQ/VPCLMULQDQ ################################################## 764# "pclmulqdq/vpclmulqdq" actually uses immediate byte as opcode extension. 765# We don't care about fine differences and only recognize three-operand version 766# in validator. 767pclmulqdq Ib Wpq Vpq, 0x66 0x0f 0x3a 0x44, CPUFeature_CLMUL 768pclmullqlqdq Wpq Vpq, 0x66 0x0f 0x3a 0x44 / 0x00, 769 CPUFeature_CLMUL nacl-forbidden 770pclmulhqlqdq Wpq Vpq, 0x66 0x0f 0x3a 0x44 / 0x01, 771 CPUFeature_CLMUL nacl-forbidden 772pclmullqhqdq Wpq Vpq, 0x66 0x0f 0x3a 0x44 / 0x10, 773 CPUFeature_CLMUL nacl-forbidden 774pclmulhqhqdq Wpq Vpq, 0x66 0x0f 0x3a 0x44 / 0x11, 775 CPUFeature_CLMUL nacl-forbidden 776vpclmulqdq Ib Wpq Hpq Vo, 0xc4 RXB.00011 x.src.0.01 0x44, CPUFeature_CLMULAVX 777vpclmullqlqdq Wpq Hpq Vo, 0xc4 RXB.00011 x.src.0.01 0x44 / 0x00, 778 CPUFeature_CLMULAVX nacl-forbidden 779vpclmulhqlqdq Wpq Hpq Vo, 0xc4 RXB.00011 x.src.0.01 0x44 / 0x01, 780 CPUFeature_CLMULAVX nacl-forbidden 781vpclmullqhqdq Wpq Hpq Vo, 0xc4 RXB.00011 x.src.0.01 0x44 / 0x10, 782 CPUFeature_CLMULAVX nacl-forbidden 783vpclmulhqhqdq Wpq Hpq Vo, 0xc4 RXB.00011 x.src.0.01 0x44 / 0x11, 784 CPUFeature_CLMULAVX nacl-forbidden 785######## PCMPEQB/VPCMPEQB ###################################################### 786pcmpeqb Wpk Vpb, 0x66 0x0f 0x74, CPUFeature_SSE2 787vpcmpeqb Wpkx Hpkx Vpbx, 0xc4 RXB.00001 x.src.L.01 0x74, CPUFeature_AVX_Lis2 788######## PCMPEQD/VPCMPEQD ###################################################### 789pcmpeqd Wpj Vpw, 0x66 0x0f 0x76, CPUFeature_SSE2 790vpcmpeqd Wpjx Hpjx Vpwx, 0xc4 RXB.00001 x.src.L.01 0x76, CPUFeature_AVX_Lis2 791######## PCMPEQQ/VPCMPEQQ ###################################################### 792pcmpeqq Wpq Vpq, 0x66 0x0f 0x38 0x29, CPUFeature_SSE41 793vpcmpeqq Wpqx Hpqx Vpqx, 0xc4 RXB.00010 x.src.L.01 0x29, CPUFeature_AVX_Lis2 794######## PCMPEQW/VPCMPEQW ###################################################### 795pcmpeqw Wpi Vpw, 0x66 0x0f 0x75, CPUFeature_SSE2 796vpcmpeqw Wpix Hpix Vpwx, 0xc4 RXB.00001 x.src.L.01 0x75, CPUFeature_AVX_Lis2 797######## PCMPESTRI/VPCMPESTRI ################################################## 798pcmpestri Ib Wo Vo, 0x66 0x0f 0x3a 0x61, CPUFeature_SSE42 799vpcmpestri Ib Wo Vo, 0xc4 RXB.00011 x.1111.0.01 0x61, CPUFeature_AVX 800######## PCMPESTRM/VPCMPESTRM ################################################## 801pcmpestrm Ib Wo Vo, 0x66 0x0f 0x3a 0x60, CPUFeature_SSE42 802vpcmpestrm Ib Wo Vo, 0xc4 RXB.00011 x.1111.0.01 0x60, CPUFeature_AVX 803######## PCMPGTB/VPCMPGTB ###################################################### 804pcmpgtb Wdq Vdq, 0x66 0x0f 0x64, CPUFeature_SSE2 805vpcmpgtb Wpkx Hpkx Vpbx, 0xc4 RXB.00001 x.src.L.01 0x64, CPUFeature_AVX_Lis2 806######## PCMPGTD/VPCMPGTD ###################################################### 807pcmpgtd Wdq Vdq, 0x66 0x0f 0x66, CPUFeature_SSE2 808vpcmpgtd Wpjx Hpjx Vpwx, 0xc4 RXB.00001 x.src.L.01 0x66, CPUFeature_AVX_Lis2 809######## PCMPGTQ/VPCMPGTQ ###################################################### 810pcmpgtq Wpq Vpq, 0x66 0x0f 0x38 0x37, CPUFeature_SSE42 811vpcmpgtq Wpqx Hpqx Vpqx, 0xc4 RXB.00010 x.src.L.01 0x37, CPUFeature_AVX_Lis2 812######## PCMPGTW/VPCMPGTW ###################################################### 813pcmpgtw Wdq Vdq, 0x66 0x0f 0x65, CPUFeature_SSE2 814vpcmpgtw Wpix Hpix Vpwx, 0xc4 RXB.00001 x.src.L.01 0x65, CPUFeature_AVX_Lis2 815######## PCMPISTRI/VPCMPISTRI ################################################## 816pcmpistri Ib Wo Vo, 0x66 0x0f 0x3a 0x63, CPUFeature_SSE42 817vpcmpistri Ib Wo Vo, 0xc4 RXB.00011 x.1111.0.01 0x63, CPUFeature_AVX 818######## PCMPISTRM/VPCMPISTRM ################################################## 819pcmpistrm Ib Wo Vo, 0x66 0x0f 0x3a 0x62, CPUFeature_SSE42 820vpcmpistrm Ib Wo Vo, 0xc4 RXB.00011 x.1111.0.01 0x62, CPUFeature_AVX 821######## PEXTRB/VPEXTRB ######################################################## 822# Textbook definition of "vpextrb" as per AMD/Intel manuals looks like this: 823# vpextrb Ib Vpb Ry, 0xc4 RXB.00011 x.1111.0.01 0x14, CPUFeature_AVX 824# GNU as accepts this description, but objdump decodes last operand as "Rd". 825# Technically it makes no difference: "vpextrb" clears everything except least 826# significant byte and this operation produces precisely idential output for 827# "Rd" and "Ry" operands. We'll use objdump's description. 828# 829# "pextrb/vpextrb" are not marked as nacl-amd64-zero-extends because you 830# shouldn't use XMM registers to hold addresses. 831pextrb Ib Vpk Mb, 0x66 0x0f 0x3a 0x14, CPUFeature_SSE41 832pextrb Ib Vpk Ry, 0x66 0x0f 0x3a 0x14, CPUFeature_SSE41 833vpextrb Ib Vpb Mb, 0xc4 RXB.00011 x.1111.0.01 0x14, CPUFeature_AVX 834vpextrb Ib Vpb Rd, 0xc4 RXB.00011 x.1111.0.01 0x14, CPUFeature_AVX 835######## PEXTRD/VPEXTRD ######################################################## 836# "pextrd/vpextrd" are not marked as nacl-amd64-zero-extends because you 837# shouldn't use XMM registers to hold addresses. 838pextrd Ib Vpk Ed, 0x66 0x0f 0x3a 0x16, norexw CPUFeature_SSE41 839vpextrd Ib Vpj Ed, 0xc4 RXB.00011 0.1111.0.01 0x16, CPUFeature_AVX 840######## PEXTRQ/VPEXTRQ ######################################################## 841pextrq Ib Vpq Eq, 0x66 rexw 0x0f 0x3a 0x16, amd64 CPUFeature_SSE41 842vpextrq Ib Vpqw Eq, 0xc4 RXB.00011 1.1111.0.01 0x16, amd64 CPUFeature_AVX 843######## PEXTRW/VPEXTRW ######################################################## 844# Textbook definition of "pextrw/vpextrw" as per AMD/Intel manuals looks like 845# this: 846# pextrw Ib Udq Gy, 0x66 0x0f 0xc5, CPUFeature_SSE2 847# vpextrw Ib Upw Gy, 0xc4 RXB.00001 x.1111.0.01 0xc5, CPUFeature_AVX 848# vpextrw Ib Vpw Ry, 0xc4 RXB.00011 x.1111.0.01 0x15, CPUFeature_AVX 849# GNU as accepts this description, but objdump decodes last operand as "Rd". 850# Technically it makes no difference: "pextrw"/"vpextrw" clears everything 851# except least significant byte and this operation produces precisely idential 852# output for "Rd" and "Ry" operands. We'll use objdump's description. 853# 854# "pextrw/vpextrw" are not marked as nacl-amd64-zero-extends because you 855# shouldn't use XMM registers to hold addresses. 856pextrw Ib Udq Gy, 0x66 0x0f 0xc5, CPUFeature_SSE2 857pextrw Ib Vpw Mw, 0x66 0x0f 0x3a 0x15, CPUFeature_SSE41 858pextrw Ib Vpw Ry, 0x66 0x0f 0x3a 0x15, CPUFeature_SSE41 859vpextrw Ib Upw Gd, 0xc4 RXB.00001 x.1111.0.01 0xc5, CPUFeature_AVX 860vpextrw Ib Vpw Mw, 0xc4 RXB.00011 x.1111.0.01 0x15, CPUFeature_AVX 861vpextrw Ib Vpw Rd, 0xc4 RXB.00011 x.1111.0.01 0x15, CPUFeature_AVX 862######## PHADDD/VPHADDD ######################################################## 863phaddd Wpj Vpj, 0x66 0x0f 0x38 0x02, CPUFeature_SSSE3 864vphaddd Wpjx Hpjx Vpjx, 0xc4 RXB.00010 x.src.L.01 0x02, CPUFeature_AVX_Lis2 865######## PHADDSW/VPHADDSW ###################################################### 866phaddsw Wpi Vpi, 0x66 0x0f 0x38 0x03, CPUFeature_SSSE3 867vphaddsw Wpix Hpix Vpix, 0xc4 RXB.00010 x.src.L.01 0x03, CPUFeature_AVX_Lis2 868######## PHADDW/VPHADDW ######################################################## 869phaddw Wpi Vpi, 0x66 0x0f 0x38 0x01, CPUFeature_SSSE3 870vphaddw Wpix Hpix Vpix, 0xc4 RXB.00010 x.src.L.01 0x01, CPUFeature_AVX_Lis2 871######## PHMINPOSUW/VPHMINPOSUW ################################################ 872phminposuw Wpi Vpi, 0x66 0x0f 0x38 0x41, CPUFeature_SSE41 873vphminposuw Wpi Vo, 0xc4 RXB.00010 x.1111.0.01 0x41, CPUFeature_AVX 874######## PHSUBD/VPHSUBD ######################################################## 875phsubd Wpj Vpj, 0x66 0x0f 0x38 0x06, CPUFeature_SSSE3 876vphsubd Wpjx Hpjx Vpjx, 0xc4 RXB.00010 x.src.L.01 0x06, CPUFeature_AVX_Lis2 877######## PHSUBSW/VPHSUBSW ###################################################### 878phsubsw Wpi Vpi, 0x66 0x0f 0x38 0x07, CPUFeature_SSSE3 879vphsubsw Wpix Hpix Vpix, 0xc4 RXB.00010 x.src.L.01 0x07, CPUFeature_AVX_Lis2 880######## PHSUBW/VPHSUBW ######################################################## 881phsubw Wpi Vpi, 0x66 0x0f 0x38 0x05, CPUFeature_SSSE3 882vphsubw Wpix Hpix Vpix, 0xc4 RXB.00010 x.src.L.01 0x05, CPUFeature_AVX_Lis2 883######## PINSRB/VPINSRB ######################################################## 884# Textbook definition of "pinsrb" as per AMD/Intel manuals looks like this: 885# pinsrb Ib Mb Vpk, 0x66 0x0f 0x3a 0x20, CPUFeature_SSE41 886# pinsrb Ib Rd Vpk, 0x66 0x0f 0x3a 0x20, CPUFeature_SSE41 887# GNU as accepts this description, but objdump decodes last operand as "Ry". 888# Technically it makes no difference: "pextrb" clears everything except least 889# significant byte and this operation produces precisely idential output for 890# "Rd" and "Ry" operands. We'll use objdump's description. 891pinsrb Ib Mb Vpk, 0x66 0x0f 0x3a 0x20, CPUFeature_SSE41 892pinsrb Ib Ry Vpk, 0x66 0x0f 0x3a 0x20, CPUFeature_SSE41 893vpinsrb Ib Mb Hpb Vpb, 0xc4 RXB.00011 x.src.0.01 0x20, CPUFeature_AVX 894vpinsrb Ib Rd Hpb Vpb, 0xc4 RXB.00011 x.src.0.01 0x20, CPUFeature_AVX 895######## PINSRD/VPINSRD ######################################################## 896pinsrd Ib Ed Vpj, 0x66 0x0f 0x3a 0x22, norexw CPUFeature_SSE41 897vpinsrd Ib Ed Hpdw Vpdw, 0xc4 RXB.00011 0.src.0.01 0x22, CPUFeature_AVX 898######## PINSRQ/VPINSRQ ######################################################## 899pinsrq Ib Eq Vpq, 0x66 rexw 0x0f 0x3a 0x22, amd64 CPUFeature_SSE41 900vpinsrq Ib Eq Ho Vo, 0xc4 RXB.00011 1.src.0.01 0x22, amd64 CPUFeature_AVX 901######## PINSRW/VPINSRW ######################################################## 902# Textbook definition of "pinsrw" as per AMD/Intel manuals looks like this: 903# pinsrw Ib Ew Vdq, 0x66 0x0f 0xc4, CPUFeature_SSE 904# pinsrw Ib Rd Vdq, 0x66 0x0f 0xc4, CPUFeature_SSE 905# GNU as accepts this description, but objdump decodes last operand as "Rd". 906# Technically it makes no difference: "pinsrw"/"vpinsrw" clears everything 907# except least significant word and this operation produces precisely idential 908# output for "Ry" and "Rd" operands. We'll use objdump's description. 909pinsrw Ib Mw Vdq, 0x66 0x0f 0xc4, CPUFeature_SSE 910pinsrw Ib Ry Vdq, 0x66 0x0f 0xc4, CPUFeature_SSE 911vpinsrw Ib Mw Hpw Vpw, 0xc4 RXB.00001 x.src.0.01 0xc4, CPUFeature_AVX 912vpinsrw Ib Rd Hpw Vpw, 0xc4 RXB.00001 x.src.0.01 0xc4, CPUFeature_AVX 913######## PMADDUBSW/VPMADDUBSW ################################################## 914pmaddubsw Wpk Vpk, 0x66 0x0f 0x38 0x04, CPUFeature_SSSE3 915vpmaddubsw Wpkx Hpkx Vpix, 0xc4 RXB.00010 x.src.L.01 0x04, CPUFeature_AVX_Lis2 916######## PMADDWD/VPMADDWD ###################################################### 917pmaddwd Wdq Vdq, 0x66 0x0f 0xf5, CPUFeature_SSE2 918vpmaddwd Wpix Hpix Vpjx, 0xc4 RXB.00001 x.src.L.01 0xf5, CPUFeature_AVX_Lis2 919######## PMAXSB/VPMAXSB ######################################################## 920pmaxsb Wpk Vpk, 0x66 0x0f 0x38 0x3c, CPUFeature_SSE41 921vpmaxsb Wpkx Hpkx Vpkx, 0xc4 RXB.00010 x.src.L.01 0x3c, CPUFeature_AVX_Lis2 922######## PMAXSD/VPMAXSD ######################################################## 923pmaxsd Wpj Vpj, 0x66 0x0f 0x38 0x3d, CPUFeature_SSE41 924vpmaxsd Wpjx Hpjx Vpjx, 0xc4 RXB.00010 x.src.L.01 0x3d, CPUFeature_AVX_Lis2 925######## PMAXSW/VPMAXSW ######################################################## 926pmaxsw Wpi Vpi, 0x66 0x0f 0xee, CPUFeature_SSE2 927vpmaxsw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xee, CPUFeature_AVX_Lis2 928######## PMAXUB/VPMAXUB ######################################################## 929pmaxub Wpk Vpk, 0x66 0x0f 0xde, CPUFeature_SSE2 930vpmaxub Wpkx Hpkx Vpkx, 0xc4 RXB.00001 x.src.L.01 0xde, CPUFeature_AVX_Lis2 931######## PMAXUD/VPMAXUD ######################################################## 932pmaxud Wpj Vpj, 0x66 0x0f 0x38 0x3f, CPUFeature_SSE41 933vpmaxud Wpjx Hpjx Vpjx, 0xc4 RXB.00010 x.src.L.01 0x3f, CPUFeature_AVX_Lis2 934######## PMAXUW/VPMAXUW ######################################################## 935pmaxuw Wpi Vpi, 0x66 0x0f 0x38 0x3e, CPUFeature_SSE41 936vpmaxuw Wpix Hpix Vpix, 0xc4 RXB.00010 x.src.L.01 0x3e, CPUFeature_AVX_Lis2 937######## PMINSB/VPMINSB ######################################################## 938pminsb Wpk Vpk, 0x66 0x0f 0x38 0x38, CPUFeature_SSE41 939vpminsb Wpkx Hpkx Vpkx, 0xc4 RXB.00010 x.src.L.01 0x38, CPUFeature_AVX_Lis2 940######## PMINSD/VPMINSD ######################################################## 941pminsd Wpj Vpj, 0x66 0x0f 0x38 0x39, CPUFeature_SSE41 942vpminsd Wpjx Hpjx Vpjx, 0xc4 RXB.00010 x.src.L.01 0x39, CPUFeature_AVX_Lis2 943######## PMINSW/VPMINSW ######################################################## 944pminsw Wpi Vpi, 0x66 0x0f 0xea, CPUFeature_SSE2 945vpminsw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xea, CPUFeature_AVX_Lis2 946######## PMINUB/VPMINUB ######################################################## 947pminub Wpk Vpk, 0x66 0x0f 0xda, CPUFeature_SSE2 948vpminub Wpkx Hpkx Vpkx, 0xc4 RXB.00001 x.src.L.01 0xda, CPUFeature_AVX_Lis2 949######## PMINUD/VPMINUD ######################################################## 950pminud Wpj Vpj, 0x66 0x0f 0x38 0x3b, CPUFeature_SSE41 951vpminud Wpjx Hpjx Vpjx, 0xc4 RXB.00010 x.src.L.01 0x3b, CPUFeature_AVX_Lis2 952######## PMINUW/VPMINUW ######################################################## 953pminuw Wpi Vpi, 0x66 0x0f 0x38 0x3a, CPUFeature_SSE41 954vpminuw Wpix Hpix Vpix, 0xc4 RXB.00010 x.src.L.01 0x3a, CPUFeature_AVX_Lis2 955######## VPMASKMOVD ############################################################ 956vpmaskmovd Mpdwx Hx Vpdwx, 0xc4 RXB.00010 0.src.L.01 0x8c, CPUFeature_AVX2 957vpmaskmovd Vpdwx Hx Mpdwx, 0xc4 RXB.00010 0.src.L.01 0x8e, CPUFeature_AVX2 958######## VPMASKMOVQ ############################################################ 959vpmaskmovq Mpqwx Hx Vpqwx, 0xc4 RXB.00010 1.src.L.01 0x8c, CPUFeature_AVX2 960vpmaskmovq Vpqwx Hx Mpqwx, 0xc4 RXB.00010 1.src.L.01 0x8e, CPUFeature_AVX2 961######## PMOVMSKB/PMOVMSKB ##################################################### 962# Textbook definition of "pmovmskb/vpmovmskb" as per AMD/Intel manuals looks 963# like this: 964# pmovmskb Udq Gd, 0x66 0x0f 0xd7, CPUFeature_SSE2 965# vpmovmskb Upb Gy, 0xc4 RXB.00001 x.1111.0.01 0xd7, CPUFeature_AVX 966# GNU as accepts this description, but objdump decodes last operand as "Gd". 967# Technically it makes no difference: "vpmovmskb" clears everything except least 968# significant word and this operation produces precisely idential output for "Gy" 969# and "Gd" operands. We'll use objdump's description. 970pmovmskb Udq Gy, 0x66 0x0f 0xd7, CPUFeature_SSE2 971vpmovmskb Upbx Gd, 0xc4 RXB.00001 x.1111.L.01 0xd7, CPUFeature_AVX_Lis2 972######## PMOVSXBD/VPMOVSXBD #################################################### 973pmovsxbd Wpk Vpj, 0x66 0x0f 0x38 0x21, CPUFeature_SSE41 974vpmovsxbd Wpk Vpjx, 0xc4 RXB.00010 x.1111.L.01 0x21, CPUFeature_AVX_Lis2 975######## PMOVSXBQ/VPMOVSXBQ #################################################### 976pmovsxbq Wpk Vpq, 0x66 0x0f 0x38 0x22, CPUFeature_SSE41 977vpmovsxbq Wpk Vpqx, 0xc4 RXB.00010 x.1111.L.01 0x22, CPUFeature_AVX_Lis2 978######## PMOVSXBW/VPMOVSXBW #################################################### 979pmovsxbw Wpk Vpi, 0x66 0x0f 0x38 0x20, CPUFeature_SSE41 980vpmovsxbw Wpk Vpix, 0xc4 RXB.00010 x.1111.L.01 0x20, CPUFeature_AVX_Lis2 981######## PMOVSXDQ/VPMOVSXDQ #################################################### 982pmovsxdq Wpj Vpq, 0x66 0x0f 0x38 0x25, CPUFeature_SSE41 983vpmovsxdq Wpj Vpqx, 0xc4 RXB.00010 x.1111.L.01 0x25, CPUFeature_AVX_Lis2 984######## PMOVSXWD/VPMOVSXWD #################################################### 985pmovsxwd Wpi Vpj, 0x66 0x0f 0x38 0x23, CPUFeature_SSE41 986vpmovsxwd Wpi Vpjx, 0xc4 RXB.00010 x.1111.L.01 0x23, CPUFeature_AVX_Lis2 987######## PMOVSXWQ/VPMOVSXWQ #################################################### 988pmovsxwq Wpi Vpq, 0x66 0x0f 0x38 0x24, CPUFeature_SSE41 989vpmovsxwq Wpi Vpqx, 0xc4 RXB.00010 x.1111.L.01 0x24, CPUFeature_AVX_Lis2 990######## PMOVZXBD/VPMOVZXBD #################################################### 991pmovzxbd Wpk Vpj, 0x66 0x0f 0x38 0x31, CPUFeature_SSE41 992vpmovzxbd Wpk Vpjx, 0xc4 RXB.00010 x.1111.L.01 0x31, CPUFeature_AVX_Lis2 993######## PMOVZXBQ/VPMOVZXBQ #################################################### 994pmovzxbq Wpk Vpq, 0x66 0x0f 0x38 0x32, CPUFeature_SSE41 995vpmovzxbq Wpk Vpqx, 0xc4 RXB.00010 x.1111.L.01 0x32, CPUFeature_AVX_Lis2 996######## PMOVZXBW/VPMOVZXBW #################################################### 997pmovzxbw Wpk Vpi, 0x66 0x0f 0x38 0x30, CPUFeature_SSE41 998vpmovzxbw Wpk Vpix, 0xc4 RXB.00010 x.1111.L.01 0x30, CPUFeature_AVX_Lis2 999######## PMOVZXDQ/VPMOVZXDQ #################################################### 1000pmovzxdq Wpj Vpq, 0x66 0x0f 0x38 0x35, CPUFeature_SSE41 1001vpmovzxdq Wpj Vpqx, 0xc4 RXB.00010 x.1111.L.01 0x35, CPUFeature_AVX_Lis2 1002######## PMOVZXWD/VPMOVZXWD #################################################### 1003pmovzxwd Wpi Vpj, 0x66 0x0f 0x38 0x33, CPUFeature_SSE41 1004vpmovzxwd Wpi Vpjx, 0xc4 RXB.00010 x.1111.L.01 0x33, CPUFeature_AVX_Lis2 1005######## PMOVZXWQ/VPMOVZXWQ #################################################### 1006pmovzxwq Wpi Vpq, 0x66 0x0f 0x38 0x34, CPUFeature_SSE41 1007vpmovzxwq Wpi Vpqx, 0xc4 RXB.00010 x.1111.L.01 0x34, CPUFeature_AVX_Lis2 1008######## PMULDQ/VPMULDQ ######################################################## 1009pmuldq Wpj Vpq, 0x66 0x0f 0x38 0x28, CPUFeature_SSE41 1010vpmuldq Wpjx Hpjx Vpqx, 0xc4 RXB.00010 x.src.L.01 0x28, CPUFeature_AVX_Lis2 1011######## PMULHRSW/VPMULHRSW #################################################### 1012pmulhrsw Wpi Vpi, 0x66 0x0f 0x38 0x0b, CPUFeature_SSSE3 1013vpmulhrsw Wpix Hpix Vpix, 0xc4 RXB.00010 x.src.L.01 0x0b, CPUFeature_AVX_Lis2 1014######## PMULHUW/VPMULHUW ###################################################### 1015pmulhuw Wdq Vdq, 0x66 0x0f 0xe4, CPUFeature_SSE2 1016vpmulhuw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xe4, CPUFeature_AVX_Lis2 1017######## PMULHW/VPMULHW ######################################################## 1018pmulhw Wdq Vdq, 0x66 0x0f 0xe5, CPUFeature_SSE2 1019vpmulhw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xe5, CPUFeature_AVX_Lis2 1020######## PMULLD/VPMULLD ######################################################## 1021pmulld Wpj Vpj, 0x66 0x0f 0x38 0x40, CPUFeature_SSE41 1022vpmulld Wpjx Hpjx Vpjx, 0xc4 RXB.00010 x.src.L.01 0x40, CPUFeature_AVX_Lis2 1023######## PMULLW/VPMULLW ######################################################## 1024pmullw Wdq Vdq, 0x66 0x0f 0xd5, CPUFeature_SSE2 1025vpmullw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xd5, CPUFeature_AVX_Lis2 1026######## PMULUDQ/VPMULUDQ ###################################################### 1027pmuludq Wdq Vdq, 0x66 0x0f 0xf4, CPUFeature_SSE2 1028vpmuludq Wpjx Hpjx Vpqx, 0xc4 RXB.00001 x.src.L.01 0xf4, CPUFeature_AVX_Lis2 1029######## POR/VPOR ############################################################## 1030por Wdq Vdq, 0x66 0x0f 0xeb, CPUFeature_SSE2 1031vpor Wo Ho Vo, 0xc4 RXB.00001 x.src.0.01 0xeb, CPUFeature_AVX 1032vpor Wdo Hdo Vdo, 0xc4 RXB.00001 x.src.1.01 0xeb, CPUFeature_AVX2 1033######## PSADBW/VPSADBW ######################################################## 1034psadbw Wdq Vdq, 0x66 0x0f 0xf6, CPUFeature_SSE2 1035vpsadbw Wpkx Hpkx Vpix, 0xc4 RXB.00001 x.src.L.01 0xf6, CPUFeature_AVX_Lis2 1036######## PSHUFB/VPSHUFB ######################################################## 1037pshufb Wpb Vpb, 0x66 0x0f 0x38 0x00, CPUFeature_SSSE3 1038vpshufb Wpbx Hpbx Vpbx, 0xc4 RXB.00010 x.src.L.01 0x00, CPUFeature_AVX_Lis2 1039######## PSHUFD/VPSHUFD ######################################################## 1040pshufd Ib Wdq Vdq, 0x66 0x0f 0x70, CPUFeature_SSE2 1041vpshufd Ib Wpdwx Vpdwx, 0xc4 RXB.00001 x.1111.L.01 0x70, CPUFeature_AVX_Lis2 1042######## PSHUFHW/VPSHUFHW ###################################################### 1043pshufhw Ib Wq Vq, 0xf3 0x0f 0x70, CPUFeature_SSE2 1044vpshufhw Ib Wpwx Vpwx, 0xc4 RXB.00001 x.1111.L.10 0x70, CPUFeature_AVX_Lis2 1045######## PSHUFLW/VPSHUFLW ###################################################### 1046pshuflw Ib Wq Vq, 0xf2 0x0f 0x70, CPUFeature_SSE2 1047vpshuflw Ib Wpwx Vpwx, 0xc4 RXB.00001 x.1111.L.11 0x70, CPUFeature_AVX_Lis2 1048######## PSIGNB/VPSIGNB ######################################################## 1049psignb Wpk Vpk, 0x66 0x0f 0x38 0x08, CPUFeature_SSSE3 1050vpsignb Wpkx Hpkx Vpkx, 0xc4 RXB.00010 x.src.L.01 0x08, CPUFeature_AVX_Lis2 1051######## PSIGND/VPSIGND ######################################################## 1052psignd Wpj Vpj, 0x66 0x0f 0x38 0x0a, CPUFeature_SSSE3 1053vpsignd Wpjx Hpjx Vpjx, 0xc4 RXB.00010 x.src.L.01 0x0a, CPUFeature_AVX_Lis2 1054######## PSIGNW/VPSIGNW ######################################################## 1055psignw Wpi Vpi, 0x66 0x0f 0x38 0x09, CPUFeature_SSSE3 1056vpsignw Wpix Hpix Vpjx, 0xc4 RXB.00010 x.src.L.01 0x09, CPUFeature_AVX_Lis2 1057######## PSLLD/VPSLLD ########################################################## 1058pslld Wdq Vdq, 0x66 0x0f 0xf2, CPUFeature_SSE2 1059pslld Ib Udq, 0x66 0x0f 0x72 /6, CPUFeature_SSE2 1060vpslld Wo Hpdwx Vpdwx, 0xc4 RXB.00001 x.src.L.01 0xf2, CPUFeature_AVX_Lis2 1061vpslld Ib Updwx Hpdwx, 0xc4 RXB.00001 x.dest.L.01 0x72 /6, CPUFeature_AVX_Lis2 1062######## PSLLDQ/VPSLLDQ ######################################################## 1063pslldq Ib Udq, 0x66 0x0f 0x73 /7, CPUFeature_SSE2 1064vpslldq Ib Udq Hdq, 0xc4 RXB.00001 0.dest.0.01 0x73 /7, CPUFeature_AVX 1065######## PSLLQ/VPSLLQ ########################################################## 1066psllq Wdq Vdq, 0x66 0x0f 0xf3, CPUFeature_SSE2 1067psllq Ib Udq, 0x66 0x0f 0x73 /6, CPUFeature_SSE2 1068vpsllq Wo Hpdwx Vpdwx, 0xc4 RXB.00001 x.src.L.01 0xf3, CPUFeature_AVX_Lis2 1069vpsllq Ib Updwx Hpdwx, 0xc4 RXB.00001 x.dest.L.01 0x73 /6, CPUFeature_AVX_Lis2 1070######## VPSLLVD ############################################################### 1071vpsllvd Wpdwx Hpdwx Vpdwx, 0xc4 RXB.00010 0.src.L.01 0x47, CPUFeature_AVX2 1072######## VPSLLVQ ############################################################### 1073vpsllvq Wpqwx Hpqwx Vpqwx, 0xc4 RXB.00010 1.src.L.01 0x47, CPUFeature_AVX2 1074######## PSLLW/VPSLLW ########################################################## 1075psllw Wdq Vdq, 0x66 0x0f 0xf1, CPUFeature_SSE2 1076psllw Ib Udq, 0x66 0x0f 0x71 /6, CPUFeature_SSE2 1077vpsllw Wo Hpwx Vpwx, 0xc4 RXB.00001 x.src.L.01 0xf1, CPUFeature_AVX_Lis2 1078vpsllw Ib Upwx Hpwx, 0xc4 RXB.00001 x.dest.L.01 0x71 /6, CPUFeature_AVX_Lis2 1079######## PSRAD/VPSRAD ########################################################## 1080psrad Wdq Vdq, 0x66 0x0f 0xe2, CPUFeature_SSE2 1081psrad Ib Udq, 0x66 0x0f 0x72 /4, CPUFeature_SSE2 1082vpsrad Wo Hpdwx Vpdwx, 0xc4 RXB.00001 x.src.L.01 0xe2, CPUFeature_AVX_Lis2 1083vpsrad Ib Updwx Hpdwx, 0xc4 RXB.00001 x.dest.L.01 0x72 /4, CPUFeature_AVX_Lis2 1084######## VPSRLVD ############################################################### 1085vpsrlvd Wpdwx Hpdwx Vpdwx, 0xc4 RXB.00010 0.src.L.01 0x45, CPUFeature_AVX2 1086######## VPSRLVQ ############################################################### 1087vpsrlvq Wpqwx Hpqwx Vpqwx, 0xc4 RXB.00010 1.src.L.01 0x45, CPUFeature_AVX2 1088######## VPSRAVD ############################################################### 1089vpsravd Wpdwx Hpdwx Vpdwx, 0xc4 RXB.00010 0.src.L.01 0x46, CPUFeature_AVX2 1090######## PSRAW/VPSRAW ########################################################## 1091psraw Wdq Vdq, 0x66 0x0f 0xe1, CPUFeature_SSE2 1092psraw Ib Udq, 0x66 0x0f 0x71 /4, CPUFeature_SSE2 1093vpsraw Wo Hpwx Vpwx, 0xc4 RXB.00001 x.src.L.01 0xe1, CPUFeature_AVX_Lis2 1094vpsraw Ib Upwx Hpwx, 0xc4 RXB.00001 x.dest.L.01 0x71 /4, CPUFeature_AVX_Lis2 1095######## PSRLD/VPSRLD ########################################################## 1096psrld Wdq Vdq, 0x66 0x0f 0xd2, CPUFeature_SSE2 1097psrld Ib Udq, 0x66 0x0f 0x72 /2, CPUFeature_SSE2 1098vpsrld Wo Hpdwx Vpdwx, 0xc4 RXB.00001 x.src.L.01 0xd2, CPUFeature_AVX_Lis2 1099vpsrld Ib Updwx Hpdwx, 0xc4 RXB.00001 x.dest.L.01 0x72 /2, CPUFeature_AVX_Lis2 1100######## PSRLDQ/VPSRLDQ ######################################################## 1101psrldq Ib Udq, 0x66 0x0f 0x73 /3, CPUFeature_SSE2 1102vpsrldq Ib Udq Hdq, 0xc4 RXB.00001 0.dest.0.01 0x73 /3, CPUFeature_AVX 1103######## PSRLQ/VPSRLQ ########################################################## 1104psrlq Wdq Vdq, 0x66 0x0f 0xd3, CPUFeature_SSE2 1105psrlq Ib Udq, 0x66 0x0f 0x73 /2, CPUFeature_SSE2 1106vpsrlq Wo Hpdwx Vpdwx, 0xc4 RXB.00001 x.src.L.01 0xd3, CPUFeature_AVX_Lis2 1107vpsrlq Ib Updwx Hpdwx, 0xc4 RXB.00001 x.dest.L.01 0x73 /2, CPUFeature_AVX_Lis2 1108######## PSRLW/VPSRLW ########################################################## 1109psrlw Wdq Vdq, 0x66 0x0f 0xd1, CPUFeature_SSE2 1110psrlw Ib Udq, 0x66 0x0f 0x71 /2, CPUFeature_SSE2 1111vpsrlw Wo Hpwx Vpwx, 0xc4 RXB.00001 x.src.L.01 0xd1, CPUFeature_AVX_Lis2 1112vpsrlw Ib Upwx Hpwx, 0xc4 RXB.00001 x.dest.L.01 0x71 /2, CPUFeature_AVX_Lis2 1113######## PSUBB/VPSUBB ########################################################## 1114psubb Wpk Vpk, 0x66 0x0f 0xf8, CPUFeature_SSE2 1115vpsubb Wpkx Hpkx Vpkx, 0xc4 RXB.00001 x.src.L.01 0xf8, CPUFeature_AVX_Lis2 1116######## PSUBD/VPSUBD ########################################################## 1117psubd Wpj Vpj, 0x66 0x0f 0xfa, CPUFeature_SSE2 1118vpsubd Wpjx Hpjx Vpjx, 0xc4 RXB.00001 x.src.L.01 0xfa, CPUFeature_AVX_Lis2 1119######## PSUBQ/VPSUBQ ########################################################## 1120psubq Wdq Vdq, 0x66 0x0f 0xfb, CPUFeature_SSE2 1121vpsubq Wpqx Hpqx Vpqx, 0xc4 RXB.00001 x.src.L.01 0xfb, CPUFeature_AVX_Lis2 1122######## PSUBSB/VPSUBSB ######################################################## 1123psubsb Wpk Vpk, 0x66 0x0f 0xe8, CPUFeature_SSE2 1124vpsubsb Wpkx Hpkx Vpkx, 0xc4 RXB.00001 x.src.L.01 0xe8, CPUFeature_AVX_Lis2 1125######## PSUBSW/VPSUBSW ######################################################## 1126psubsw Wpi Vpi, 0x66 0x0f 0xe9, CPUFeature_SSE2 1127vpsubsw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xe9, CPUFeature_AVX_Lis2 1128######## PSUBUSB/VPSUBUSB ###################################################### 1129psubusb Wpk Vpk, 0x66 0x0f 0xd8, CPUFeature_SSE2 1130vpsubusb Wpkx Hpkx Vpkx, 0xc4 RXB.00001 x.src.L.01 0xd8, CPUFeature_AVX_Lis2 1131######## PSUBUSW/VPSUBUSW ###################################################### 1132psubusw Wpi Vpi, 0x66 0x0f 0xd9, CPUFeature_SSE2 1133vpsubusw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xd9, CPUFeature_AVX_Lis2 1134######## PSUBW/VPSUBW ########################################################## 1135psubw Wpi Vpi, 0x66 0x0f 0xf9, CPUFeature_SSE2 1136vpsubw Wpix Hpix Vpix, 0xc4 RXB.00001 x.src.L.01 0xf9, CPUFeature_AVX_Lis2 1137######## PTEST/VPTEST ########################################################## 1138ptest Wo Vo, 0x66 0x0f 0x38 0x17, CPUFeature_SSE41 1139vptest Wo Vo, 0xc4 RXB.00010 x.1111.0.01 0x17, CPUFeature_AVX 1140vptest Wdo Vdo, 0xc4 RXB.00010 x.1111.1.01 0x17, CPUFeature_AVX 1141######## PUNPCKHBW/VPUNPCKHBW ################################################## 1142punpckhbw Wq Vdq, 0x66 0x0f 0x68, CPUFeature_SSE2 1143vpunpckhbw Wpbx Hpbx Vpbx, 0xc4 RXB.00001 x.src.L.01 0x68, CPUFeature_AVX_Lis2 1144######## PUNPCKHDQ/VPUNPCKHDQ ################################################## 1145punpckhdq Wq Vdq, 0x66 0x0f 0x6a, CPUFeature_SSE2 1146vpunpckhdq Wpdwx Hpdwx Vpdwx, 0xc4 RXB.00001 x.src.L.01 0x6a, 1147 CPUFeature_AVX_Lis2 1148######## PUNPCKHQDQ/VPUNPCKHQDQ ################################################ 1149punpckhqdq Wq Vdq, 0x66 0x0f 0x6d, CPUFeature_SSE2 1150vpunpckhqdq Wpqwx Hpqwx Vpqwx, 0xc4 RXB.00001 x.src.L.01 0x6d, 1151 CPUFeature_AVX_Lis2 1152######## PUNPCKHWD/VPUNPCKHWD ################################################## 1153punpckhwd Wq Vdq, 0x66 0x0f 0x69, CPUFeature_SSE2 1154vpunpckhwd Wpwx Hpwx Vpwx, 0xc4 RXB.00001 x.src.L.01 0x69, CPUFeature_AVX_Lis2 1155######## PUNPCKLBW/VPUNPCKLBW ################################################## 1156punpcklbw Wq Vdq, 0x66 0x0f 0x60, CPUFeature_SSE2 1157vpunpcklbw Wpbx Hpbx Vpbx, 0xc4 RXB.00001 x.src.L.01 0x60, CPUFeature_AVX_Lis2 1158######## PUNPCKLDQ/VPUNPCKLDQ ################################################## 1159punpckldq Wq Vdq, 0x66 0x0f 0x62, CPUFeature_SSE2 1160vpunpckldq Wpdwx Hpdwx Vpdwx, 0xc4 RXB.00001 x.src.L.01 0x62, 1161 CPUFeature_AVX_Lis2 1162######## PUNPCKLQDQ/VPUNPCKLQDQ ################################################ 1163punpcklqdq Wq Vdq, 0x66 0x0f 0x6c, CPUFeature_SSE2 1164vpunpcklqdq Wpqwx Hpqwx Vpqwx, 0xc4 RXB.00001 x.src.L.01 0x6c, 1165 CPUFeature_AVX_Lis2 1166######## PUNPCKLWD/VPUNPCKLWD ################################################## 1167punpcklwd Wq Vdq, 0x66 0x0f 0x61, CPUFeature_SSE2 1168vpunpcklwd Wpwx Hpwx Vpwx, 0xc4 RXB.00001 x.src.L.01 0x61, CPUFeature_AVX_Lis2 1169######## PXOR/VPXOR ############################################################ 1170pxor Wdq Vdq, 0x66 0x0f 0xef, CPUFeature_SSE2 1171vpxor Wo Ho Vo, 0xc4 RXB.00001 x.src.0.01 0xef, CPUFeature_AVX 1172vpxor Wdo Hdo Vdo, 0xc4 RXB.00001 x.src.1.01 0xef, CPUFeature_AVX2 1173######## RCPPS/VRCPPS ########################################################## 1174rcpps Wps Vps, 0x0f 0x53, CPUFeature_SSE 1175vrcpps Wpsx Vpsx, 0xc4 RXB.00001 x.1111.L.00 0x53, CPUFeature_AVX 1176######## RCPSS/VRCPSS ########################################################## 1177rcpss Wss Vss, 0xf3 0x0f 0x53, CPUFeature_SSE 1178vrcpss Wss Ho Vo, 0xc4 RXB.00001 x.src.x.10 0x53, CPUFeature_AVX 1179######## ROUNDPD/VROUNDPD ###################################################### 1180roundpd Ib Wpd Vpd, 0x66 0x0f 0x3a 0x09, CPUFeature_SSE41 1181vroundpd Ib Wpdx Vpdx, 0xc4 RXB.00011 x.src.L.01 0x09, CPUFeature_AVX 1182######## ROUNDPS/VROUNDPS ###################################################### 1183roundps Ib Wps Vps, 0x66 0x0f 0x3a 0x08, CPUFeature_SSE41 1184vroundps Ib Wpsx Vpsx, 0xc4 RXB.00011 x.src.L.01 0x08, CPUFeature_AVX 1185######## ROUNDSD/VROUNDSD ###################################################### 1186roundsd Ib Wsd Vsd, 0x66 0x0f 0x3a 0x0b, CPUFeature_SSE41 1187vroundsd Ib Wsd Ho Vo, 0xc4 RXB.00011 x.src.x.01 0x0b, CPUFeature_AVX 1188######## ROUNDSS/VROUNDSS ###################################################### 1189roundss Ib Wss Vss, 0x66 0x0f 0x3a 0x0a, CPUFeature_SSE41 1190vroundss Ib Wss Ho Vo, 0xc4 RXB.00011 x.src.x.01 0x0a, CPUFeature_AVX 1191######## RSQRTPS/VRSQRTPS ###################################################### 1192rsqrtps Wps Vps, 0x0f 0x52, CPUFeature_SSE 1193vrsqrtps Wpsx Vpsx, 0xc4 RXB.00001 x.1111.L.00 0x52, CPUFeature_AVX 1194######## RSQRTSS/VRSQRTSS ###################################################### 1195rsqrtss Wss Vss, 0xf3 0x0f 0x52, CPUFeature_SSE 1196vrsqrtss Wss Ho Vo, 0xc4 RXB.00001 x.src.0.10 0x52, CPUFeature_AVX 1197######## SHUFPD/VSHUFPD ######################################################## 1198shufpd Ib Wpd Vpd, 0x66 0x0f 0xc6, CPUFeature_SSE2 1199vshufpd Ib Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0xc6, CPUFeature_AVX 1200######## SHUFPS/VSHUFPS ######################################################## 1201shufps Ib Wps Vps, 0x0f 0xc6, CPUFeature_SSE 1202vshufps Ib Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0xc6, CPUFeature_AVX 1203######## SQRTPD/VSQRTPD ######################################################## 1204sqrtpd Wpd Vpd, 0x66 0x0f 0x51, CPUFeature_SSE2 1205vsqrtpd Wpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x51, CPUFeature_AVX 1206######## SQRTPS/VSQRTPS ######################################################## 1207sqrtps Wps Vps, 0x0f 0x51, CPUFeature_SSE 1208vsqrtps Wpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x51, CPUFeature_AVX 1209######## SQRTSD/VSQRTSD ######################################################## 1210sqrtsd Wsd Vsd, 0xf2 0x0f 0x51, CPUFeature_SSE2 1211vsqrtsd Wsd Ho Vo, 0xc4 RXB.00001 x.src.x.11 0x51, CPUFeature_AVX 1212######## SQRTSS/VSQRTSS ######################################################## 1213sqrtss Wss Vss, 0xf3 0x0f 0x51, CPUFeature_SSE 1214vsqrtss Wss Ho Vo, 0xc4 RXB.00001 x.src.x.10 0x51, CPUFeature_AVX 1215######## LDMXCSR/VLDMXCSR ###################################################### 1216stmxcsr Md, 0x0f 0xae /3, CPUFeature_SSE 1217vstmxcsr Md, 0xc4 RXB.00001 x.1111.0.00 0xae /3, CPUFeature_AVX 1218######## SUBPD/VSUBPD ########################################################## 1219subpd Wpd Vpd, 0x66 0x0f 0x5c, CPUFeature_SSE2 1220vsubpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x5c, CPUFeature_AVX 1221######## SUBPS/VSUBPS ########################################################## 1222subps Wps Vps, 0x0f 0x5c, CPUFeature_SSE 1223vsubps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x5c, CPUFeature_AVX 1224######## SUBSD/VSUBSD ########################################################## 1225subsd Wsd Vsd, 0xf2 0x0f 0x5c, CPUFeature_SSE2 1226vsubsd Wsd Hsd Vsd, 0xc4 RXB.00001 x.src.x.11 0x5c, CPUFeature_AVX 1227######## SUBSS/VSUBSS ########################################################## 1228subss Wss Vss, 0xf3 0x0f 0x5c, CPUFeature_SSE 1229vsubss Wss Hss Vss, 0xc4 RXB.00001 x.src.x.10 0x5c, CPUFeature_AVX 1230######## UCOMISD/VUCOMISD ###################################################### 1231ucomisd Wsd Vsd, 0x66 0x0f 0x2e, CPUFeature_SSE2 1232vucomisd Wsd Vsd, 0xc4 RXB.00001 x.src.x.01 0x2e, CPUFeature_AVX 1233######## UCOMISS/VUCOMISS ###################################################### 1234ucomiss Wsd Vsd, 0x0f 0x2e, CPUFeature_SSE 1235vucomiss Wsd Vsd, 0xc4 RXB.00001 x.src.x.00 0x2e, CPUFeature_AVX 1236######## UNPCKHPD/VUNPCKHPD #################################################### 1237unpckhpd Wq Vpd, 0x66 0x0f 0x15, CPUFeature_SSE2 1238vunpckhpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x15, CPUFeature_AVX 1239######## UNPCKHPS/VUNPCKHPS #################################################### 1240unpckhps Wps Vps, 0x0f 0x15, CPUFeature_SSE 1241vunpckhps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x15, CPUFeature_AVX 1242######## UNPCKLPD/VUNPCKLPD #################################################### 1243unpcklpd Wq Vpd, 0x66 0x0f 0x14, CPUFeature_SSE2 1244vunpcklpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x14, CPUFeature_AVX 1245######## UNPCKLPS/VUNPCKLPS #################################################### 1246unpcklps Wps Vps, 0x0f 0x14, CPUFeature_SSE 1247vunpcklps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x14, CPUFeature_AVX 1248######## VPBROADCASTB ######################################################## 1249vpbroadcastb Wb Vpbx, 0xc4 RXB.00010 0.1111.L.01 0x78, CPUFeature_AVX2 1250######## VPBROADCASTW ######################################################## 1251vpbroadcastw Ww Vpwx, 0xc4 RXB.00010 0.1111.L.01 0x79, CPUFeature_AVX2 1252######## VPBROADCASTD ######################################################## 1253vpbroadcastd Wd Vpdwx, 0xc4 RXB.00010 0.1111.L.01 0x58, CPUFeature_AVX2 1254######## VPBROADCASTQ ######################################################## 1255vpbroadcastq Wq Vpqx, 0xc4 RXB.00010 0.1111.L.01 0x59, CPUFeature_AVX2 1256######## VBROADCASTI128 ######################################################## 1257vbroadcasti128 Mo Vdo, 0xc4 RXB.00010 0.1111.1.01 0x5a, CPUFeature_AVX2 1258######## VBROADCASTF128 ######################################################## 1259vbroadcastf128 Mo Vdo, 0xc4 RXB.00010 0.1111.1.01 0x1a, CPUFeature_AVX 1260######## VBROADCASTSD ########################################################## 1261vbroadcastsd Msd Vdo, 0xc4 RXB.00010 0.1111.1.01 0x19, CPUFeature_AVX 1262vbroadcastsd Wsd Vdo, 0xc4 RXB.00010 0.1111.1.01 0x19, CPUFeature_AVX2 1263######## VBROADCASTSS ########################################################## 1264vbroadcastss Mss Vpsx, 0xc4 RXB.00010 0.1111.L.01 0x18, CPUFeature_AVX 1265vbroadcastss Wss Vpsx, 0xc4 RXB.00010 0.1111.L.01 0x18, CPUFeature_AVX2 1266######## VCVTPH2PS ############################################################# 1267vcvtph2ps Wph Vpsx, 0xc4 RXB.02 0.1111.L.01 0x13, CPUFeature_F16C 1268######## VCVTPS2PH ############################################################# 1269vcvtps2ph Ib Vpsx Wph, 0xc4 RXB.03 0.1111.L.01 0x1d, CPUFeature_F16C 1270######## VEXTRACTI128 ########################################################## 1271vextracti128 Ib Vdo Wo, 0xc4 RXB.00011 0.1111.1.01 0x39, CPUFeature_AVX2 1272######## VEXTRACTF128 ########################################################## 1273vextractf128 Ib Vdo Wo, 0xc4 RXB.00011 0.1111.1.01 0x19, CPUFeature_AVX 1274######## VFMADDPD/VFMADD132PD/VFMADD213PD/VFMADD231PD ########################## 1275vfmaddpd Lpdx Wpdx Hpdx Vpdx, 0xc4 RXB.00011 0.src.L.01 0x69, 1276 CPUFeature_FMA4 disabled_untested 1277vfmaddpd Wpdx Lpdx Hpdx Vpdx, 0xc4 RXB.00011 1.src.L.01 0x69, 1278 CPUFeature_FMA4 disabled_untested 1279vfmadd132pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0x98, CPUFeature_FMA 1280vfmadd213pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xa8, CPUFeature_FMA 1281vfmadd231pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xb8, CPUFeature_FMA 1282######## VFMADDPS/VFMADD132PS/VFMADD213PS/VFMADD231PS ########################## 1283vfmaddps Lpsx Wpsx Hpsx Vpsx, 0xc4 RXB.00011 0.src.L.01 0x68, 1284 CPUFeature_FMA4 disabled_untested 1285vfmaddps Wpsx Lpsx Hpsx Vpsx, 0xc4 RXB.00011 1.src.L.01 0x68, 1286 CPUFeature_FMA4 disabled_untested 1287vfmadd132ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0x98, CPUFeature_FMA 1288vfmadd213ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xa8, CPUFeature_FMA 1289vfmadd231ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xb8, CPUFeature_FMA 1290######## VFMADDSD/VFMADD132SD/VFMADD213SD/VFMADD231SD ########################## 1291vfmaddsd Lsd Wsd Hsd Vsd, 0xc4 RXB.00011 0.src.x.01 0x6b, 1292 CPUFeature_FMA4 disabled_untested 1293vfmaddsd Wsd Lsd Hsd Vsd, 0xc4 RXB.00011 1.src.x.01 0x6b, 1294 CPUFeature_FMA4 disabled_untested 1295vfmadd132sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0x99, CPUFeature_FMA 1296vfmadd213sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0xa9, CPUFeature_FMA 1297vfmadd231sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0xb9, CPUFeature_FMA 1298######## VFMADDSS/VFMADD132SS/VFMADD213SS/VFMADD231SS ########################## 1299vfmaddss Lss Wss Hss Vss, 0xc4 RXB.00011 0.src.x.01 0x6a, 1300 CPUFeature_FMA4 disabled_untested 1301vfmaddss Wss Lss Hss Vss, 0xc4 RXB.00011 1.src.x.01 0x6a, 1302 CPUFeature_FMA4 disabled_untested 1303vfmadd132ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0x99, CPUFeature_FMA 1304vfmadd213ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0xa9, CPUFeature_FMA 1305vfmadd231ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0xb9, CPUFeature_FMA 1306######## VFMADDSUBPD/VFMADDSUB132PD/VFMADDSUB213PD/VFMADDSUB231PD ############## 1307vfmaddsubpd Lpdx Wpdx Hpdx Vpdx, 0xc4 RXB.00011 0.src.L.01 0x5d, 1308 CPUFeature_FMA4 disabled_untested 1309vfmaddsubpd Wpdx Lpdx Hpdx Vpdx, 0xc4 RXB.00011 1.src.L.01 0x5d, 1310 CPUFeature_FMA4 disabled_untested 1311vfmaddsub132pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0x96, CPUFeature_FMA 1312vfmaddsub213pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xa6, CPUFeature_FMA 1313vfmaddsub231pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xb6, CPUFeature_FMA 1314######## VFMADDSUBPS/VFMADDSUB132PS/VFMADDSUB213PS/VFMADDSUB231PS ############## 1315vfmaddsubps Lpsx Wpsx Hpsx Vpsx, 0xc4 RXB.00011 0.src.L.01 0x5c, 1316 CPUFeature_FMA4 disabled_untested 1317vfmaddsubps Wpsx Lpsx Hpsx Vpsx, 0xc4 RXB.00011 1.src.L.01 0x5c, 1318 CPUFeature_FMA4 disabled_untested 1319vfmaddsub132ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0x96, CPUFeature_FMA 1320vfmaddsub213ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xa6, CPUFeature_FMA 1321vfmaddsub231ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xb6, CPUFeature_FMA 1322######## VFMSUBADDPD/VFMSUBADD132PD/VFMSUBADD213PD/VFMSUBADD231PD ############## 1323vfmsubaddpd Lpdx Wpdx Hpdx Vpdx, 0xc4 RXB.00011 0.src.L.01 0x5f, 1324 CPUFeature_FMA4 disabled_untested 1325vfmsubaddpd Wpdx Lpdx Hpdx Vpdx, 0xc4 RXB.00011 1.src.L.01 0x5f, 1326 CPUFeature_FMA4 disabled_untested 1327vfmsubadd132pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0x97, CPUFeature_FMA 1328vfmsubadd213pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xa7, CPUFeature_FMA 1329vfmsubadd231pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xb7, CPUFeature_FMA 1330######## VFMSUBADDPS/VFMSUBADD132PS/VFMSUBADD213PS/VFMSUBADD231PS ############## 1331vfmsubaddps Lpsx Wpsx Hpsx Vpsx, 0xc4 RXB.00011 0.src.L.01 0x5e, 1332 CPUFeature_FMA4 disabled_untested 1333vfmsubaddps Wpsx Lpsx Hpsx Vpsx, 0xc4 RXB.00011 1.src.L.01 0x5e, 1334 CPUFeature_FMA4 disabled_untested 1335vfmsubadd132ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0x97, CPUFeature_FMA 1336vfmsubadd213ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xa7, CPUFeature_FMA 1337vfmsubadd231ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xb7, CPUFeature_FMA 1338######## VFMSUBPD/VFMSUB132PD/VFMSUB213PD/VFMSUB231PD ########################## 1339vfmsubpd Lpdx Wpdx Hpdx Vpdx, 0xc4 RXB.00011 0.src.L.01 0x6d, 1340 CPUFeature_FMA4 disabled_untested 1341vfmsubpd Wpdx Lpdx Hpdx Vpdx, 0xc4 RXB.00011 1.src.L.01 0x6d, 1342 CPUFeature_FMA4 disabled_untested 1343vfmsub132pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0x9a, CPUFeature_FMA 1344vfmsub213pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xaa, CPUFeature_FMA 1345vfmsub231pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xba, CPUFeature_FMA 1346######## VFMSUBPS/VFMSUB132PS/VFMSUB213PS/VFMSUB231PS ########################## 1347vfmsubps Lpsx Wpsx Hpsx Vpsx, 0xc4 RXB.00011 0.src.L.01 0x6c, 1348 CPUFeature_FMA4 disabled_untested 1349vfmsubps Wpsx Lpsx Hpsx Vpsx, 0xc4 RXB.00011 1.src.L.01 0x6c, 1350 CPUFeature_FMA4 disabled_untested 1351vfmsub132ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0x9a, CPUFeature_FMA 1352vfmsub213ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xaa, CPUFeature_FMA 1353vfmsub231ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xba, CPUFeature_FMA 1354######## VFMSUBSD/VFMSUB132SD/VFMSUB213SD/VFMSUB231SD ########################## 1355vfmsubsd Lsd Wsd Hsd Vsd, 0xc4 RXB.00011 0.src.x.01 0x6f, 1356 CPUFeature_FMA4 disabled_untested 1357vfmsubsd Wsd Lsd Hsd Vsd, 0xc4 RXB.00011 1.src.x.01 0x6f, 1358 CPUFeature_FMA4 disabled_untested 1359vfmsub132sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0x9b, CPUFeature_FMA 1360vfmsub213sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0xab, CPUFeature_FMA 1361vfmsub231sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0xbb, CPUFeature_FMA 1362######## VFMSUBSS/VFMSUB132SS/VFMSUB213SS/VFMSUB231SS ########################## 1363vfmsubss Lss Wss Hss Vss, 0xc4 RXB.00011 0.src.x.01 0x6e, 1364 CPUFeature_FMA4 disabled_untested 1365vfmsubss Wss Lss Hss Vss, 0xc4 RXB.00011 1.src.x.01 0x6e, 1366 CPUFeature_FMA4 disabled_untested 1367vfmsub132ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0x9b, CPUFeature_FMA 1368vfmsub213ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0xab, CPUFeature_FMA 1369vfmsub231ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0xbb, CPUFeature_FMA 1370######## VFNMADDPD/VFNMADD132PD/VFNMADD213PD/VFNMADD231PD ###################### 1371vfnmaddpd Lpdx Wpdx Hpdx Vpdx, 0xc4 RXB.00011 0.src.L.01 0x79, 1372 CPUFeature_FMA4 disabled_untested 1373vfnmaddpd Wpdx Lpdx Hpdx Vpdx, 0xc4 RXB.00011 1.src.L.01 0x79, 1374 CPUFeature_FMA4 disabled_untested 1375vfnmadd132pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0x9c, CPUFeature_FMA 1376vfnmadd213pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xac, CPUFeature_FMA 1377vfnmadd231pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xbc, CPUFeature_FMA 1378######## VFNMADDPS/VFNMADD132PS/VFNMADD213PS/VFNMADD231PS ###################### 1379vfnmaddps Lpsx Wpsx Hpsx Vpsx, 0xc4 RXB.00011 0.src.L.01 0x78, 1380 CPUFeature_FMA4 disabled_untested 1381vfnmaddps Wpsx Lpsx Hpsx Vpsx, 0xc4 RXB.00011 1.src.L.01 0x78, 1382 CPUFeature_FMA4 disabled_untested 1383vfnmadd132ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0x9c, CPUFeature_FMA 1384vfnmadd213ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xac, CPUFeature_FMA 1385vfnmadd231ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xbc, CPUFeature_FMA 1386######## VFNMADDSD/VFNMADD132SD/VFNMADD213SD/VFNMADD231SD ###################### 1387vfnmaddsd Lsd Wsd Hsd Vsd, 0xc4 RXB.00011 0.src.x.01 0x7b, 1388 CPUFeature_FMA4 disabled_untested 1389vfnmaddsd Wsd Lsd Hsd Vsd, 0xc4 RXB.00011 1.src.x.01 0x7b, 1390 CPUFeature_FMA4 disabled_untested 1391vfnmadd132sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0x9d, CPUFeature_FMA 1392vfnmadd213sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0xad, CPUFeature_FMA 1393vfnmadd231sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0xbd, CPUFeature_FMA 1394######## VFMADDSS/VFMADD132SS/VFMADD213SS/VFMADD231SS ########################## 1395vfnmaddss Lss Wss Hss Vss, 0xc4 RXB.00011 0.src.x.01 0x7a, 1396 CPUFeature_FMA4 disabled_untested 1397vfnmaddss Wss Lss Hss Vss, 0xc4 RXB.00011 1.src.x.01 0x7a, 1398 CPUFeature_FMA4 disabled_untested 1399vfnmadd132ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0x9d, CPUFeature_FMA 1400vfnmadd213ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0xad, CPUFeature_FMA 1401vfnmadd231ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0xbd, CPUFeature_FMA 1402######## VFNMSUBPD/VFNMSUB132PD/VFNMSUB213PD/VFNMSUB231PD ###################### 1403vfnmsubpd Lpdx Wpdx Hpdx Vpdx, 0xc4 RXB.00011 0.src.L.01 0x7d, 1404 CPUFeature_FMA4 disabled_untested 1405vfnmsubpd Wpdx Lpdx Hpdx Vpdx, 0xc4 RXB.00011 1.src.L.01 0x7d, 1406 CPUFeature_FMA4 disabled_untested 1407vfnmsub132pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0x9e, CPUFeature_FMA 1408vfnmsub213pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xae, CPUFeature_FMA 1409vfnmsub231pd Wpdx Hpdx Vpdx, 0xc4 RXB.00010 1.src.L.01 0xbe, CPUFeature_FMA 1410######## VFNMSUBPS/VFNMSUB132PS/VFNMSUB213PS/VFNMSUB231PS ###################### 1411vfnmsubps Lpsx Wpsx Hpsx Vpsx, 0xc4 RXB.00011 0.src.L.01 0x7c, 1412 CPUFeature_FMA4 disabled_untested 1413vfnmsubps Wpsx Lpsx Hpsx Vpsx, 0xc4 RXB.00011 1.src.L.01 0x7c, 1414 CPUFeature_FMA4 disabled_untested 1415vfnmsub132ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0x9e, CPUFeature_FMA 1416vfnmsub213ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xae, CPUFeature_FMA 1417vfnmsub231ps Wpsx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0xbe, CPUFeature_FMA 1418######## VFNMSUBSD/VFNMSUB132SD/VFNMSUB213SD/VFNMSUB231SD ###################### 1419vfnmsubsd Lsd Wsd Hsd Vsd, 0xc4 RXB.00011 0.src.x.01 0x7f, 1420 CPUFeature_FMA4 disabled_untested 1421vfnmsubsd Wsd Lsd Hsd Vsd, 0xc4 RXB.00011 1.src.x.01 0x7f, 1422 CPUFeature_FMA4 disabled_untested 1423vfnmsub132sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0x9f, CPUFeature_FMA 1424vfnmsub213sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0xaf, CPUFeature_FMA 1425vfnmsub231sd Wsd Hsd Vsd, 0xc4 RXB.00010 1.src.x.01 0xbf, CPUFeature_FMA 1426######## VFMSUBSS/VFMSUB132SS/VFMSUB213SS/VFMSUB231SS ########################## 1427vfnmsubss Lss Wss Hss Vss, 0xc4 RXB.00011 0.src.x.01 0x7e, 1428 CPUFeature_FMA4 disabled_untested 1429vfnmsubss Wss Lss Hss Vss, 0xc4 RXB.00011 1.src.x.01 0x7e, 1430 CPUFeature_FMA4 disabled_untested 1431vfnmsub132ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0x9f, CPUFeature_FMA 1432vfnmsub213ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0xaf, CPUFeature_FMA 1433vfnmsub231ss Wss Hss Vss, 0xc4 RXB.00010 0.src.x.01 0xbf, CPUFeature_FMA 1434######## VFRCZPD ############################################################### 1435vfrczpd Wpdx Vpdx, 0x8f RXB.01001 0.1111.L.00 0x81, 1436 CPUFeature_XOP disabled_untested 1437######## VFRCZPS ############################################################### 1438vfrczps Wpsx Vpsx, 0x8f RXB.01001 0.1111.L.00 0x80, 1439 CPUFeature_XOP disabled_untested 1440######## VFRCZSD ############################################################### 1441vfrczsd Wsd Vsd, 0x8f RXB.01001 0.1111.0.00 0x83, 1442 CPUFeature_XOP disabled_untested 1443######## VFRCZSS ############################################################### 1444vfrczss Wss Vss, 0x8f RXB.01001 0.1111.0.00 0x82, 1445 CPUFeature_XOP disabled_untested 1446######## VINSERTI128 ########################################################### 1447vinserti128 Ib Wo Hdo Vdo, 0xc4 RXB.00011 0.src.1.01 0x38, CPUFeature_AVX2 1448######## VINSERTF128 ########################################################### 1449vinsertf128 Ib Wo Hdo Vdo, 0xc4 RXB.00011 0.src.1.01 0x18, CPUFeature_AVX 1450######## VMASKMOVPD ############################################################ 1451vmaskmovpd Mpdx Hx Vpdx, 0xc4 RXB.00010 0.src.L.01 0x2d, CPUFeature_AVX 1452vmaskmovpd Vpdx Hx Mpdx, 0xc4 RXB.00010 0.src.L.01 0x2f, CPUFeature_AVX 1453######## VMASKMOVPS ############################################################ 1454vmaskmovps Mpdx Hx Vpdx, 0xc4 RXB.00010 0.src.L.01 0x2c, CPUFeature_AVX 1455vmaskmovps Vpdx Hx Mpdx, 0xc4 RXB.00010 0.src.L.01 0x2e, CPUFeature_AVX 1456######## VPCMOV ################################################################ 1457vpcmov Lx Wx Hx Vx, 0x8f RXB.01000 0.src.L.00 0xa2, 1458 CPUFeature_XOP disabled_untested 1459vpcmov Wx Lx Hx Vx, 0x8f RXB.01000 1.src.L.00 0xa2, 1460 CPUFeature_XOP disabled_untested 1461######## VPCOMB ################################################################ 1462vpcomb Ib Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0xcc, 1463 CPUFeature_XOP disabled_untested 1464######## VPCOMD ################################################################ 1465vpcomd Ib Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0xce, 1466 CPUFeature_XOP disabled_untested 1467######## VPCOMQ ################################################################ 1468vpcomq Ib Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0xcf, 1469 CPUFeature_XOP disabled_untested 1470######## VPCOMUB ############################################################### 1471vpcomub Ib Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0xec, 1472 CPUFeature_XOP disabled_untested 1473######## VPCOMUD ############################################################### 1474vpcomud Ib Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0xee, 1475 CPUFeature_XOP disabled_untested 1476######## VPCOMUQ ############################################################### 1477vpcomuq Ib Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0xef, 1478 CPUFeature_XOP disabled_untested 1479######## VPCOMUW ############################################################### 1480vpcomuw Ib Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0xed, 1481 CPUFeature_XOP disabled_untested 1482######## VPCOMW ################################################################ 1483vpcomw Ib Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0xcd, 1484 CPUFeature_XOP disabled_untested 1485######## VPERMD ################################################################ 1486vpermd Wdo Hdo Vdo, 0xc4 RXB.00010 0.src.1.01 0x36, CPUFeature_AVX2 1487######## VPERM2I128 ############################################################ 1488vperm2i128 Ib Wdo Hdo Vdo, 0xc4 RXB.00011 0.src.1.01 0x46, CPUFeature_AVX2 1489######## VPERM2F128 ############################################################ 1490vperm2f128 Ib Wdo Hdo Vdo, 0xc4 RXB.00011 0.src.1.01 0x06, CPUFeature_AVX 1491######## VPERMIL2PD ############################################################ 1492vpermil2pd I2 Lpdx Wpdx Hpdx Vpdx, 0xc4 RXB.00011 0.src.L.01 0x49, 1493 CPUFeature_XOP disabled_untested 1494vpermil2pd I2 Wpdx Lpdx Hpdx Vpdx, 0xc4 RXB.00011 1.src.L.01 0x49, 1495 CPUFeature_XOP disabled_untested 1496######## VPERMIL2PS ############################################################ 1497vpermil2ps I2 Lpsx Wpsx Hpsx Vpsx, 0xc4 RXB.00011 0.src.L.01 0x48, 1498 CPUFeature_XOP disabled_untested 1499vpermil2ps I2 Wpsx Lpsx Hpsx Vpsx, 0xc4 RXB.00011 1.src.L.01 0x48, 1500 CPUFeature_XOP disabled_untested 1501######## VPERMILPD ############################################################# 1502vpermilpd Wpqwx Hpdx Vpdx, 0xc4 RXB.00010 0.src.L.01 0x0d, CPUFeature_AVX 1503vpermilpd Ib Wpdx Vpdx, 0xc4 RXB.00011 0.1111.L.01 0x05, CPUFeature_AVX 1504######## VPERMILPS ############################################################# 1505vpermilps Wpdwx Hpsx Vpsx, 0xc4 RXB.00010 0.src.L.01 0x0c, CPUFeature_AVX 1506vpermilps Ib Wpsx Vpsx, 0xc4 RXB.00011 0.1111.L.01 0x04, CPUFeature_AVX 1507######## VPERMPS ############################################################### 1508vpermps Wdo Hdo Vdo, 0xc4 RXB.00010 0.src.1.01 0x16, CPUFeature_AVX2 1509######## VPERMPD ############################################################### 1510vpermpd Ib Wdo Vdo, 0xc4 RXB.00011 1.1111.1.01 0x01, CPUFeature_AVX2 1511######## VPERMQ ################################################################ 1512vpermq Ib Wdo Vdo, 0xc4 RXB.00011 1.1111.1.01 0x00, CPUFeature_AVX2 1513######## VPHADDBD ############################################################## 1514vphaddbd Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xc2, 1515 CPUFeature_XOP disabled_untested 1516######## VPHADDBQ ############################################################## 1517vphaddbq Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xc3, 1518 CPUFeature_XOP disabled_untested 1519######## VPHADDBW ############################################################## 1520vphaddbw Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xc1, 1521 CPUFeature_XOP disabled_untested 1522######## VPHADDDQ ############################################################## 1523vphadddq Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xcb, 1524 CPUFeature_XOP disabled_untested 1525######## VPHADDUBD ############################################################# 1526vphaddubd Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xd2, 1527 CPUFeature_XOP disabled_untested 1528######## VPHADDUBQ ############################################################# 1529vphaddubq Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xd3, 1530 CPUFeature_XOP disabled_untested 1531######## VPHADDUBW ############################################################# 1532vphaddubw Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xd1, 1533 CPUFeature_XOP disabled_untested 1534######## VPHADDUDQ ############################################################# 1535vphaddudq Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xdb, 1536 CPUFeature_XOP disabled_untested 1537######## VPHADDUWD ############################################################# 1538vphadduwd Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xd6, 1539 CPUFeature_XOP disabled_untested 1540######## VPHADDUWQ ############################################################# 1541vphadduwq Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xd7, 1542 CPUFeature_XOP disabled_untested 1543######## VPHADDWD ############################################################## 1544vphaddwd Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xc6, 1545 CPUFeature_XOP disabled_untested 1546######## VPHADDWQ ############################################################## 1547vphaddwq Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xc7, 1548 CPUFeature_XOP disabled_untested 1549######## VPHSUBBW ############################################################## 1550vphsubbw Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xe1, 1551 CPUFeature_XOP disabled_untested 1552######## VPHSUBDQ ############################################################## 1553vphsubdq Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xe3, 1554 CPUFeature_XOP disabled_untested 1555######## VPHSUBWD ############################################################## 1556vphsubwd Wo Vo, 0x8f RXB.01001 0.1111.0.00 0xe2, 1557 CPUFeature_XOP disabled_untested 1558######## VPMACSDD ############################################################## 1559vpmacsdd Lpj Wpj Hpj Vpj, 0x8f RXB.01000 0.src.0.00 0x9e, 1560 CPUFeature_XOP disabled_untested 1561######## VPMACSDQH ############################################################# 1562vpmacsdqh Lo Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0x9f, 1563 CPUFeature_XOP disabled_untested 1564######## VPMACSDQL ############################################################# 1565vpmacsdql Lo Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0x97, 1566 CPUFeature_XOP disabled_untested 1567######## VPMACSSDD ############################################################# 1568vpmacssdd Lpj Wpj Hpj Vpj, 0x8f RXB.01000 0.src.0.00 0x8e, 1569 CPUFeature_XOP disabled_untested 1570######## VPMACSSDQH ############################################################ 1571vpmacssdqh Lo Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0x8f, 1572 CPUFeature_XOP disabled_untested 1573######## VPMACSSDQL ############################################################ 1574vpmacssdql Lo Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0x87, 1575 CPUFeature_XOP disabled_untested 1576######## VPMACSSWD ############################################################# 1577vpmacsswd Lo Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0x86, 1578 CPUFeature_XOP disabled_untested 1579######## VPMACSSWW ############################################################# 1580vpmacssww Lpi Wpi Hpi Vpi, 0x8f RXB.01000 0.src.0.00 0x85, 1581 CPUFeature_XOP disabled_untested 1582######## VPMACSWD ############################################################## 1583vpmacswd Lo Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0x96, 1584 CPUFeature_XOP disabled_untested 1585######## VPMACSWW ############################################################## 1586vpmacsww Lpi Wpi Hpi Vpi, 0x8f RXB.01000 0.src.0.00 0x95, 1587 CPUFeature_XOP disabled_untested 1588######## VPMADCSSWD ############################################################ 1589vpmadcsswd Lo Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0xa6, 1590 CPUFeature_XOP disabled_untested 1591######## VPMADCSWD ############################################################# 1592vpmadcswd Lo Wo Ho Vo, 0x8f RXB.01000 0.src.0.00 0xb6, 1593 CPUFeature_XOP disabled_untested 1594######## VPPERM ################################################################ 1595vpperm Lpb Wpb Hpb Vpb, 0x8f RXB.01000 0.src.0.00 0xa3, 1596 CPUFeature_XOP disabled_untested 1597vpperm Wpb Lpb Hpb Vpb, 0x8f RXB.01000 1.src.0.00 0xa3, 1598 CPUFeature_XOP disabled_untested 1599######## VPROTB ################################################################ 1600vprotb Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x90, 1601 CPUFeature_XOP disabled_untested 1602vprotb Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x90, 1603 CPUFeature_XOP disabled_untested 1604vprotb Ib Wo Vo, 0x8f RXB.01000 0.1111.0.00 0xc0, 1605 CPUFeature_XOP disabled_untested 1606######## VPROTD ################################################################ 1607vprotd Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x92, 1608 CPUFeature_XOP disabled_untested 1609vprotd Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x92, 1610 CPUFeature_XOP disabled_untested 1611vprotd Ib Wo Vo, 0x8f RXB.01000 0.1111.0.00 0xc2, 1612 CPUFeature_XOP disabled_untested 1613######## VPROTQ ################################################################ 1614vprotq Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x93, 1615 CPUFeature_XOP disabled_untested 1616vprotq Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x93, 1617 CPUFeature_XOP disabled_untested 1618vprotq Ib Wo Vo, 0x8f RXB.01000 0.1111.0.00 0xc3, 1619 CPUFeature_XOP disabled_untested 1620######## VPROTW ################################################################ 1621vprotw Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x91, 1622 CPUFeature_XOP disabled_untested 1623vprotw Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x91, 1624 CPUFeature_XOP disabled_untested 1625vprotw Ib Wo Vo, 0x8f RXB.01000 0.1111.0.00 0xc1, 1626 CPUFeature_XOP disabled_untested 1627######## VPSHAB ################################################################ 1628vpshab Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x98, 1629 CPUFeature_XOP disabled_untested 1630vpshab Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x98, 1631 CPUFeature_XOP disabled_untested 1632######## VPSHAD ################################################################ 1633vpshad Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x9a, 1634 CPUFeature_XOP disabled_untested 1635vpshad Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x9a, 1636 CPUFeature_XOP disabled_untested 1637######## VPSHAQ ################################################################ 1638vpshaq Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x9b, 1639 CPUFeature_XOP disabled_untested 1640vpshaq Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x9b, 1641 CPUFeature_XOP disabled_untested 1642######## VPSHAW ################################################################ 1643vpshaw Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x99, 1644 CPUFeature_XOP disabled_untested 1645vpshaw Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x99, 1646 CPUFeature_XOP disabled_untested 1647######## VPSHLB ################################################################ 1648vpshlb Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x94, 1649 CPUFeature_XOP disabled_untested 1650vpshlb Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x94, 1651 CPUFeature_XOP disabled_untested 1652######## VPSHLD ################################################################ 1653vpshld Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x96, 1654 CPUFeature_XOP disabled_untested 1655vpshld Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x96, 1656 CPUFeature_XOP disabled_untested 1657######## VPSHLQ ################################################################ 1658vpshlq Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x97, 1659 CPUFeature_XOP disabled_untested 1660vpshlq Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x97, 1661 CPUFeature_XOP disabled_untested 1662######## VPSHLW ################################################################ 1663vpshlw Ho Wo Vo, 0x8f RXB.01001 0.src.0.00 0x95, 1664 CPUFeature_XOP disabled_untested 1665vpshlw Wo Ho Vo, 0x8f RXB.01001 1.src.0.00 0x95, 1666 CPUFeature_XOP disabled_untested 1667######## VTESTPD ############################################################### 1668vtestpd Wpdx Vpdx, 0xc4 RXB.00010 0.1111.L.01 0x0f, CPUFeature_AVX 1669######## VTESTPS ############################################################### 1670vtestps Wpsx Vpsx, 0xc4 RXB.00010 0.1111.L.01 0x0e, CPUFeature_AVX 1671######## VZEROALL ############################################################## 1672vzeroall, 0xc4 RXB.00001 x.1111.1.00 0x77, CPUFeature_AVX 1673######## VZEROUPPER ############################################################ 1674vzeroupper, 0xc4 RXB.00001 x.1111.0.00 0x77, CPUFeature_AVX 1675######## XORPD/VXORPD ########################################################## 1676xorpd Wpd Vpd, 0x66 0x0f 0x57, CPUFeature_SSE2 1677vxorpd Wpdx Hpdx Vpdx, 0xc4 RXB.00001 x.src.L.01 0x57, CPUFeature_AVX 1678######## XORPS/VXORPS ########################################################## 1679xorps Wpd Vpd, 0x0f 0x57, CPUFeature_SSE 1680vxorps Wpsx Hpsx Vpsx, 0xc4 RXB.00001 x.src.L.00 0x57, CPUFeature_AVX 1681######## XGETBV ################################################################ 1682xgetbv, 0x0f 0x01 0xd0, CPUFeature_FXSR 1683######## XRSTOR ################################################################ 1684xrstor Msx, 0x0f 0xae /5, norexw CPUFeature_FXSR 1685xrstor64 Msx, rexw 0x0f 0xae /5, amd64 CPUFeature_FXSR 1686######## XSAVE ################################################################# 1687xsave Msx, 0x0f 0xae /4, norexw CPUFeature_FXSR 1688xsave64 Msx, rexw 0x0f 0xae /4, amd64 CPUFeature_FXSR 1689######## XSAVEOPT ############################################################## 1690xsaveopt Msx, 0x0f 0xae /6, norexw CPUFeature_FXSR 1691xsaveopt64 Msx, rexw 0x0f 0xae /6, amd64 CPUFeature_FXSR 1692######## XSETBV ################################################################ 1693xsetbv, 0x0f 0x01 0xd1, CPUFeature_FXSR nacl-forbidden 1694################################################################################ 1695