1 1.1.1.4 christos /* PREFIX_EVEX_0F2E */ 2 1.1.1.4 christos { 3 1.1.1.4 christos { "%XEvucomis%XS", { XMScalar, EXd, EXxEVexS }, 0 }, 4 1.1.1.4 christos { "vucomxs%XS", { XMScalar, EXd, EXxEVexS }, 0 }, 5 1.1.1.4 christos { "%XEvucomis%XD", { XMScalar, EXq, EXxEVexS }, 0 }, 6 1.1.1.4 christos { "vucomxs%XD", { XMScalar, EXq, EXxEVexS }, 0 }, 7 1.1.1.4 christos }, 8 1.1.1.4 christos /* PREFIX_EVEX_0F2F */ 9 1.1.1.4 christos { 10 1.1.1.4 christos { "%XEvcomis%XS", { XMScalar, EXd, EXxEVexS }, 0 }, 11 1.1.1.4 christos { "vcomxs%XS", { XMScalar, EXd, EXxEVexS }, 0 }, 12 1.1.1.4 christos { "%XEvcomis%XD", { XMScalar, EXq, EXxEVexS }, 0 }, 13 1.1.1.4 christos { "vcomxs%XD", { XMScalar, EXq, EXxEVexS }, 0 }, 14 1.1.1.4 christos }, 15 1.1.1.2 christos /* PREFIX_EVEX_0F5B */ 16 1.1 christos { 17 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F5B_P_0) }, 18 1.1.1.3 christos { "%XEvcvttp%XS2dq", { XM, EXx, EXxEVexS }, 0 }, 19 1.1.1.3 christos { "%XEvcvtp%XS2dq", { XM, EXx, EXxEVexR }, 0 }, 20 1.1 christos }, 21 1.1.1.2 christos /* PREFIX_EVEX_0F6F */ 22 1.1 christos { 23 1.1 christos { Bad_Opcode }, 24 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F6F_P_1) }, 25 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F6F_P_2) }, 26 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F6F_P_3) }, 27 1.1 christos }, 28 1.1.1.2 christos /* PREFIX_EVEX_0F70 */ 29 1.1 christos { 30 1.1 christos { Bad_Opcode }, 31 1.1.1.3 christos { "%XEvpshufhw", { XM, EXx, Ib }, 0 }, 32 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F70_P_2) }, 33 1.1.1.3 christos { "%XEvpshuflw", { XM, EXx, Ib }, 0 }, 34 1.1 christos }, 35 1.1.1.2 christos /* PREFIX_EVEX_0F78 */ 36 1.1 christos { 37 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F78_P_0) }, 38 1.1.1.2 christos { "vcvttss2usi", { Gdq, EXd, EXxEVexS }, 0 }, 39 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F78_P_2) }, 40 1.1.1.2 christos { "vcvttsd2usi", { Gdq, EXq, EXxEVexS }, 0 }, 41 1.1 christos }, 42 1.1.1.2 christos /* PREFIX_EVEX_0F79 */ 43 1.1 christos { 44 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F79_P_0) }, 45 1.1.1.2 christos { "vcvtss2usi", { Gdq, EXd, EXxEVexR }, 0 }, 46 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F79_P_2) }, 47 1.1.1.2 christos { "vcvtsd2usi", { Gdq, EXq, EXxEVexR }, 0 }, 48 1.1 christos }, 49 1.1.1.2 christos /* PREFIX_EVEX_0F7A */ 50 1.1 christos { 51 1.1 christos { Bad_Opcode }, 52 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F7A_P_1) }, 53 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F7A_P_2) }, 54 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F7A_P_3) }, 55 1.1 christos }, 56 1.1.1.2 christos /* PREFIX_EVEX_0F7B */ 57 1.1 christos { 58 1.1 christos { Bad_Opcode }, 59 1.1.1.3 christos { "vcvtusi2ssY{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, 60 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F7B_P_2) }, 61 1.1.1.3 christos { "vcvtusi2sdY{%LQ|}", { XMScalar, VexScalar, EXxEVexR64, Edq }, 0 }, 62 1.1 christos }, 63 1.1.1.2 christos /* PREFIX_EVEX_0F7E */ 64 1.1 christos { 65 1.1 christos { Bad_Opcode }, 66 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F7E_P_1) }, 67 1.1.1.2 christos { VEX_LEN_TABLE (VEX_LEN_0F7E_P_2) }, 68 1.1 christos }, 69 1.1.1.2 christos /* PREFIX_EVEX_0F7F */ 70 1.1 christos { 71 1.1 christos { Bad_Opcode }, 72 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F7F_P_1) }, 73 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F7F_P_2) }, 74 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F7F_P_3) }, 75 1.1 christos }, 76 1.1.1.2 christos /* PREFIX_EVEX_0FC2 */ 77 1.1 christos { 78 1.1.1.2 christos { "vcmppX", { MaskG, Vex, EXx, EXxEVexS, CMP }, PREFIX_OPCODE }, 79 1.1.1.2 christos { "vcmps%XS", { MaskG, VexScalar, EXd, EXxEVexS, CMP }, 0 }, 80 1.1.1.2 christos { "vcmppX", { MaskG, Vex, EXx, EXxEVexS, CMP }, PREFIX_OPCODE }, 81 1.1.1.2 christos { "vcmps%XD", { MaskG, VexScalar, EXq, EXxEVexS, CMP }, 0 }, 82 1.1 christos }, 83 1.1.1.2 christos /* PREFIX_EVEX_0FE6 */ 84 1.1 christos { 85 1.1 christos { Bad_Opcode }, 86 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0FE6_P_1) }, 87 1.1.1.3 christos { "%XEvcvttp%XD2dq%XY", { XMxmmq, EXx, EXxEVexS }, 0 }, 88 1.1.1.3 christos { "%XEvcvtp%XD2dq%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 89 1.1 christos }, 90 1.1.1.2 christos /* PREFIX_EVEX_0F3810 */ 91 1.1 christos { 92 1.1 christos { Bad_Opcode }, 93 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3810_P_1) }, 94 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3810_P_2) }, 95 1.1 christos }, 96 1.1.1.2 christos /* PREFIX_EVEX_0F3811 */ 97 1.1 christos { 98 1.1 christos { Bad_Opcode }, 99 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3811_P_1) }, 100 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3811_P_2) }, 101 1.1 christos }, 102 1.1.1.2 christos /* PREFIX_EVEX_0F3812 */ 103 1.1 christos { 104 1.1 christos { Bad_Opcode }, 105 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3812_P_1) }, 106 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3812_P_2) }, 107 1.1 christos }, 108 1.1.1.2 christos /* PREFIX_EVEX_0F3813 */ 109 1.1 christos { 110 1.1 christos { Bad_Opcode }, 111 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3813_P_1) }, 112 1.1.1.3 christos { "%XEvcvtph2p%XS", { XM, EXxmmq, EXxEVexS }, 0 }, 113 1.1 christos }, 114 1.1.1.2 christos /* PREFIX_EVEX_0F3814 */ 115 1.1 christos { 116 1.1 christos { Bad_Opcode }, 117 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3814_P_1) }, 118 1.1.1.2 christos { "vprorv%DQ", { XM, Vex, EXx }, 0 }, 119 1.1 christos }, 120 1.1.1.2 christos /* PREFIX_EVEX_0F3815 */ 121 1.1 christos { 122 1.1 christos { Bad_Opcode }, 123 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3815_P_1) }, 124 1.1.1.2 christos { "vprolv%DQ", { XM, Vex, EXx }, 0 }, 125 1.1 christos }, 126 1.1.1.2 christos /* PREFIX_EVEX_0F3820 */ 127 1.1 christos { 128 1.1 christos { Bad_Opcode }, 129 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3820_P_1) }, 130 1.1.1.3 christos { "%XEvpmovsxbw", { XM, EXxmmq }, 0 }, 131 1.1 christos }, 132 1.1.1.2 christos /* PREFIX_EVEX_0F3821 */ 133 1.1 christos { 134 1.1 christos { Bad_Opcode }, 135 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3821_P_1) }, 136 1.1.1.3 christos { "%XEvpmovsxbd", { XM, EXxmmqd }, 0 }, 137 1.1 christos }, 138 1.1.1.2 christos /* PREFIX_EVEX_0F3822 */ 139 1.1 christos { 140 1.1 christos { Bad_Opcode }, 141 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3822_P_1) }, 142 1.1.1.3 christos { "%XEvpmovsxbq", { XM, EXxmmdw }, 0 }, 143 1.1 christos }, 144 1.1.1.2 christos /* PREFIX_EVEX_0F3823 */ 145 1.1 christos { 146 1.1 christos { Bad_Opcode }, 147 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3823_P_1) }, 148 1.1.1.3 christos { "%XEvpmovsxwd", { XM, EXxmmq }, 0 }, 149 1.1 christos }, 150 1.1.1.2 christos /* PREFIX_EVEX_0F3824 */ 151 1.1 christos { 152 1.1 christos { Bad_Opcode }, 153 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3824_P_1) }, 154 1.1.1.3 christos { "%XEvpmovsxwq", { XM, EXxmmqd }, 0 }, 155 1.1 christos }, 156 1.1.1.2 christos /* PREFIX_EVEX_0F3825 */ 157 1.1 christos { 158 1.1 christos { Bad_Opcode }, 159 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3825_P_1) }, 160 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3825_P_2) }, 161 1.1 christos }, 162 1.1.1.2 christos /* PREFIX_EVEX_0F3826 */ 163 1.1 christos { 164 1.1 christos { Bad_Opcode }, 165 1.1.1.2 christos { "vptestnm%BW", { MaskG, Vex, EXx }, 0 }, 166 1.1.1.2 christos { "vptestm%BW", { MaskG, Vex, EXx }, 0 }, 167 1.1 christos }, 168 1.1.1.2 christos /* PREFIX_EVEX_0F3827 */ 169 1.1 christos { 170 1.1 christos { Bad_Opcode }, 171 1.1.1.2 christos { "vptestnm%DQ", { MaskG, Vex, EXx }, 0 }, 172 1.1.1.2 christos { "vptestm%DQ", { MaskG, Vex, EXx }, 0 }, 173 1.1 christos }, 174 1.1.1.2 christos /* PREFIX_EVEX_0F3828 */ 175 1.1 christos { 176 1.1 christos { Bad_Opcode }, 177 1.1.1.3 christos { "vpmovm2Y%BW", { XM, MaskR }, 0 }, 178 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3828_P_2) }, 179 1.1 christos }, 180 1.1.1.2 christos /* PREFIX_EVEX_0F3829 */ 181 1.1 christos { 182 1.1 christos { Bad_Opcode }, 183 1.1.1.3 christos { "vpmov%BW2mY", { MaskG, Ux }, 0 }, 184 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3829_P_2) }, 185 1.1 christos }, 186 1.1.1.2 christos /* PREFIX_EVEX_0F382A */ 187 1.1 christos { 188 1.1 christos { Bad_Opcode }, 189 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F382A_P_1) }, 190 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F382A_P_2) }, 191 1.1 christos }, 192 1.1.1.2 christos /* PREFIX_EVEX_0F3830 */ 193 1.1 christos { 194 1.1 christos { Bad_Opcode }, 195 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3830_P_1) }, 196 1.1.1.3 christos { "%XEvpmovzxbw", { XM, EXxmmq }, 0 }, 197 1.1 christos }, 198 1.1.1.2 christos /* PREFIX_EVEX_0F3831 */ 199 1.1 christos { 200 1.1 christos { Bad_Opcode }, 201 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3831_P_1) }, 202 1.1.1.3 christos { "%XEvpmovzxbd", { XM, EXxmmqd }, 0 }, 203 1.1 christos }, 204 1.1.1.2 christos /* PREFIX_EVEX_0F3832 */ 205 1.1 christos { 206 1.1 christos { Bad_Opcode }, 207 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3832_P_1) }, 208 1.1.1.3 christos { "%XEvpmovzxbq", { XM, EXxmmdw }, 0 }, 209 1.1 christos }, 210 1.1.1.2 christos /* PREFIX_EVEX_0F3833 */ 211 1.1 christos { 212 1.1 christos { Bad_Opcode }, 213 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3833_P_1) }, 214 1.1.1.3 christos { "%XEvpmovzxwd", { XM, EXxmmq }, 0 }, 215 1.1 christos }, 216 1.1.1.2 christos /* PREFIX_EVEX_0F3834 */ 217 1.1 christos { 218 1.1 christos { Bad_Opcode }, 219 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3834_P_1) }, 220 1.1.1.3 christos { "%XEvpmovzxwq", { XM, EXxmmqd }, 0 }, 221 1.1 christos }, 222 1.1.1.2 christos /* PREFIX_EVEX_0F3835 */ 223 1.1 christos { 224 1.1 christos { Bad_Opcode }, 225 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3835_P_1) }, 226 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3835_P_2) }, 227 1.1 christos }, 228 1.1.1.2 christos /* PREFIX_EVEX_0F3838 */ 229 1.1 christos { 230 1.1 christos { Bad_Opcode }, 231 1.1.1.3 christos { "vpmovm2Y%DQ", { XM, MaskR }, 0 }, 232 1.1.1.3 christos { "%XEvpminsb", { XM, Vex, EXx }, 0 }, 233 1.1 christos }, 234 1.1.1.2 christos /* PREFIX_EVEX_0F3839 */ 235 1.1 christos { 236 1.1 christos { Bad_Opcode }, 237 1.1.1.3 christos { "vpmov%DQ2mY", { MaskG, Ux }, 0 }, 238 1.1.1.3 christos { "%XEvpmins%DQ", { XM, Vex, EXx }, 0 }, 239 1.1 christos }, 240 1.1.1.2 christos /* PREFIX_EVEX_0F383A */ 241 1.1 christos { 242 1.1 christos { Bad_Opcode }, 243 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F383A_P_1) }, 244 1.1.1.3 christos { "%XEvpminuw", { XM, Vex, EXx }, 0 }, 245 1.1 christos }, 246 1.1.1.4 christos /* PREFIX_EVEX_0F384A_W_0_L_2 */ 247 1.1 christos { 248 1.1 christos { Bad_Opcode }, 249 1.1.1.4 christos { "tcvtrowd2ps", { XM, Rtmm, VexGdq }, 0 }, 250 1.1.1.4 christos { "tilemovrow", { XM, Rtmm, VexGdq }, 0 }, 251 1.1.1.4 christos }, 252 1.1.1.4 christos /* PREFIX_EVEX_0F3852 */ 253 1.1.1.4 christos { 254 1.1.1.4 christos { "vdpphp%XS", { XM, Vex, EXx }, 0 }, 255 1.1.1.4 christos { "vdpbf16p%XS", { XM, Vex, EXx }, 0 }, 256 1.1.1.3 christos { VEX_W_TABLE (VEX_W_0F3852) }, 257 1.1.1.3 christos { "vp4dpws%XSd", { XM, Vex, Mxmm }, 0 }, 258 1.1 christos }, 259 1.1.1.2 christos /* PREFIX_EVEX_0F3853 */ 260 1.1 christos { 261 1.1 christos { Bad_Opcode }, 262 1.1 christos { Bad_Opcode }, 263 1.1.1.3 christos { VEX_W_TABLE (VEX_W_0F3853) }, 264 1.1.1.3 christos { "vp4dpws%XSds", { XM, Vex, Mxmm }, 0 }, 265 1.1 christos }, 266 1.1.1.2 christos /* PREFIX_EVEX_0F3868 */ 267 1.1 christos { 268 1.1 christos { Bad_Opcode }, 269 1.1 christos { Bad_Opcode }, 270 1.1 christos { Bad_Opcode }, 271 1.1.1.3 christos { "vp2intersectY%DQ", { MaskG, Vex, EXx, EXxEVexS }, 0 }, 272 1.1 christos }, 273 1.1.1.4 christos /* PREFIX_EVEX_0F386D_W_0_L_2 */ 274 1.1.1.4 christos { 275 1.1.1.4 christos { "tcvtrowps2phh", { XM, Rtmm, VexGdq }, 0 }, 276 1.1.1.4 christos { "tcvtrowps2bf16l", { XM, Rtmm, VexGdq }, 0 }, 277 1.1.1.4 christos { "tcvtrowps2phl", { XM, Rtmm, VexGdq }, 0 }, 278 1.1.1.4 christos { "tcvtrowps2bf16h", { XM, Rtmm, VexGdq }, 0 }, 279 1.1.1.4 christos }, 280 1.1.1.2 christos /* PREFIX_EVEX_0F3872 */ 281 1.1 christos { 282 1.1 christos { Bad_Opcode }, 283 1.1.1.2 christos { "vcvtnep%XS2bf16%XY", { XMxmmq, EXx }, 0 }, 284 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_0F3872_P_2) }, 285 1.1.1.2 christos { "vcvtne2p%XS2bf16", { XM, Vex, EXx}, 0 }, 286 1.1 christos }, 287 1.1.1.4 christos /* PREFIX_EVEX_0F3874 */ 288 1.1.1.4 christos { 289 1.1.1.4 christos { "vcvtbiasp%XH2bf8", { XMxmmq, Vex, EXxh }, 0 }, 290 1.1.1.4 christos { "vcvtp%XH2bf8%XY", { XMxmmq, EXxh }, 0 }, 291 1.1.1.4 christos { Bad_Opcode }, 292 1.1.1.4 christos { "vcvt2p%XH2bf8", { XM, Vex, EXxh }, 0 }, 293 1.1.1.4 christos }, 294 1.1.1.2 christos /* PREFIX_EVEX_0F389A */ 295 1.1 christos { 296 1.1 christos { Bad_Opcode }, 297 1.1 christos { Bad_Opcode }, 298 1.1.1.3 christos { "%XEvfmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 299 1.1.1.3 christos { "v4fmaddp%XS", { XM, Vex, Mxmm }, 0 }, 300 1.1 christos }, 301 1.1.1.2 christos /* PREFIX_EVEX_0F389B */ 302 1.1 christos { 303 1.1 christos { Bad_Opcode }, 304 1.1 christos { Bad_Opcode }, 305 1.1.1.3 christos { "%XEvfmsub132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, 0 }, 306 1.1.1.3 christos { "v4fmadds%XS", { XMScalar, VexScalar, Mxmm }, 0 }, 307 1.1 christos }, 308 1.1.1.2 christos /* PREFIX_EVEX_0F38AA */ 309 1.1 christos { 310 1.1 christos { Bad_Opcode }, 311 1.1 christos { Bad_Opcode }, 312 1.1.1.3 christos { "%XEvfmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 313 1.1.1.3 christos { "v4fnmaddp%XS", { XM, Vex, Mxmm }, 0 }, 314 1.1 christos }, 315 1.1.1.2 christos /* PREFIX_EVEX_0F38AB */ 316 1.1 christos { 317 1.1 christos { Bad_Opcode }, 318 1.1 christos { Bad_Opcode }, 319 1.1.1.3 christos { "%XEvfmsub213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, 0 }, 320 1.1.1.3 christos { "v4fnmadds%XS", { XMScalar, VexScalar, Mxmm }, 0 }, 321 1.1 christos }, 322 1.1.1.4 christos /* PREFIX_EVEX_0F3A07_W_0_L_2 */ 323 1.1.1.4 christos { 324 1.1.1.4 christos { "tcvtrowps2phh", { XM, Rtmm, Ib }, 0 }, 325 1.1.1.4 christos { "tcvtrowd2ps", { XM, Rtmm, Ib }, 0 }, 326 1.1.1.4 christos { "tilemovrow", { XM, Rtmm, Ib }, 0 }, 327 1.1.1.4 christos { "tcvtrowps2bf16h", { XM, Rtmm, Ib }, 0 }, 328 1.1.1.4 christos }, 329 1.1.1.2 christos /* PREFIX_EVEX_0F3A08 */ 330 1.1 christos { 331 1.1.1.2 christos { "vrndscalep%XH", { XM, EXxh, EXxEVexS, Ib }, 0 }, 332 1.1 christos { Bad_Opcode }, 333 1.1.1.2 christos { "vrndscalep%XS", { XM, EXx, EXxEVexS, Ib }, 0 }, 334 1.1.1.4 christos { "vrndscale%XB", { XM, EXxh, Ib }, 0 }, 335 1.1 christos }, 336 1.1.1.2 christos /* PREFIX_EVEX_0F3A0A */ 337 1.1 christos { 338 1.1.1.2 christos { "vrndscales%XH", { XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 }, 339 1.1 christos { Bad_Opcode }, 340 1.1.1.2 christos { "vrndscales%XS", { XMScalar, VexScalar, EXd, EXxEVexS, Ib }, 0 }, 341 1.1 christos }, 342 1.1.1.2 christos /* PREFIX_EVEX_0F3A26 */ 343 1.1 christos { 344 1.1.1.2 christos { "vgetmantp%XH", { XM, EXxh, EXxEVexS, Ib }, 0 }, 345 1.1 christos { Bad_Opcode }, 346 1.1.1.2 christos { "vgetmantp%XW", { XM, EXx, EXxEVexS, Ib }, 0 }, 347 1.1.1.4 christos { "vgetmant%XB", { XM, EXxh, Ib }, 0 }, 348 1.1 christos }, 349 1.1.1.2 christos /* PREFIX_EVEX_0F3A27 */ 350 1.1 christos { 351 1.1.1.2 christos { "vgetmants%XH", { XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 }, 352 1.1 christos { Bad_Opcode }, 353 1.1.1.2 christos { "vgetmants%XW", { XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, 0 }, 354 1.1 christos }, 355 1.1.1.4 christos /* PREFIX_EVEX_0F3A42_W_0 */ 356 1.1.1.4 christos { 357 1.1.1.4 christos { Bad_Opcode }, 358 1.1.1.4 christos { "%XEvmpsadbw", { XM, Vex, EXx, Ib }, 0 }, 359 1.1.1.4 christos { "vdbpsadbw", { XM, Vex, EXx, Ib }, 0 }, 360 1.1.1.4 christos }, 361 1.1.1.4 christos /* PREFIX_EVEX_0F3A52 */ 362 1.1.1.4 christos { 363 1.1.1.4 christos { "vminmaxp%XH", { XM, Vex, EXxh, EXxEVexS, Ib }, 0 }, 364 1.1.1.4 christos { Bad_Opcode }, 365 1.1.1.4 christos { "vminmaxp%XW", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, 366 1.1.1.4 christos { "vminmax%XB", { XM, Vex, EXxh, Ib }, 0 }, 367 1.1.1.4 christos }, 368 1.1.1.4 christos /* PREFIX_EVEX_0F3A53 */ 369 1.1.1.4 christos { 370 1.1.1.4 christos { "vminmaxs%XH", { XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 }, 371 1.1.1.4 christos { Bad_Opcode }, 372 1.1.1.4 christos { "vminmaxs%XW", { XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, 0 }, 373 1.1.1.4 christos }, 374 1.1.1.2 christos /* PREFIX_EVEX_0F3A56 */ 375 1.1 christos { 376 1.1.1.2 christos { "vreducep%XH", { XM, EXxh, EXxEVexS, Ib }, 0 }, 377 1.1 christos { Bad_Opcode }, 378 1.1.1.2 christos { "vreducep%XW", { XM, EXx, EXxEVexS, Ib }, 0 }, 379 1.1.1.4 christos { "vreduce%XB", { XM, EXxh, Ib }, 0 }, 380 1.1 christos }, 381 1.1.1.2 christos /* PREFIX_EVEX_0F3A57 */ 382 1.1 christos { 383 1.1.1.2 christos { "vreduces%XH", { XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 }, 384 1.1 christos { Bad_Opcode }, 385 1.1.1.2 christos { "vreduces%XW", { XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, 0 }, 386 1.1 christos }, 387 1.1.1.2 christos /* PREFIX_EVEX_0F3A66 */ 388 1.1 christos { 389 1.1.1.2 christos { "vfpclassp%XH%XZ", { MaskG, EXxh, Ib }, 0 }, 390 1.1 christos { Bad_Opcode }, 391 1.1.1.2 christos { "vfpclassp%XW%XZ", { MaskG, EXx, Ib }, 0 }, 392 1.1.1.4 christos { "vfpclass%XB%XZ", { MaskG, EXxh, Ib }, 0 }, 393 1.1 christos }, 394 1.1.1.2 christos /* PREFIX_EVEX_0F3A67 */ 395 1.1 christos { 396 1.1.1.2 christos { "vfpclasss%XH", { MaskG, EXw, Ib }, 0 }, 397 1.1 christos { Bad_Opcode }, 398 1.1.1.2 christos { "vfpclasss%XW", { MaskG, EXdq, Ib }, 0 }, 399 1.1 christos }, 400 1.1.1.4 christos /* PREFIX_EVEX_0F3A77_W_0_L_2 */ 401 1.1.1.4 christos { 402 1.1.1.4 christos { Bad_Opcode }, 403 1.1.1.4 christos { "tcvtrowps2bf16l", { XM, Rtmm, Ib }, 0 }, 404 1.1.1.4 christos { Bad_Opcode }, 405 1.1.1.4 christos { "tcvtrowps2phl", { XM, Rtmm, Ib }, 0 }, 406 1.1.1.4 christos }, 407 1.1.1.2 christos /* PREFIX_EVEX_0F3AC2 */ 408 1.1 christos { 409 1.1.1.2 christos { "vcmpp%XH", { MaskG, Vex, EXxh, EXxEVexS, CMP }, 0 }, 410 1.1.1.2 christos { "vcmps%XH", { MaskG, VexScalar, EXw, EXxEVexS, CMP }, 0 }, 411 1.1.1.3 christos { Bad_Opcode }, 412 1.1.1.4 christos { "vcmp%XB", { MaskG, Vex, EXxh, CMP }, 0 }, 413 1.1.1.3 christos }, 414 1.1.1.4 christos /* PREFIX_EVEX_MAP4_4x */ 415 1.1.1.3 christos { 416 1.1.1.4 christos { "%CFcmov%CCS", { VexGv, { CFCMOV_Fixup, 0 }, { CFCMOV_Fixup, 1 } }, 0 }, 417 1.1.1.3 christos { Bad_Opcode }, 418 1.1.1.4 christos { "%CFcmov%CCS", { VexGv, { CFCMOV_Fixup, 0 }, { CFCMOV_Fixup, 1 } }, 0 }, 419 1.1.1.4 christos { "set%ZU%CC", { Eb }, 0 }, 420 1.1.1.3 christos }, 421 1.1.1.3 christos /* PREFIX_EVEX_MAP4_F0 */ 422 1.1.1.3 christos { 423 1.1.1.3 christos { "crc32A", { Gdq, Eb }, 0 }, 424 1.1.1.3 christos { "invept", { Gm, Mo }, 0 }, 425 1.1.1.3 christos }, 426 1.1.1.3 christos /* PREFIX_EVEX_MAP4_F1 */ 427 1.1.1.3 christos { 428 1.1.1.3 christos { "crc32Q", { Gdq, Ev }, 0 }, 429 1.1.1.3 christos { "invvpid", { Gm, Mo }, 0 }, 430 1.1.1.3 christos { "crc32Q", { Gdq, Ev }, 0 }, 431 1.1.1.3 christos }, 432 1.1.1.3 christos /* PREFIX_EVEX_MAP4_F2 */ 433 1.1.1.3 christos { 434 1.1.1.3 christos { Bad_Opcode }, 435 1.1.1.3 christos { "invpcid", { Gm, M }, 0 }, 436 1.1.1.3 christos }, 437 1.1.1.3 christos /* PREFIX_EVEX_MAP4_F8 */ 438 1.1.1.3 christos { 439 1.1.1.3 christos { Bad_Opcode }, 440 1.1.1.3 christos { MOD_TABLE (MOD_EVEX_MAP4_F8_P_1) }, 441 1.1.1.3 christos { "movdir64b", { Gva, M }, 0 }, 442 1.1.1.3 christos { MOD_TABLE (MOD_EVEX_MAP4_F8_P_3) }, 443 1.1.1.3 christos }, 444 1.1.1.2 christos /* PREFIX_EVEX_MAP5_10 */ 445 1.1 christos { 446 1.1 christos { Bad_Opcode }, 447 1.1.1.2 christos { "vmovs%XH", { XMScalar, VexScalarR, EXw }, 0 }, 448 1.1 christos }, 449 1.1.1.2 christos /* PREFIX_EVEX_MAP5_11 */ 450 1.1 christos { 451 1.1 christos { Bad_Opcode }, 452 1.1.1.2 christos { "vmovs%XH", { EXwS, VexScalarR, XMScalar }, 0 }, 453 1.1 christos }, 454 1.1.1.4 christos /* PREFIX_EVEX_MAP5_18 */ 455 1.1.1.4 christos { 456 1.1.1.4 christos { "vcvtbiasp%XH2hf8", { XMxmmq, Vex, EXxh }, 0 }, 457 1.1.1.4 christos { "vcvtp%XH2hf8%XY", { XMxmmq, EXxh }, 0 }, 458 1.1.1.4 christos { Bad_Opcode }, 459 1.1.1.4 christos { "vcvt2p%XH2hf8", { XM, Vex, EXxh }, 0 }, 460 1.1.1.4 christos }, 461 1.1.1.4 christos /* PREFIX_EVEX_MAP5_1B */ 462 1.1.1.4 christos { 463 1.1.1.4 christos { "vcvtbiasp%XH2hf8s", { XMxmmq, Vex, EXxh }, 0 }, 464 1.1.1.4 christos { "vcvtp%XH2hf8s%XY", { XMxmmq, EXxh }, 0 }, 465 1.1.1.4 christos { Bad_Opcode }, 466 1.1.1.4 christos { "vcvt2p%XH2hf8s", { XM, Vex, EXxh }, 0 }, 467 1.1.1.4 christos }, 468 1.1.1.2 christos /* PREFIX_EVEX_MAP5_1D */ 469 1.1 christos { 470 1.1.1.2 christos { "vcvtss2s%XH", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 }, 471 1.1 christos { Bad_Opcode }, 472 1.1.1.2 christos { "vcvtps2p%XHx%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 473 1.1 christos }, 474 1.1.1.4 christos /* PREFIX_EVEX_MAP5_1E */ 475 1.1.1.4 christos { 476 1.1.1.4 christos { Bad_Opcode }, 477 1.1.1.4 christos { Bad_Opcode }, 478 1.1.1.4 christos { Bad_Opcode }, 479 1.1.1.4 christos { "vcvthf82p%XH", { XM, EXxmmq }, 0 }, 480 1.1.1.4 christos }, 481 1.1.1.2 christos /* PREFIX_EVEX_MAP5_2A */ 482 1.1 christos { 483 1.1 christos { Bad_Opcode }, 484 1.1.1.3 christos { "vcvtsi2shY{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, 485 1.1 christos }, 486 1.1.1.2 christos /* PREFIX_EVEX_MAP5_2C */ 487 1.1 christos { 488 1.1 christos { Bad_Opcode }, 489 1.1.1.2 christos { "vcvttsh2si", { Gdq, EXw, EXxEVexS }, 0 }, 490 1.1 christos }, 491 1.1.1.2 christos /* PREFIX_EVEX_MAP5_2D */ 492 1.1 christos { 493 1.1 christos { Bad_Opcode }, 494 1.1.1.2 christos { "vcvtsh2si", { Gdq, EXw, EXxEVexR }, 0 }, 495 1.1 christos }, 496 1.1.1.2 christos /* PREFIX_EVEX_MAP5_2E */ 497 1.1 christos { 498 1.1.1.4 christos { "vucomisY%XH", { XMScalar, EXw, EXxEVexS }, 0 }, 499 1.1.1.4 christos { "vucomxs%XH", { XMScalar, EXw, EXxEVexS }, 0 }, 500 1.1 christos }, 501 1.1.1.2 christos /* PREFIX_EVEX_MAP5_2F */ 502 1.1 christos { 503 1.1.1.4 christos { "vcomisY%XH", { XMScalar, EXw, EXxEVexS }, 0 }, 504 1.1.1.4 christos { "vcomxs%XH", { XMScalar, EXw, EXxEVexS }, 0 }, 505 1.1.1.4 christos { "vcomis%XB", { XMScalar, EXw, EXxEVexS }, 0 }, 506 1.1 christos }, 507 1.1.1.2 christos /* PREFIX_EVEX_MAP5_51 */ 508 1.1 christos { 509 1.1.1.2 christos { "vsqrtp%XH", { XM, EXxh, EXxEVexR }, 0 }, 510 1.1.1.2 christos { "vsqrts%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 }, 511 1.1.1.4 christos { "vsqrt%XB", { XM, EXxh }, 0 }, 512 1.1 christos }, 513 1.1.1.2 christos /* PREFIX_EVEX_MAP5_58 */ 514 1.1 christos { 515 1.1.1.2 christos { "vaddp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 516 1.1.1.2 christos { "vadds%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 }, 517 1.1.1.4 christos { "vadd%XB", { XM, Vex, EXxh }, 0 }, 518 1.1 christos }, 519 1.1.1.2 christos /* PREFIX_EVEX_MAP5_59 */ 520 1.1 christos { 521 1.1.1.2 christos { "vmulp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 522 1.1.1.2 christos { "vmuls%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 }, 523 1.1.1.4 christos { "vmul%XB", { XM, Vex, EXxh }, 0 }, 524 1.1 christos }, 525 1.1.1.2 christos /* PREFIX_EVEX_MAP5_5A */ 526 1.1 christos { 527 1.1.1.2 christos { "vcvtp%XH2pd", { XM, EXxmmqdh, EXxEVexS }, 0 }, 528 1.1.1.2 christos { "vcvts%XH2sd", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 }, 529 1.1.1.2 christos { "vcvtp%XD2ph%XZ", { XMM, EXx, EXxEVexR }, 0 }, 530 1.1.1.2 christos { "vcvts%XD2sh", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 }, 531 1.1 christos }, 532 1.1.1.2 christos /* PREFIX_EVEX_MAP5_5B */ 533 1.1 christos { 534 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_MAP5_5B_P_0) }, 535 1.1.1.2 christos { "vcvttp%XH2dq", { XM, EXxmmqh, EXxEVexS }, 0 }, 536 1.1.1.2 christos { "vcvtp%XH2dq", { XM, EXxmmqh, EXxEVexR }, 0 }, 537 1.1 christos }, 538 1.1.1.2 christos /* PREFIX_EVEX_MAP5_5C */ 539 1.1 christos { 540 1.1.1.2 christos { "vsubp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 541 1.1.1.2 christos { "vsubs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 }, 542 1.1.1.4 christos { "vsub%XB", { XM, Vex, EXxh }, 0 }, 543 1.1 christos }, 544 1.1.1.2 christos /* PREFIX_EVEX_MAP5_5D */ 545 1.1 christos { 546 1.1.1.2 christos { "vminp%XH", { XM, Vex, EXxh, EXxEVexS }, 0 }, 547 1.1.1.2 christos { "vmins%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 }, 548 1.1.1.4 christos { "vmin%XB", { XM, Vex, EXxh }, 0 }, 549 1.1 christos }, 550 1.1.1.2 christos /* PREFIX_EVEX_MAP5_5E */ 551 1.1 christos { 552 1.1.1.2 christos { "vdivp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 553 1.1.1.2 christos { "vdivs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 }, 554 1.1.1.4 christos { "vdiv%XB", { XM, Vex, EXxh }, 0 }, 555 1.1 christos }, 556 1.1.1.2 christos /* PREFIX_EVEX_MAP5_5F */ 557 1.1 christos { 558 1.1.1.2 christos { "vmaxp%XH", { XM, Vex, EXxh, EXxEVexS }, 0 }, 559 1.1.1.2 christos { "vmaxs%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 }, 560 1.1.1.4 christos { "vmax%XB", { XM, Vex, EXxh }, 0 }, 561 1.1.1.4 christos }, 562 1.1.1.4 christos /* PREFIX_EVEX_MAP5_68 */ 563 1.1.1.4 christos { 564 1.1.1.4 christos { "vcvttp%XH2ibs", { XM, EXxh, EXxEVexS }, 0 }, 565 1.1.1.4 christos { Bad_Opcode }, 566 1.1.1.4 christos { "vcvttp%XS2ibs", { XM, EXx, EXxEVexS }, 0 }, 567 1.1.1.4 christos { "vcvtt%XB2ibs", { XM, EXxh }, 0 }, 568 1.1.1.4 christos }, 569 1.1.1.4 christos /* PREFIX_EVEX_MAP5_69 */ 570 1.1.1.4 christos { 571 1.1.1.4 christos { "vcvtp%XH2ibs", { XM, EXxh, EXxEVexR }, 0 }, 572 1.1.1.4 christos { Bad_Opcode }, 573 1.1.1.4 christos { "vcvtp%XS2ibs", { XM, EXx, EXxEVexR }, 0 }, 574 1.1.1.4 christos { "vcvt%XB2ibs", { XM, EXxh }, 0 }, 575 1.1.1.4 christos }, 576 1.1.1.4 christos /* PREFIX_EVEX_MAP5_6A */ 577 1.1.1.4 christos { 578 1.1.1.4 christos { "vcvttp%XH2iubs", { XM, EXxh, EXxEVexS }, 0 }, 579 1.1.1.4 christos { Bad_Opcode }, 580 1.1.1.4 christos { "vcvttp%XS2iubs", { XM, EXx, EXxEVexS }, 0 }, 581 1.1.1.4 christos { "vcvtt%XB2iubs", { XM, EXxh }, 0 }, 582 1.1.1.4 christos }, 583 1.1.1.4 christos /* PREFIX_EVEX_MAP5_6B */ 584 1.1.1.4 christos { 585 1.1.1.4 christos { "vcvtp%XH2iubs", { XM, EXxh, EXxEVexR }, 0 }, 586 1.1.1.4 christos { Bad_Opcode }, 587 1.1.1.4 christos { "vcvtp%XS2iubs", { XM, EXx, EXxEVexR }, 0 }, 588 1.1.1.4 christos { "vcvt%XB2iubs", { XM, EXxh }, 0 }, 589 1.1.1.4 christos }, 590 1.1.1.4 christos /* PREFIX_EVEX_MAP5_6C */ 591 1.1.1.4 christos { 592 1.1.1.4 christos { VEX_W_TABLE (EVEX_W_MAP5_6C_P_0) }, 593 1.1.1.4 christos { "vcvttss2usis", { Gdq, EXd, EXxEVexS }, 0 }, 594 1.1.1.4 christos { VEX_W_TABLE (EVEX_W_MAP5_6C_P_2) }, 595 1.1.1.4 christos { "vcvttsd2usis", { Gdq, EXq, EXxEVexS }, 0 }, 596 1.1.1.4 christos }, 597 1.1.1.4 christos /* PREFIX_EVEX_MAP5_6D */ 598 1.1.1.4 christos { 599 1.1.1.4 christos { VEX_W_TABLE (EVEX_W_MAP5_6D_P_0) }, 600 1.1.1.4 christos { "vcvttss2sis", { Gdq, EXd, EXxEVexS }, 0 }, 601 1.1.1.4 christos { VEX_W_TABLE (EVEX_W_MAP5_6D_P_2) }, 602 1.1.1.4 christos { "vcvttsd2sis", { Gdq, EXq, EXxEVexS }, 0 }, 603 1.1.1.4 christos }, 604 1.1.1.4 christos /* PREFIX_EVEX_MAP5_6E_L_0 */ 605 1.1.1.4 christos { 606 1.1.1.4 christos { Bad_Opcode }, 607 1.1.1.4 christos { VEX_W_TABLE (EVEX_W_MAP5_6E_P_1) }, 608 1.1.1.4 christos { "vmovwY", { XMScalar, Edw }, 0 }, 609 1.1.1.4 christos }, 610 1.1.1.4 christos /* PREFIX_EVEX_MAP5_6F_X86_64 */ 611 1.1.1.4 christos { 612 1.1.1.4 christos { Bad_Opcode }, 613 1.1.1.4 christos { "vmovrs%DQ", { XM, Mx }, 0 }, 614 1.1.1.4 christos { Bad_Opcode }, 615 1.1.1.4 christos { "vmovrs%BW", { XM, Mx }, 0 }, 616 1.1.1.4 christos }, 617 1.1.1.4 christos /* PREFIX_EVEX_MAP5_74 */ 618 1.1.1.4 christos { 619 1.1.1.4 christos { "vcvtbiasp%XH2bf8s", { XMxmmq, Vex, EXxh }, 0 }, 620 1.1.1.4 christos { "vcvtp%XH2bf8s%XY", { XMxmmq, EXxh }, 0 }, 621 1.1.1.4 christos { Bad_Opcode }, 622 1.1.1.4 christos { "vcvt2p%XH2bf8s", { XM, Vex, EXxh }, 0 }, 623 1.1 christos }, 624 1.1.1.2 christos /* PREFIX_EVEX_MAP5_78 */ 625 1.1 christos { 626 1.1.1.2 christos { "vcvttp%XH2udq", { XM, EXxmmqh, EXxEVexS }, 0 }, 627 1.1.1.2 christos { "vcvttsh2usi", { Gdq, EXw, EXxEVexS }, 0 }, 628 1.1.1.2 christos { "vcvttp%XH2uqq", { XM, EXxmmqdh, EXxEVexS }, 0 }, 629 1.1 christos }, 630 1.1.1.2 christos /* PREFIX_EVEX_MAP5_79 */ 631 1.1 christos { 632 1.1.1.2 christos { "vcvtp%XH2udq", { XM, EXxmmqh, EXxEVexR }, 0 }, 633 1.1.1.2 christos { "vcvtsh2usi", { Gdq, EXw, EXxEVexR }, 0 }, 634 1.1.1.2 christos { "vcvtp%XH2uqq", { XM, EXxmmqdh, EXxEVexR }, 0 }, 635 1.1 christos }, 636 1.1.1.2 christos /* PREFIX_EVEX_MAP5_7A */ 637 1.1 christos { 638 1.1 christos { Bad_Opcode }, 639 1.1 christos { Bad_Opcode }, 640 1.1.1.2 christos { "vcvttp%XH2qq", { XM, EXxmmqdh, EXxEVexS }, 0 }, 641 1.1.1.2 christos { VEX_W_TABLE (EVEX_W_MAP5_7A_P_3) }, 642 1.1 christos }, 643 1.1.1.2 christos /* PREFIX_EVEX_MAP5_7B */ 644 1.1 christos { 645 1.1 christos { Bad_Opcode }, 646 1.1.1.3 christos { "vcvtusi2shY{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, 647 1.1.1.2 christos { "vcvtp%XH2qq", { XM, EXxmmqdh, EXxEVexR }, 0 }, 648 1.1 christos }, 649 1.1.1.2 christos /* PREFIX_EVEX_MAP5_7C */ 650 1.1 christos { 651 1.1.1.2 christos { "vcvttp%XH2uw", { XM, EXxh, EXxEVexS }, 0 }, 652 1.1 christos { Bad_Opcode }, 653 1.1.1.2 christos { "vcvttp%XH2w", { XM, EXxh, EXxEVexS }, 0 }, 654 1.1 christos }, 655 1.1.1.2 christos /* PREFIX_EVEX_MAP5_7D */ 656 1.1 christos { 657 1.1.1.2 christos { "vcvtp%XH2uw", { XM, EXxh, EXxEVexR }, 0 }, 658 1.1.1.2 christos { "vcvtw2p%XH", { XM, EXxh, EXxEVexR }, 0 }, 659 1.1.1.2 christos { "vcvtp%XH2w", { XM, EXxh, EXxEVexR }, 0 }, 660 1.1.1.2 christos { "vcvtuw2p%XH", { XM, EXxh, EXxEVexR }, 0 }, 661 1.1 christos }, 662 1.1.1.4 christos /* PREFIX_EVEX_MAP5_7E_L_0 */ 663 1.1.1.4 christos { 664 1.1.1.4 christos { Bad_Opcode }, 665 1.1.1.4 christos { VEX_W_TABLE (EVEX_W_MAP5_7E_P_1) }, 666 1.1.1.4 christos { "vmovw", { Edw, XMScalar }, 0 }, 667 1.1.1.4 christos }, 668 1.1.1.2 christos /* PREFIX_EVEX_MAP6_13 */ 669 1.1 christos { 670 1.1.1.2 christos { "vcvts%XH2ss", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 }, 671 1.1 christos { Bad_Opcode }, 672 1.1.1.2 christos { "vcvtp%XH2psx", { XM, EXxmmqh, EXxEVexS }, 0 }, 673 1.1 christos }, 674 1.1.1.4 christos /* PREFIX_EVEX_MAP6_2C */ 675 1.1.1.4 christos { 676 1.1.1.4 christos { "vscalef%XB", { XM, Vex, EXxh }, 0 }, 677 1.1.1.4 christos { Bad_Opcode }, 678 1.1.1.4 christos { "vscalefp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 679 1.1.1.4 christos }, 680 1.1.1.4 christos /* PREFIX_EVEX_MAP6_42 */ 681 1.1.1.4 christos { 682 1.1.1.4 christos { "vgetexp%XB", { XM, EXxh }, 0 }, 683 1.1.1.4 christos { Bad_Opcode }, 684 1.1.1.4 christos { "vgetexpp%XH", { XM, EXxh, EXxEVexS }, 0 }, 685 1.1.1.4 christos }, 686 1.1.1.4 christos /* PREFIX_EVEX_MAP6_4C */ 687 1.1.1.4 christos { 688 1.1.1.4 christos { "vrcp%XB", { XM, EXxh }, 0 }, 689 1.1.1.4 christos { Bad_Opcode }, 690 1.1.1.4 christos { "vrcpp%XH", { XM, EXxh }, 0 }, 691 1.1.1.4 christos }, 692 1.1.1.4 christos /* PREFIX_EVEX_MAP6_4E */ 693 1.1.1.4 christos { 694 1.1.1.4 christos { "vrsqrt%XB", { XM, EXxh }, 0 }, 695 1.1.1.4 christos { Bad_Opcode }, 696 1.1.1.4 christos { "vrsqrtp%XH", { XM, EXxh }, 0 }, 697 1.1.1.4 christos }, 698 1.1.1.2 christos /* PREFIX_EVEX_MAP6_56 */ 699 1.1 christos { 700 1.1 christos { Bad_Opcode }, 701 1.1.1.2 christos { "vfmaddcp%XH", { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 }, 702 1.1 christos { Bad_Opcode }, 703 1.1.1.2 christos { "vfcmaddcp%XH", { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 }, 704 1.1 christos }, 705 1.1.1.2 christos /* PREFIX_EVEX_MAP6_57 */ 706 1.1 christos { 707 1.1 christos { Bad_Opcode }, 708 1.1.1.2 christos { "vfmaddcs%XH", { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 }, 709 1.1 christos { Bad_Opcode }, 710 1.1.1.2 christos { "vfcmaddcs%XH", { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 }, 711 1.1 christos }, 712 1.1.1.4 christos /* PREFIX_EVEX_MAP6_98 */ 713 1.1.1.4 christos { 714 1.1.1.4 christos { "vfmadd132%XB", { XM, Vex, EXxh }, 0 }, 715 1.1.1.4 christos { Bad_Opcode }, 716 1.1.1.4 christos { "vfmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 717 1.1.1.4 christos }, 718 1.1.1.4 christos /* PREFIX_EVEX_MAP6_9A */ 719 1.1.1.4 christos { 720 1.1.1.4 christos { "vfmsub132%XB", { XM, Vex, EXxh }, 0 }, 721 1.1.1.4 christos { Bad_Opcode }, 722 1.1.1.4 christos { "vfmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 723 1.1.1.4 christos }, 724 1.1.1.4 christos /* PREFIX_EVEX_MAP6_9C */ 725 1.1.1.4 christos { 726 1.1.1.4 christos { "vfnmadd132%XB", { XM, Vex, EXxh }, 0 }, 727 1.1.1.4 christos { Bad_Opcode }, 728 1.1.1.4 christos { "vfnmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 729 1.1.1.4 christos }, 730 1.1.1.4 christos /* PREFIX_EVEX_MAP6_9E */ 731 1.1.1.4 christos { 732 1.1.1.4 christos { "vfnmsub132%XB", { XM, Vex, EXxh }, 0 }, 733 1.1.1.4 christos { Bad_Opcode }, 734 1.1.1.4 christos { "vfnmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 735 1.1.1.4 christos }, 736 1.1.1.4 christos /* PREFIX_EVEX_MAP6_A8 */ 737 1.1.1.4 christos { 738 1.1.1.4 christos { "vfmadd213%XB", { XM, Vex, EXxh }, 0 }, 739 1.1.1.4 christos { Bad_Opcode }, 740 1.1.1.4 christos { "vfmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 741 1.1.1.4 christos }, 742 1.1.1.4 christos /* PREFIX_EVEX_MAP6_AA */ 743 1.1.1.4 christos { 744 1.1.1.4 christos { "vfmsub213%XB", { XM, Vex, EXxh }, 0 }, 745 1.1.1.4 christos { Bad_Opcode }, 746 1.1.1.4 christos { "vfmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 747 1.1.1.4 christos }, 748 1.1.1.4 christos /* PREFIX_EVEX_MAP6_AC */ 749 1.1.1.4 christos { 750 1.1.1.4 christos { "vfnmadd213%XB", { XM, Vex, EXxh }, 0 }, 751 1.1.1.4 christos { Bad_Opcode }, 752 1.1.1.4 christos { "vfnmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 753 1.1.1.4 christos }, 754 1.1.1.4 christos /* PREFIX_EVEX_MAP6_AE */ 755 1.1.1.4 christos { 756 1.1.1.4 christos { "vfnmsub213%XB", { XM, Vex, EXxh }, 0 }, 757 1.1.1.4 christos { Bad_Opcode }, 758 1.1.1.4 christos { "vfnmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 759 1.1.1.4 christos }, 760 1.1.1.4 christos /* PREFIX_EVEX_MAP6_B8 */ 761 1.1.1.4 christos { 762 1.1.1.4 christos { "vfmadd231%XB", { XM, Vex, EXxh }, 0 }, 763 1.1.1.4 christos { Bad_Opcode }, 764 1.1.1.4 christos { "vfmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 765 1.1.1.4 christos }, 766 1.1.1.4 christos /* PREFIX_EVEX_MAP6_BA */ 767 1.1.1.4 christos { 768 1.1.1.4 christos { "vfmsub231%XB", { XM, Vex, EXxh }, 0 }, 769 1.1.1.4 christos { Bad_Opcode }, 770 1.1.1.4 christos { "vfmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 771 1.1.1.4 christos }, 772 1.1.1.4 christos /* PREFIX_EVEX_MAP6_BC */ 773 1.1.1.4 christos { 774 1.1.1.4 christos { "vfnmadd231%XB", { XM, Vex, EXxh }, 0 }, 775 1.1.1.4 christos { Bad_Opcode }, 776 1.1.1.4 christos { "vfnmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 777 1.1.1.4 christos }, 778 1.1.1.4 christos /* PREFIX_EVEX_MAP6_BE */ 779 1.1.1.4 christos { 780 1.1.1.4 christos { "vfnmsub231%XB", { XM, Vex, EXxh }, 0 }, 781 1.1.1.4 christos { Bad_Opcode }, 782 1.1.1.4 christos { "vfnmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, 783 1.1.1.4 christos }, 784 1.1.1.2 christos /* PREFIX_EVEX_MAP6_D6 */ 785 1.1 christos { 786 1.1 christos { Bad_Opcode }, 787 1.1.1.2 christos { "vfmulcp%XH", { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 }, 788 1.1 christos { Bad_Opcode }, 789 1.1.1.2 christos { "vfcmulcp%XH", { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 }, 790 1.1 christos }, 791 1.1.1.2 christos /* PREFIX_EVEX_MAP6_D7 */ 792 1.1 christos { 793 1.1 christos { Bad_Opcode }, 794 1.1.1.2 christos { "vfmulcs%XH", { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 }, 795 1.1 christos { Bad_Opcode }, 796 1.1.1.2 christos { "vfcmulcs%XH", { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 }, 797 1.1 christos }, 798