github.com/varialus/godfly@v0.0.0-20130904042352-1934f9f095ab/src/cmd/8l/optab.c (about) 1 // Inferno utils/8l/optab.c 2 // http://code.google.com/p/inferno-os/source/browse/utils/8l/optab.c 3 // 4 // Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved. 5 // Portions Copyright © 1995-1997 C H Forsyth (forsyth@terzarima.net) 6 // Portions Copyright © 1997-1999 Vita Nuova Limited 7 // Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com) 8 // Portions Copyright © 2004,2006 Bruce Ellis 9 // Portions Copyright © 2005-2007 C H Forsyth (forsyth@terzarima.net) 10 // Revisions Copyright © 2000-2007 Lucent Technologies Inc. and others 11 // Portions Copyright © 2009 The Go Authors. All rights reserved. 12 // 13 // Permission is hereby granted, free of charge, to any person obtaining a copy 14 // of this software and associated documentation files (the "Software"), to deal 15 // in the Software without restriction, including without limitation the rights 16 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 // copies of the Software, and to permit persons to whom the Software is 18 // furnished to do so, subject to the following conditions: 19 // 20 // The above copyright notice and this permission notice shall be included in 21 // all copies or substantial portions of the Software. 22 // 23 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 29 // THE SOFTWARE. 30 31 #include "l.h" 32 33 uchar ynone[] = 34 { 35 Ynone, Ynone, Zlit, 1, 36 0 37 }; 38 uchar ytext[] = 39 { 40 Ymb, Yi32, Zpseudo,1, 41 0 42 }; 43 uchar ynop[] = 44 { 45 Ynone, Ynone, Zpseudo,1, 46 Ynone, Yml, Zpseudo,1, 47 Ynone, Yrf, Zpseudo,1, 48 Yml, Ynone, Zpseudo,1, 49 Yrf, Ynone, Zpseudo,1, 50 0 51 }; 52 uchar yfuncdata[] = 53 { 54 Yi32, Ym, Zpseudo, 0, 55 0 56 }; 57 uchar ypcdata[] = 58 { 59 Yi32, Yi32, Zpseudo, 0, 60 0, 61 }; 62 uchar yxorb[] = 63 { 64 Yi32, Yal, Zib_, 1, 65 Yi32, Ymb, Zibo_m, 2, 66 Yrb, Ymb, Zr_m, 1, 67 Ymb, Yrb, Zm_r, 1, 68 0 69 }; 70 uchar yxorl[] = 71 { 72 Yi8, Yml, Zibo_m, 2, 73 Yi32, Yax, Zil_, 1, 74 Yi32, Yml, Zilo_m, 2, 75 Yrl, Yml, Zr_m, 1, 76 Yml, Yrl, Zm_r, 1, 77 0 78 }; 79 uchar yaddl[] = 80 { 81 Yi8, Yml, Zibo_m, 2, 82 Yi32, Yax, Zil_, 1, 83 Yi32, Yml, Zilo_m, 2, 84 Yrl, Yml, Zr_m, 1, 85 Yml, Yrl, Zm_r, 1, 86 0 87 }; 88 uchar yincb[] = 89 { 90 Ynone, Ymb, Zo_m, 2, 91 0 92 }; 93 uchar yincl[] = 94 { 95 Ynone, Yrl, Z_rp, 1, 96 Ynone, Yml, Zo_m, 2, 97 0 98 }; 99 uchar ycmpb[] = 100 { 101 Yal, Yi32, Z_ib, 1, 102 Ymb, Yi32, Zm_ibo, 2, 103 Ymb, Yrb, Zm_r, 1, 104 Yrb, Ymb, Zr_m, 1, 105 0 106 }; 107 uchar ycmpl[] = 108 { 109 Yml, Yi8, Zm_ibo, 2, 110 Yax, Yi32, Z_il, 1, 111 Yml, Yi32, Zm_ilo, 2, 112 Yml, Yrl, Zm_r, 1, 113 Yrl, Yml, Zr_m, 1, 114 0 115 }; 116 uchar yshb[] = 117 { 118 Yi1, Ymb, Zo_m, 2, 119 Yi32, Ymb, Zibo_m, 2, 120 Ycx, Ymb, Zo_m, 2, 121 0 122 }; 123 uchar yshl[] = 124 { 125 Yi1, Yml, Zo_m, 2, 126 Yi32, Yml, Zibo_m, 2, 127 Ycl, Yml, Zo_m, 2, 128 Ycx, Yml, Zo_m, 2, 129 0 130 }; 131 uchar ytestb[] = 132 { 133 Yi32, Yal, Zib_, 1, 134 Yi32, Ymb, Zibo_m, 2, 135 Yrb, Ymb, Zr_m, 1, 136 Ymb, Yrb, Zm_r, 1, 137 0 138 }; 139 uchar ytestl[] = 140 { 141 Yi32, Yax, Zil_, 1, 142 Yi32, Yml, Zilo_m, 2, 143 Yrl, Yml, Zr_m, 1, 144 Yml, Yrl, Zm_r, 1, 145 0 146 }; 147 uchar ymovb[] = 148 { 149 Yrb, Ymb, Zr_m, 1, 150 Ymb, Yrb, Zm_r, 1, 151 Yi32, Yrb, Zib_rp, 1, 152 Yi32, Ymb, Zibo_m, 2, 153 0 154 }; 155 uchar ymovl[] = 156 { 157 Yrl, Yml, Zr_m, 1, 158 Yml, Yrl, Zm_r, 1, 159 Yi0, Yrl, Zclr, 1+2, 160 // Yi0, Yml, Zibo_m, 2, // shorter but slower AND $0,dst 161 Yi32, Yrl, Zil_rp, 1, 162 Yi32, Yml, Zilo_m, 2, 163 Yml, Yxr, Zm_r_xm, 2, // XMM MOVD (32 bit) 164 Yxr, Yml, Zr_m_xm, 2, // XMM MOVD (32 bit) 165 Yiauto, Yrl, Zaut_r, 2, 166 0 167 }; 168 uchar ymovq[] = 169 { 170 Yml, Yxr, Zm_r_xm, 2, 171 0 172 }; 173 uchar ym_rl[] = 174 { 175 Ym, Yrl, Zm_r, 1, 176 0 177 }; 178 uchar yrl_m[] = 179 { 180 Yrl, Ym, Zr_m, 1, 181 0 182 }; 183 uchar ymb_rl[] = 184 { 185 Ymb, Yrl, Zm_r, 1, 186 0 187 }; 188 uchar yml_rl[] = 189 { 190 Yml, Yrl, Zm_r, 1, 191 0 192 }; 193 uchar yrb_mb[] = 194 { 195 Yrb, Ymb, Zr_m, 1, 196 0 197 }; 198 uchar yrl_ml[] = 199 { 200 Yrl, Yml, Zr_m, 1, 201 0 202 }; 203 uchar yml_mb[] = 204 { 205 Yrb, Ymb, Zr_m, 1, 206 Ymb, Yrb, Zm_r, 1, 207 0 208 }; 209 uchar yxchg[] = 210 { 211 Yax, Yrl, Z_rp, 1, 212 Yrl, Yax, Zrp_, 1, 213 Yrl, Yml, Zr_m, 1, 214 Yml, Yrl, Zm_r, 1, 215 0 216 }; 217 uchar ydivl[] = 218 { 219 Yml, Ynone, Zm_o, 2, 220 0 221 }; 222 uchar ydivb[] = 223 { 224 Ymb, Ynone, Zm_o, 2, 225 0 226 }; 227 uchar yimul[] = 228 { 229 Yml, Ynone, Zm_o, 2, 230 Yi8, Yrl, Zib_rr, 1, 231 Yi32, Yrl, Zil_rr, 1, 232 0 233 }; 234 uchar ybyte[] = 235 { 236 Yi32, Ynone, Zbyte, 1, 237 0 238 }; 239 uchar yin[] = 240 { 241 Yi32, Ynone, Zib_, 1, 242 Ynone, Ynone, Zlit, 1, 243 0 244 }; 245 uchar yint[] = 246 { 247 Yi32, Ynone, Zib_, 1, 248 0 249 }; 250 uchar ypushl[] = 251 { 252 Yrl, Ynone, Zrp_, 1, 253 Ym, Ynone, Zm_o, 2, 254 Yi8, Ynone, Zib_, 1, 255 Yi32, Ynone, Zil_, 1, 256 0 257 }; 258 uchar ypopl[] = 259 { 260 Ynone, Yrl, Z_rp, 1, 261 Ynone, Ym, Zo_m, 2, 262 0 263 }; 264 uchar ybswap[] = 265 { 266 Ynone, Yrl, Z_rp, 1, 267 0, 268 }; 269 uchar yscond[] = 270 { 271 Ynone, Ymb, Zo_m, 2, 272 0 273 }; 274 uchar yjcond[] = 275 { 276 Ynone, Ybr, Zbr, 0, 277 Yi0, Ybr, Zbr, 0, 278 Yi1, Ybr, Zbr, 1, 279 0 280 }; 281 uchar yloop[] = 282 { 283 Ynone, Ybr, Zloop, 1, 284 0 285 }; 286 uchar ycall[] = 287 { 288 Ynone, Yml, Zo_m, 0, 289 Yrx, Yrx, Zo_m, 2, 290 Ynone, Ycol, Zcallind, 2, 291 Ynone, Ybr, Zcall, 0, 292 Ynone, Yi32, Zcallcon, 1, 293 0 294 }; 295 uchar yjmp[] = 296 { 297 Ynone, Yml, Zo_m, 2, 298 Ynone, Ybr, Zjmp, 0, 299 Ynone, Yi32, Zjmpcon, 1, 300 0 301 }; 302 303 uchar yfmvd[] = 304 { 305 Ym, Yf0, Zm_o, 2, 306 Yf0, Ym, Zo_m, 2, 307 Yrf, Yf0, Zm_o, 2, 308 Yf0, Yrf, Zo_m, 2, 309 0 310 }; 311 uchar yfmvdp[] = 312 { 313 Yf0, Ym, Zo_m, 2, 314 Yf0, Yrf, Zo_m, 2, 315 0 316 }; 317 uchar yfmvf[] = 318 { 319 Ym, Yf0, Zm_o, 2, 320 Yf0, Ym, Zo_m, 2, 321 0 322 }; 323 uchar yfmvx[] = 324 { 325 Ym, Yf0, Zm_o, 2, 326 0 327 }; 328 uchar yfmvp[] = 329 { 330 Yf0, Ym, Zo_m, 2, 331 0 332 }; 333 uchar yfcmv[] = 334 { 335 Yrf, Yf0, Zm_o, 2, 336 0 337 }; 338 uchar yfadd[] = 339 { 340 Ym, Yf0, Zm_o, 2, 341 Yrf, Yf0, Zm_o, 2, 342 Yf0, Yrf, Zo_m, 2, 343 0 344 }; 345 uchar yfaddp[] = 346 { 347 Yf0, Yrf, Zo_m, 2, 348 0 349 }; 350 uchar yfxch[] = 351 { 352 Yf0, Yrf, Zo_m, 2, 353 Yrf, Yf0, Zm_o, 2, 354 0 355 }; 356 uchar ycompp[] = 357 { 358 Yf0, Yrf, Zo_m, 2, /* botch is really f0,f1 */ 359 0 360 }; 361 uchar ystsw[] = 362 { 363 Ynone, Ym, Zo_m, 2, 364 Ynone, Yax, Zlit, 1, 365 0 366 }; 367 uchar ystcw[] = 368 { 369 Ynone, Ym, Zo_m, 2, 370 Ym, Ynone, Zm_o, 2, 371 0 372 }; 373 uchar ysvrs[] = 374 { 375 Ynone, Ym, Zo_m, 2, 376 Ym, Ynone, Zm_o, 2, 377 0 378 }; 379 uchar ymskb[] = 380 { 381 Yxr, Yrl, Zm_r_xm, 2, 382 Ymr, Yrl, Zm_r_xm, 1, 383 0 384 }; 385 uchar yxm[] = 386 { 387 Yxm, Yxr, Zm_r_xm, 1, 388 0 389 }; 390 uchar yxcvm1[] = 391 { 392 Yxm, Yxr, Zm_r_xm, 2, 393 Yxm, Ymr, Zm_r_xm, 2, 394 0 395 }; 396 uchar yxcvm2[] = 397 { 398 Yxm, Yxr, Zm_r_xm, 2, 399 Ymm, Yxr, Zm_r_xm, 2, 400 0 401 }; 402 uchar yxmq[] = 403 { 404 Yxm, Yxr, Zm_r_xm, 2, 405 0 406 }; 407 uchar yxr[] = 408 { 409 Yxr, Yxr, Zm_r_xm, 1, 410 0 411 }; 412 uchar yxr_ml[] = 413 { 414 Yxr, Yml, Zr_m_xm, 1, 415 0 416 }; 417 uchar yxcmp[] = 418 { 419 Yxm, Yxr, Zm_r_xm, 1, 420 0 421 }; 422 uchar yxcmpi[] = 423 { 424 Yxm, Yxr, Zm_r_i_xm, 2, 425 0 426 }; 427 uchar yxmov[] = 428 { 429 Yxm, Yxr, Zm_r_xm, 1, 430 Yxr, Yxm, Zr_m_xm, 1, 431 0 432 }; 433 uchar yxcvfl[] = 434 { 435 Yxm, Yrl, Zm_r_xm, 1, 436 0 437 }; 438 uchar yxcvlf[] = 439 { 440 Yml, Yxr, Zm_r_xm, 1, 441 0 442 }; 443 uchar yxcvfq[] = 444 { 445 Yxm, Yrl, Zm_r_xm, 2, 446 0 447 }; 448 uchar yxcvqf[] = 449 { 450 Yml, Yxr, Zm_r_xm, 2, 451 0 452 }; 453 uchar yxrrl[] = 454 { 455 Yxr, Yrl, Zm_r, 1, 456 0 457 }; 458 uchar yprefetch[] = 459 { 460 Ym, Ynone, Zm_o, 2, 461 0, 462 }; 463 uchar yaes[] = 464 { 465 Yxm, Yxr, Zlitm_r, 2, 466 0 467 }; 468 uchar yinsrd[] = 469 { 470 Yml, Yxr, Zibm_r, 2, 471 0 472 }; 473 uchar ymshufb[] = 474 { 475 Yxm, Yxr, Zm2_r, 2, 476 0 477 }; 478 479 Optab optab[] = 480 /* as, ytab, andproto, opcode */ 481 { 482 { AXXX }, 483 { AAAA, ynone, Px, 0x37 }, 484 { AAAD, ynone, Px, 0xd5,0x0a }, 485 { AAAM, ynone, Px, 0xd4,0x0a }, 486 { AAAS, ynone, Px, 0x3f }, 487 { AADCB, yxorb, Pb, 0x14,0x80,(02),0x10,0x10 }, 488 { AADCL, yxorl, Px, 0x83,(02),0x15,0x81,(02),0x11,0x13 }, 489 { AADCW, yxorl, Pe, 0x83,(02),0x15,0x81,(02),0x11,0x13 }, 490 { AADDB, yxorb, Px, 0x04,0x80,(00),0x00,0x02 }, 491 { AADDL, yaddl, Px, 0x83,(00),0x05,0x81,(00),0x01,0x03 }, 492 { AADDW, yaddl, Pe, 0x83,(00),0x05,0x81,(00),0x01,0x03 }, 493 { AADJSP }, 494 { AANDB, yxorb, Pb, 0x24,0x80,(04),0x20,0x22 }, 495 { AANDL, yxorl, Px, 0x83,(04),0x25,0x81,(04),0x21,0x23 }, 496 { AANDW, yxorl, Pe, 0x83,(04),0x25,0x81,(04),0x21,0x23 }, 497 { AARPL, yrl_ml, Px, 0x63 }, 498 { ABOUNDL, yrl_m, Px, 0x62 }, 499 { ABOUNDW, yrl_m, Pe, 0x62 }, 500 { ABSFL, yml_rl, Pm, 0xbc }, 501 { ABSFW, yml_rl, Pq, 0xbc }, 502 { ABSRL, yml_rl, Pm, 0xbd }, 503 { ABSRW, yml_rl, Pq, 0xbd }, 504 { ABTL, yml_rl, Pm, 0xa3 }, 505 { ABTW, yml_rl, Pq, 0xa3 }, 506 { ABTCL, yml_rl, Pm, 0xbb }, 507 { ABTCW, yml_rl, Pq, 0xbb }, 508 { ABTRL, yml_rl, Pm, 0xb3 }, 509 { ABTRW, yml_rl, Pq, 0xb3 }, 510 { ABTSL, yml_rl, Pm, 0xab }, 511 { ABTSW, yml_rl, Pq, 0xab }, 512 { ABYTE, ybyte, Px, 1 }, 513 { ACALL, ycall, Px, 0xff,(02),0xff,(0x15),0xe8 }, 514 { ACLC, ynone, Px, 0xf8 }, 515 { ACLD, ynone, Px, 0xfc }, 516 { ACLI, ynone, Px, 0xfa }, 517 { ACLTS, ynone, Pm, 0x06 }, 518 { ACMC, ynone, Px, 0xf5 }, 519 { ACMPB, ycmpb, Pb, 0x3c,0x80,(07),0x38,0x3a }, 520 { ACMPL, ycmpl, Px, 0x83,(07),0x3d,0x81,(07),0x39,0x3b }, 521 { ACMPW, ycmpl, Pe, 0x83,(07),0x3d,0x81,(07),0x39,0x3b }, 522 { ACMPSB, ynone, Pb, 0xa6 }, 523 { ACMPSL, ynone, Px, 0xa7 }, 524 { ACMPSW, ynone, Pe, 0xa7 }, 525 { ADAA, ynone, Px, 0x27 }, 526 { ADAS, ynone, Px, 0x2f }, 527 { ADATA }, 528 { ADECB, yincb, Pb, 0xfe,(01) }, 529 { ADECL, yincl, Px, 0x48,0xff,(01) }, 530 { ADECW, yincl, Pe, 0x48,0xff,(01) }, 531 { ADIVB, ydivb, Pb, 0xf6,(06) }, 532 { ADIVL, ydivl, Px, 0xf7,(06) }, 533 { ADIVW, ydivl, Pe, 0xf7,(06) }, 534 { AENTER }, /* botch */ 535 { AGLOBL }, 536 { AGOK }, 537 { AHISTORY }, 538 { AHLT, ynone, Px, 0xf4 }, 539 { AIDIVB, ydivb, Pb, 0xf6,(07) }, 540 { AIDIVL, ydivl, Px, 0xf7,(07) }, 541 { AIDIVW, ydivl, Pe, 0xf7,(07) }, 542 { AIMULB, ydivb, Pb, 0xf6,(05) }, 543 { AIMULL, yimul, Px, 0xf7,(05),0x6b,0x69 }, 544 { AIMULW, yimul, Pe, 0xf7,(05),0x6b,0x69 }, 545 { AINB, yin, Pb, 0xe4,0xec }, 546 { AINL, yin, Px, 0xe5,0xed }, 547 { AINW, yin, Pe, 0xe5,0xed }, 548 { AINCB, yincb, Pb, 0xfe,(00) }, 549 { AINCL, yincl, Px, 0x40,0xff,(00) }, 550 { AINCW, yincl, Pe, 0x40,0xff,(00) }, 551 { AINSB, ynone, Pb, 0x6c }, 552 { AINSL, ynone, Px, 0x6d }, 553 { AINSW, ynone, Pe, 0x6d }, 554 { AINT, yint, Px, 0xcd }, 555 { AINTO, ynone, Px, 0xce }, 556 { AIRETL, ynone, Px, 0xcf }, 557 { AIRETW, ynone, Pe, 0xcf }, 558 { AJCC, yjcond, Px, 0x73,0x83,(00) }, 559 { AJCS, yjcond, Px, 0x72,0x82 }, 560 { AJCXZL, yloop, Px, 0xe3 }, 561 { AJCXZW, yloop, Px, 0xe3 }, 562 { AJEQ, yjcond, Px, 0x74,0x84 }, 563 { AJGE, yjcond, Px, 0x7d,0x8d }, 564 { AJGT, yjcond, Px, 0x7f,0x8f }, 565 { AJHI, yjcond, Px, 0x77,0x87 }, 566 { AJLE, yjcond, Px, 0x7e,0x8e }, 567 { AJLS, yjcond, Px, 0x76,0x86 }, 568 { AJLT, yjcond, Px, 0x7c,0x8c }, 569 { AJMI, yjcond, Px, 0x78,0x88 }, 570 { AJMP, yjmp, Px, 0xff,(04),0xeb,0xe9 }, 571 { AJNE, yjcond, Px, 0x75,0x85 }, 572 { AJOC, yjcond, Px, 0x71,0x81,(00) }, 573 { AJOS, yjcond, Px, 0x70,0x80,(00) }, 574 { AJPC, yjcond, Px, 0x7b,0x8b }, 575 { AJPL, yjcond, Px, 0x79,0x89 }, 576 { AJPS, yjcond, Px, 0x7a,0x8a }, 577 { ALAHF, ynone, Px, 0x9f }, 578 { ALARL, yml_rl, Pm, 0x02 }, 579 { ALARW, yml_rl, Pq, 0x02 }, 580 { ALEAL, ym_rl, Px, 0x8d }, 581 { ALEAW, ym_rl, Pe, 0x8d }, 582 { ALEAVEL, ynone, Px, 0xc9 }, 583 { ALEAVEW, ynone, Pe, 0xc9 }, 584 { ALOCK, ynone, Px, 0xf0 }, 585 { ALODSB, ynone, Pb, 0xac }, 586 { ALODSL, ynone, Px, 0xad }, 587 { ALODSW, ynone, Pe, 0xad }, 588 { ALONG, ybyte, Px, 4 }, 589 { ALOOP, yloop, Px, 0xe2 }, 590 { ALOOPEQ, yloop, Px, 0xe1 }, 591 { ALOOPNE, yloop, Px, 0xe0 }, 592 { ALSLL, yml_rl, Pm, 0x03 }, 593 { ALSLW, yml_rl, Pq, 0x03 }, 594 { AMOVB, ymovb, Pb, 0x88,0x8a,0xb0,0xc6,(00) }, 595 { AMOVL, ymovl, Px, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),Pe,0x6e,Pe,0x7e }, 596 { AMOVW, ymovl, Pe, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00) }, 597 { AMOVQ, ymovq, Pf3, 0x7e }, 598 { AMOVBLSX, ymb_rl, Pm, 0xbe }, 599 { AMOVBLZX, ymb_rl, Pm, 0xb6 }, 600 { AMOVBWSX, ymb_rl, Pq, 0xbe }, 601 { AMOVBWZX, ymb_rl, Pq, 0xb6 }, 602 { AMOVWLSX, yml_rl, Pm, 0xbf }, 603 { AMOVWLZX, yml_rl, Pm, 0xb7 }, 604 { AMOVSB, ynone, Pb, 0xa4 }, 605 { AMOVSL, ynone, Px, 0xa5 }, 606 { AMOVSW, ynone, Pe, 0xa5 }, 607 { AMULB, ydivb, Pb, 0xf6,(04) }, 608 { AMULL, ydivl, Px, 0xf7,(04) }, 609 { AMULW, ydivl, Pe, 0xf7,(04) }, 610 { ANAME }, 611 { ANEGB, yscond, Px, 0xf6,(03) }, 612 { ANEGL, yscond, Px, 0xf7,(03) }, 613 { ANEGW, yscond, Pe, 0xf7,(03) }, 614 { ANOP, ynop, Px,0,0 }, 615 { ANOTB, yscond, Px, 0xf6,(02) }, 616 { ANOTL, yscond, Px, 0xf7,(02) }, 617 { ANOTW, yscond, Pe, 0xf7,(02) }, 618 { AORB, yxorb, Pb, 0x0c,0x80,(01),0x08,0x0a }, 619 { AORL, yxorl, Px, 0x83,(01),0x0d,0x81,(01),0x09,0x0b }, 620 { AORW, yxorl, Pe, 0x83,(01),0x0d,0x81,(01),0x09,0x0b }, 621 { AOUTB, yin, Pb, 0xe6,0xee }, 622 { AOUTL, yin, Px, 0xe7,0xef }, 623 { AOUTW, yin, Pe, 0xe7,0xef }, 624 { AOUTSB, ynone, Pb, 0x6e }, 625 { AOUTSL, ynone, Px, 0x6f }, 626 { AOUTSW, ynone, Pe, 0x6f }, 627 { APAUSE, ynone, Px, 0xf3,0x90 }, 628 { APOPAL, ynone, Px, 0x61 }, 629 { APOPAW, ynone, Pe, 0x61 }, 630 { APOPFL, ynone, Px, 0x9d }, 631 { APOPFW, ynone, Pe, 0x9d }, 632 { APOPL, ypopl, Px, 0x58,0x8f,(00) }, 633 { APOPW, ypopl, Pe, 0x58,0x8f,(00) }, 634 { APUSHAL, ynone, Px, 0x60 }, 635 { APUSHAW, ynone, Pe, 0x60 }, 636 { APUSHFL, ynone, Px, 0x9c }, 637 { APUSHFW, ynone, Pe, 0x9c }, 638 { APUSHL, ypushl, Px, 0x50,0xff,(06),0x6a,0x68 }, 639 { APUSHW, ypushl, Pe, 0x50,0xff,(06),0x6a,0x68 }, 640 { ARCLB, yshb, Pb, 0xd0,(02),0xc0,(02),0xd2,(02) }, 641 { ARCLL, yshl, Px, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) }, 642 { ARCLW, yshl, Pe, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) }, 643 { ARCRB, yshb, Pb, 0xd0,(03),0xc0,(03),0xd2,(03) }, 644 { ARCRL, yshl, Px, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) }, 645 { ARCRW, yshl, Pe, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) }, 646 { AREP, ynone, Px, 0xf3 }, 647 { AREPN, ynone, Px, 0xf2 }, 648 { ARET, ynone, Px, 0xc3 }, 649 { AROLB, yshb, Pb, 0xd0,(00),0xc0,(00),0xd2,(00) }, 650 { AROLL, yshl, Px, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) }, 651 { AROLW, yshl, Pe, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) }, 652 { ARORB, yshb, Pb, 0xd0,(01),0xc0,(01),0xd2,(01) }, 653 { ARORL, yshl, Px, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) }, 654 { ARORW, yshl, Pe, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) }, 655 { ASAHF, ynone, Px, 0x9e }, 656 { ASALB, yshb, Pb, 0xd0,(04),0xc0,(04),0xd2,(04) }, 657 { ASALL, yshl, Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, 658 { ASALW, yshl, Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, 659 { ASARB, yshb, Pb, 0xd0,(07),0xc0,(07),0xd2,(07) }, 660 { ASARL, yshl, Px, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) }, 661 { ASARW, yshl, Pe, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) }, 662 { ASBBB, yxorb, Pb, 0x1c,0x80,(03),0x18,0x1a }, 663 { ASBBL, yxorl, Px, 0x83,(03),0x1d,0x81,(03),0x19,0x1b }, 664 { ASBBW, yxorl, Pe, 0x83,(03),0x1d,0x81,(03),0x19,0x1b }, 665 { ASCASB, ynone, Pb, 0xae }, 666 { ASCASL, ynone, Px, 0xaf }, 667 { ASCASW, ynone, Pe, 0xaf }, 668 { ASETCC, yscond, Pm, 0x93,(00) }, 669 { ASETCS, yscond, Pm, 0x92,(00) }, 670 { ASETEQ, yscond, Pm, 0x94,(00) }, 671 { ASETGE, yscond, Pm, 0x9d,(00) }, 672 { ASETGT, yscond, Pm, 0x9f,(00) }, 673 { ASETHI, yscond, Pm, 0x97,(00) }, 674 { ASETLE, yscond, Pm, 0x9e,(00) }, 675 { ASETLS, yscond, Pm, 0x96,(00) }, 676 { ASETLT, yscond, Pm, 0x9c,(00) }, 677 { ASETMI, yscond, Pm, 0x98,(00) }, 678 { ASETNE, yscond, Pm, 0x95,(00) }, 679 { ASETOC, yscond, Pm, 0x91,(00) }, 680 { ASETOS, yscond, Pm, 0x90,(00) }, 681 { ASETPC, yscond, Pm, 0x96,(00) }, 682 { ASETPL, yscond, Pm, 0x99,(00) }, 683 { ASETPS, yscond, Pm, 0x9a,(00) }, 684 { ACDQ, ynone, Px, 0x99 }, 685 { ACWD, ynone, Pe, 0x99 }, 686 { ASHLB, yshb, Pb, 0xd0,(04),0xc0,(04),0xd2,(04) }, 687 { ASHLL, yshl, Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, 688 { ASHLW, yshl, Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) }, 689 { ASHRB, yshb, Pb, 0xd0,(05),0xc0,(05),0xd2,(05) }, 690 { ASHRL, yshl, Px, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) }, 691 { ASHRW, yshl, Pe, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) }, 692 { ASTC, ynone, Px, 0xf9 }, 693 { ASTD, ynone, Px, 0xfd }, 694 { ASTI, ynone, Px, 0xfb }, 695 { ASTOSB, ynone, Pb, 0xaa }, 696 { ASTOSL, ynone, Px, 0xab }, 697 { ASTOSW, ynone, Pe, 0xab }, 698 { ASUBB, yxorb, Pb, 0x2c,0x80,(05),0x28,0x2a }, 699 { ASUBL, yaddl, Px, 0x83,(05),0x2d,0x81,(05),0x29,0x2b }, 700 { ASUBW, yaddl, Pe, 0x83,(05),0x2d,0x81,(05),0x29,0x2b }, 701 { ASYSCALL, ynone, Px, 0xcd,100 }, 702 { ATESTB, ytestb, Pb, 0xa8,0xf6,(00),0x84,0x84 }, 703 { ATESTL, ytestl, Px, 0xa9,0xf7,(00),0x85,0x85 }, 704 { ATESTW, ytestl, Pe, 0xa9,0xf7,(00),0x85,0x85 }, 705 { ATEXT, ytext, Px }, 706 { AVERR, ydivl, Pm, 0x00,(04) }, 707 { AVERW, ydivl, Pm, 0x00,(05) }, 708 { AWAIT, ynone, Px, 0x9b }, 709 { AWORD, ybyte, Px, 2 }, 710 { AXCHGB, yml_mb, Pb, 0x86,0x86 }, 711 { AXCHGL, yxchg, Px, 0x90,0x90,0x87,0x87 }, 712 { AXCHGW, yxchg, Pe, 0x90,0x90,0x87,0x87 }, 713 { AXLAT, ynone, Px, 0xd7 }, 714 { AXORB, yxorb, Pb, 0x34,0x80,(06),0x30,0x32 }, 715 { AXORL, yxorl, Px, 0x83,(06),0x35,0x81,(06),0x31,0x33 }, 716 { AXORW, yxorl, Pe, 0x83,(06),0x35,0x81,(06),0x31,0x33 }, 717 718 { AFMOVB, yfmvx, Px, 0xdf,(04) }, 719 { AFMOVBP, yfmvp, Px, 0xdf,(06) }, 720 { AFMOVD, yfmvd, Px, 0xdd,(00),0xdd,(02),0xd9,(00),0xdd,(02) }, 721 { AFMOVDP, yfmvdp, Px, 0xdd,(03),0xdd,(03) }, 722 { AFMOVF, yfmvf, Px, 0xd9,(00),0xd9,(02) }, 723 { AFMOVFP, yfmvp, Px, 0xd9,(03) }, 724 { AFMOVL, yfmvf, Px, 0xdb,(00),0xdb,(02) }, 725 { AFMOVLP, yfmvp, Px, 0xdb,(03) }, 726 { AFMOVV, yfmvx, Px, 0xdf,(05) }, 727 { AFMOVVP, yfmvp, Px, 0xdf,(07) }, 728 { AFMOVW, yfmvf, Px, 0xdf,(00),0xdf,(02) }, 729 { AFMOVWP, yfmvp, Px, 0xdf,(03) }, 730 { AFMOVX, yfmvx, Px, 0xdb,(05) }, 731 { AFMOVXP, yfmvp, Px, 0xdb,(07) }, 732 733 { AFCOMB }, 734 { AFCOMBP }, 735 { AFCOMD, yfadd, Px, 0xdc,(02),0xd8,(02),0xdc,(02) }, /* botch */ 736 { AFCOMDP, yfadd, Px, 0xdc,(03),0xd8,(03),0xdc,(03) }, /* botch */ 737 { AFCOMDPP, ycompp, Px, 0xde,(03) }, 738 { AFCOMF, yfmvx, Px, 0xd8,(02) }, 739 { AFCOMFP, yfmvx, Px, 0xd8,(03) }, 740 { AFCOMI, yfmvx, Px, 0xdb,(06) }, 741 { AFCOMIP, yfmvx, Px, 0xdf,(06) }, 742 { AFCOML, yfmvx, Px, 0xda,(02) }, 743 { AFCOMLP, yfmvx, Px, 0xda,(03) }, 744 { AFCOMW, yfmvx, Px, 0xde,(02) }, 745 { AFCOMWP, yfmvx, Px, 0xde,(03) }, 746 747 { AFUCOM, ycompp, Px, 0xdd,(04) }, 748 { AFUCOMI, ycompp, Px, 0xdb,(05) }, 749 { AFUCOMIP, ycompp, Px, 0xdf,(05) }, 750 { AFUCOMP, ycompp, Px, 0xdd,(05) }, 751 { AFUCOMPP, ycompp, Px, 0xda,(13) }, 752 753 { AFADDDP, yfaddp, Px, 0xde,(00) }, 754 { AFADDW, yfmvx, Px, 0xde,(00) }, 755 { AFADDL, yfmvx, Px, 0xda,(00) }, 756 { AFADDF, yfmvx, Px, 0xd8,(00) }, 757 { AFADDD, yfadd, Px, 0xdc,(00),0xd8,(00),0xdc,(00) }, 758 759 { AFMULDP, yfaddp, Px, 0xde,(01) }, 760 { AFMULW, yfmvx, Px, 0xde,(01) }, 761 { AFMULL, yfmvx, Px, 0xda,(01) }, 762 { AFMULF, yfmvx, Px, 0xd8,(01) }, 763 { AFMULD, yfadd, Px, 0xdc,(01),0xd8,(01),0xdc,(01) }, 764 765 { AFSUBDP, yfaddp, Px, 0xde,(05) }, 766 { AFSUBW, yfmvx, Px, 0xde,(04) }, 767 { AFSUBL, yfmvx, Px, 0xda,(04) }, 768 { AFSUBF, yfmvx, Px, 0xd8,(04) }, 769 { AFSUBD, yfadd, Px, 0xdc,(04),0xd8,(04),0xdc,(05) }, 770 771 { AFSUBRDP, yfaddp, Px, 0xde,(04) }, 772 { AFSUBRW, yfmvx, Px, 0xde,(05) }, 773 { AFSUBRL, yfmvx, Px, 0xda,(05) }, 774 { AFSUBRF, yfmvx, Px, 0xd8,(05) }, 775 { AFSUBRD, yfadd, Px, 0xdc,(05),0xd8,(05),0xdc,(04) }, 776 777 { AFDIVDP, yfaddp, Px, 0xde,(07) }, 778 { AFDIVW, yfmvx, Px, 0xde,(06) }, 779 { AFDIVL, yfmvx, Px, 0xda,(06) }, 780 { AFDIVF, yfmvx, Px, 0xd8,(06) }, 781 { AFDIVD, yfadd, Px, 0xdc,(06),0xd8,(06),0xdc,(07) }, 782 783 { AFDIVRDP, yfaddp, Px, 0xde,(06) }, 784 { AFDIVRW, yfmvx, Px, 0xde,(07) }, 785 { AFDIVRL, yfmvx, Px, 0xda,(07) }, 786 { AFDIVRF, yfmvx, Px, 0xd8,(07) }, 787 { AFDIVRD, yfadd, Px, 0xdc,(07),0xd8,(07),0xdc,(06) }, 788 789 { AFXCHD, yfxch, Px, 0xd9,(01),0xd9,(01) }, 790 { AFFREE }, 791 { AFLDCW, ystcw, Px, 0xd9,(05),0xd9,(05) }, 792 { AFLDENV, ystcw, Px, 0xd9,(04),0xd9,(04) }, 793 { AFRSTOR, ysvrs, Px, 0xdd,(04),0xdd,(04) }, 794 { AFSAVE, ysvrs, Px, 0xdd,(06),0xdd,(06) }, 795 { AFSTCW, ystcw, Px, 0xd9,(07),0xd9,(07) }, 796 { AFSTENV, ystcw, Px, 0xd9,(06),0xd9,(06) }, 797 { AFSTSW, ystsw, Px, 0xdd,(07),0xdf,0xe0 }, 798 { AF2XM1, ynone, Px, 0xd9, 0xf0 }, 799 { AFABS, ynone, Px, 0xd9, 0xe1 }, 800 { AFCHS, ynone, Px, 0xd9, 0xe0 }, 801 { AFCLEX, ynone, Px, 0xdb, 0xe2 }, 802 { AFCOS, ynone, Px, 0xd9, 0xff }, 803 { AFDECSTP, ynone, Px, 0xd9, 0xf6 }, 804 { AFINCSTP, ynone, Px, 0xd9, 0xf7 }, 805 { AFINIT, ynone, Px, 0xdb, 0xe3 }, 806 { AFLD1, ynone, Px, 0xd9, 0xe8 }, 807 { AFLDL2E, ynone, Px, 0xd9, 0xea }, 808 { AFLDL2T, ynone, Px, 0xd9, 0xe9 }, 809 { AFLDLG2, ynone, Px, 0xd9, 0xec }, 810 { AFLDLN2, ynone, Px, 0xd9, 0xed }, 811 { AFLDPI, ynone, Px, 0xd9, 0xeb }, 812 { AFLDZ, ynone, Px, 0xd9, 0xee }, 813 { AFNOP, ynone, Px, 0xd9, 0xd0 }, 814 { AFPATAN, ynone, Px, 0xd9, 0xf3 }, 815 { AFPREM, ynone, Px, 0xd9, 0xf8 }, 816 { AFPREM1, ynone, Px, 0xd9, 0xf5 }, 817 { AFPTAN, ynone, Px, 0xd9, 0xf2 }, 818 { AFRNDINT, ynone, Px, 0xd9, 0xfc }, 819 { AFSCALE, ynone, Px, 0xd9, 0xfd }, 820 { AFSIN, ynone, Px, 0xd9, 0xfe }, 821 { AFSINCOS, ynone, Px, 0xd9, 0xfb }, 822 { AFSQRT, ynone, Px, 0xd9, 0xfa }, 823 { AFTST, ynone, Px, 0xd9, 0xe4 }, 824 { AFXAM, ynone, Px, 0xd9, 0xe5 }, 825 { AFXTRACT, ynone, Px, 0xd9, 0xf4 }, 826 { AFYL2X, ynone, Px, 0xd9, 0xf1 }, 827 { AFYL2XP1, ynone, Px, 0xd9, 0xf9 }, 828 { AEND }, 829 { ADYNT_ }, 830 { AINIT_ }, 831 { ASIGNAME }, 832 { ACMPXCHGB, yrb_mb, Pm, 0xb0 }, 833 { ACMPXCHGL, yrl_ml, Pm, 0xb1 }, 834 { ACMPXCHGW, yrl_ml, Pm, 0xb1 }, 835 { ACMPXCHG8B, yscond, Pm, 0xc7,(01) }, 836 837 { ACPUID, ynone, Pm, 0xa2 }, 838 { ARDTSC, ynone, Pm, 0x31 }, 839 840 { AXADDB, yrb_mb, Pb, 0x0f,0xc0 }, 841 { AXADDL, yrl_ml, Pm, 0xc1 }, 842 { AXADDW, yrl_ml, Pe, 0x0f,0xc1 }, 843 844 { ACMOVLCC, yml_rl, Pm, 0x43 }, 845 { ACMOVLCS, yml_rl, Pm, 0x42 }, 846 { ACMOVLEQ, yml_rl, Pm, 0x44 }, 847 { ACMOVLGE, yml_rl, Pm, 0x4d }, 848 { ACMOVLGT, yml_rl, Pm, 0x4f }, 849 { ACMOVLHI, yml_rl, Pm, 0x47 }, 850 { ACMOVLLE, yml_rl, Pm, 0x4e }, 851 { ACMOVLLS, yml_rl, Pm, 0x46 }, 852 { ACMOVLLT, yml_rl, Pm, 0x4c }, 853 { ACMOVLMI, yml_rl, Pm, 0x48 }, 854 { ACMOVLNE, yml_rl, Pm, 0x45 }, 855 { ACMOVLOC, yml_rl, Pm, 0x41 }, 856 { ACMOVLOS, yml_rl, Pm, 0x40 }, 857 { ACMOVLPC, yml_rl, Pm, 0x4b }, 858 { ACMOVLPL, yml_rl, Pm, 0x49 }, 859 { ACMOVLPS, yml_rl, Pm, 0x4a }, 860 { ACMOVWCC, yml_rl, Pq, 0x43 }, 861 { ACMOVWCS, yml_rl, Pq, 0x42 }, 862 { ACMOVWEQ, yml_rl, Pq, 0x44 }, 863 { ACMOVWGE, yml_rl, Pq, 0x4d }, 864 { ACMOVWGT, yml_rl, Pq, 0x4f }, 865 { ACMOVWHI, yml_rl, Pq, 0x47 }, 866 { ACMOVWLE, yml_rl, Pq, 0x4e }, 867 { ACMOVWLS, yml_rl, Pq, 0x46 }, 868 { ACMOVWLT, yml_rl, Pq, 0x4c }, 869 { ACMOVWMI, yml_rl, Pq, 0x48 }, 870 { ACMOVWNE, yml_rl, Pq, 0x45 }, 871 { ACMOVWOC, yml_rl, Pq, 0x41 }, 872 { ACMOVWOS, yml_rl, Pq, 0x40 }, 873 { ACMOVWPC, yml_rl, Pq, 0x4b }, 874 { ACMOVWPL, yml_rl, Pq, 0x49 }, 875 { ACMOVWPS, yml_rl, Pq, 0x4a }, 876 877 { AFCMOVCC, yfcmv, Px, 0xdb,(00) }, 878 { AFCMOVCS, yfcmv, Px, 0xda,(00) }, 879 { AFCMOVEQ, yfcmv, Px, 0xda,(01) }, 880 { AFCMOVHI, yfcmv, Px, 0xdb,(02) }, 881 { AFCMOVLS, yfcmv, Px, 0xda,(02) }, 882 { AFCMOVNE, yfcmv, Px, 0xdb,(01) }, 883 { AFCMOVNU, yfcmv, Px, 0xdb,(03) }, 884 { AFCMOVUN, yfcmv, Px, 0xda,(03) }, 885 886 { ALFENCE, ynone, Pm, 0xae,0xe8 }, 887 { AMFENCE, ynone, Pm, 0xae,0xf0 }, 888 { ASFENCE, ynone, Pm, 0xae,0xf8 }, 889 890 { AEMMS, ynone, Pm, 0x77 }, 891 892 { APREFETCHT0, yprefetch, Pm, 0x18,(01) }, 893 { APREFETCHT1, yprefetch, Pm, 0x18,(02) }, 894 { APREFETCHT2, yprefetch, Pm, 0x18,(03) }, 895 { APREFETCHNTA, yprefetch, Pm, 0x18,(00) }, 896 897 { ABSWAPL, ybswap, Pm, 0xc8 }, 898 899 { AUNDEF, ynone, Px, 0x0f, 0x0b }, 900 901 { AADDPD, yxm, Pq, 0x58 }, 902 { AADDPS, yxm, Pm, 0x58 }, 903 { AADDSD, yxm, Pf2, 0x58 }, 904 { AADDSS, yxm, Pf3, 0x58 }, 905 { AANDNPD, yxm, Pq, 0x55 }, 906 { AANDNPS, yxm, Pm, 0x55 }, 907 { AANDPD, yxm, Pq, 0x54 }, 908 { AANDPS, yxm, Pq, 0x54 }, 909 { ACMPPD, yxcmpi, Px, Pe,0xc2 }, 910 { ACMPPS, yxcmpi, Pm, 0xc2,0 }, 911 { ACMPSD, yxcmpi, Px, Pf2,0xc2 }, 912 { ACMPSS, yxcmpi, Px, Pf3,0xc2 }, 913 { ACOMISD, yxcmp, Pe, 0x2f }, 914 { ACOMISS, yxcmp, Pm, 0x2f }, 915 { ACVTPL2PD, yxcvm2, Px, Pf3,0xe6,Pe,0x2a }, 916 { ACVTPL2PS, yxcvm2, Pm, 0x5b,0,0x2a,0, }, 917 { ACVTPD2PL, yxcvm1, Px, Pf2,0xe6,Pe,0x2d }, 918 { ACVTPD2PS, yxm, Pe, 0x5a }, 919 { ACVTPS2PL, yxcvm1, Px, Pe,0x5b,Pm,0x2d }, 920 { ACVTPS2PD, yxm, Pm, 0x5a }, 921 { ACVTSD2SL, yxcvfl, Pf2, 0x2d }, 922 { ACVTSD2SS, yxm, Pf2, 0x5a }, 923 { ACVTSL2SD, yxcvlf, Pf2, 0x2a }, 924 { ACVTSL2SS, yxcvlf, Pf3, 0x2a }, 925 { ACVTSS2SD, yxm, Pf3, 0x5a }, 926 { ACVTSS2SL, yxcvfl, Pf3, 0x2d }, 927 { ACVTTPD2PL, yxcvm1, Px, Pe,0xe6,Pe,0x2c }, 928 { ACVTTPS2PL, yxcvm1, Px, Pf3,0x5b,Pm,0x2c }, 929 { ACVTTSD2SL, yxcvfl, Pf2, 0x2c }, 930 { ACVTTSS2SL, yxcvfl, Pf3, 0x2c }, 931 { ADIVPD, yxm, Pe, 0x5e }, 932 { ADIVPS, yxm, Pm, 0x5e }, 933 { ADIVSD, yxm, Pf2, 0x5e }, 934 { ADIVSS, yxm, Pf3, 0x5e }, 935 { AMASKMOVOU, yxr, Pe, 0xf7 }, 936 { AMAXPD, yxm, Pe, 0x5f }, 937 { AMAXPS, yxm, Pm, 0x5f }, 938 { AMAXSD, yxm, Pf2, 0x5f }, 939 { AMAXSS, yxm, Pf3, 0x5f }, 940 { AMINPD, yxm, Pe, 0x5d }, 941 { AMINPS, yxm, Pm, 0x5d }, 942 { AMINSD, yxm, Pf2, 0x5d }, 943 { AMINSS, yxm, Pf3, 0x5d }, 944 { AMOVAPD, yxmov, Pe, 0x28,0x29 }, 945 { AMOVAPS, yxmov, Pm, 0x28,0x29 }, 946 { AMOVO, yxmov, Pe, 0x6f,0x7f }, 947 { AMOVOU, yxmov, Pf3, 0x6f,0x7f }, 948 { AMOVHLPS, yxr, Pm, 0x12 }, 949 { AMOVHPD, yxmov, Pe, 0x16,0x17 }, 950 { AMOVHPS, yxmov, Pm, 0x16,0x17 }, 951 { AMOVLHPS, yxr, Pm, 0x16 }, 952 { AMOVLPD, yxmov, Pe, 0x12,0x13 }, 953 { AMOVLPS, yxmov, Pm, 0x12,0x13 }, 954 { AMOVMSKPD, yxrrl, Pq, 0x50 }, 955 { AMOVMSKPS, yxrrl, Pm, 0x50 }, 956 { AMOVNTO, yxr_ml, Pe, 0xe7 }, 957 { AMOVNTPD, yxr_ml, Pe, 0x2b }, 958 { AMOVNTPS, yxr_ml, Pm, 0x2b }, 959 { AMOVSD, yxmov, Pf2, 0x10,0x11 }, 960 { AMOVSS, yxmov, Pf3, 0x10,0x11 }, 961 { AMOVUPD, yxmov, Pe, 0x10,0x11 }, 962 { AMOVUPS, yxmov, Pm, 0x10,0x11 }, 963 { AMULPD, yxm, Pe, 0x59 }, 964 { AMULPS, yxm, Ym, 0x59 }, 965 { AMULSD, yxm, Pf2, 0x59 }, 966 { AMULSS, yxm, Pf3, 0x59 }, 967 { AORPD, yxm, Pq, 0x56 }, 968 { AORPS, yxm, Pm, 0x56 }, 969 { APADDQ, yxm, Pe, 0xd4 }, 970 { APAND, yxm, Pe, 0xdb }, 971 { APCMPEQB, yxmq, Pe ,0x74 }, 972 { APMAXSW, yxm, Pe, 0xee }, 973 { APMAXUB, yxm, Pe, 0xde }, 974 { APMINSW, yxm, Pe, 0xea }, 975 { APMINUB, yxm, Pe, 0xda }, 976 { APMOVMSKB, ymskb, Px, Pe,0xd7,0xd7 }, 977 { APSADBW, yxm, Pq, 0xf6 }, 978 { APSUBB, yxm, Pe, 0xf8 }, 979 { APSUBL, yxm, Pe, 0xfa }, 980 { APSUBQ, yxm, Pe, 0xfb }, 981 { APSUBSB, yxm, Pe, 0xe8 }, 982 { APSUBSW, yxm, Pe, 0xe9 }, 983 { APSUBUSB, yxm, Pe, 0xd8 }, 984 { APSUBUSW, yxm, Pe, 0xd9 }, 985 { APSUBW, yxm, Pe, 0xf9 }, 986 { APUNPCKHQDQ, yxm, Pe, 0x6d }, 987 { APUNPCKLQDQ, yxm, Pe, 0x6c }, 988 { ARCPPS, yxm, Pm, 0x53 }, 989 { ARCPSS, yxm, Pf3, 0x53 }, 990 { ARSQRTPS, yxm, Pm, 0x52 }, 991 { ARSQRTSS, yxm, Pf3, 0x52 }, 992 { ASQRTPD, yxm, Pe, 0x51 }, 993 { ASQRTPS, yxm, Pm, 0x51 }, 994 { ASQRTSD, yxm, Pf2, 0x51 }, 995 { ASQRTSS, yxm, Pf3, 0x51 }, 996 { ASUBPD, yxm, Pe, 0x5c }, 997 { ASUBPS, yxm, Pm, 0x5c }, 998 { ASUBSD, yxm, Pf2, 0x5c }, 999 { ASUBSS, yxm, Pf3, 0x5c }, 1000 { AUCOMISD, yxcmp, Pe, 0x2e }, 1001 { AUCOMISS, yxcmp, Pm, 0x2e }, 1002 { AUNPCKHPD, yxm, Pe, 0x15 }, 1003 { AUNPCKHPS, yxm, Pm, 0x15 }, 1004 { AUNPCKLPD, yxm, Pe, 0x14 }, 1005 { AUNPCKLPS, yxm, Pm, 0x14 }, 1006 { AXORPD, yxm, Pe, 0x57 }, 1007 { AXORPS, yxm, Pm, 0x57 }, 1008 1009 { AAESENC, yaes, Pq, 0x38,0xdc,(0) }, 1010 { APINSRD, yinsrd, Pq, 0x3a, 0x22, (00) }, 1011 { APSHUFB, ymshufb,Pq, 0x38, 0x00 }, 1012 1013 { AUSEFIELD, ynop, Px, 0,0 }, 1014 { ATYPE }, 1015 { AFUNCDATA, yfuncdata, Px, 0,0 }, 1016 { APCDATA, ypcdata, Px, 0,0 }, 1017 1018 0 1019 };