1 // Inferno utils/6c/6.out.h 2 // http://code.google.com/p/inferno-os/source/browse/utils/6c/6.out.h 3 // 4 // Copyright 1994-1999 Lucent Technologies Inc. All rights reserved. 5 // Portions Copyright 1995-1997 C H Forsyth (forsyth (a] 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 (a] 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 package x86 32 33 import "cmd/internal/obj" 34 35 //go:generate go run ../stringer.go -i $GOFILE -o anames.go -p x86 36 37 /* 38 * amd64 39 */ 40 const ( 41 AAAA = obj.ABaseAMD64 + obj.A_ARCHSPECIFIC + iota 42 AAAD 43 AAAM 44 AAAS 45 AADCB 46 AADCL 47 AADCW 48 AADDB 49 AADDL 50 AADDW 51 AADJSP 52 AANDB 53 AANDL 54 AANDW 55 AARPL 56 ABOUNDL 57 ABOUNDW 58 ABSFL 59 ABSFW 60 ABSRL 61 ABSRW 62 ABTL 63 ABTW 64 ABTCL 65 ABTCW 66 ABTRL 67 ABTRW 68 ABTSL 69 ABTSW 70 ABYTE 71 ACLC 72 ACLD 73 ACLI 74 ACLTS 75 ACMC 76 ACMPB 77 ACMPL 78 ACMPW 79 ACMPSB 80 ACMPSL 81 ACMPSW 82 ADAA 83 ADAS 84 ADECB 85 ADECL 86 ADECQ 87 ADECW 88 ADIVB 89 ADIVL 90 ADIVW 91 AENTER 92 AHLT 93 AIDIVB 94 AIDIVL 95 AIDIVW 96 AIMULB 97 AIMULL 98 AIMULW 99 AINB 100 AINL 101 AINW 102 AINCB 103 AINCL 104 AINCQ 105 AINCW 106 AINSB 107 AINSL 108 AINSW 109 AINT 110 AINTO 111 AIRETL 112 AIRETW 113 AJCC 114 AJCS 115 AJCXZL 116 AJEQ 117 AJGE 118 AJGT 119 AJHI 120 AJLE 121 AJLS 122 AJLT 123 AJMI 124 AJNE 125 AJOC 126 AJOS 127 AJPC 128 AJPL 129 AJPS 130 ALAHF 131 ALARL 132 ALARW 133 ALEAL 134 ALEAW 135 ALEAVEL 136 ALEAVEW 137 ALOCK 138 ALODSB 139 ALODSL 140 ALODSW 141 ALONG 142 ALOOP 143 ALOOPEQ 144 ALOOPNE 145 ALSLL 146 ALSLW 147 AMOVB 148 AMOVL 149 AMOVW 150 AMOVBLSX 151 AMOVBLZX 152 AMOVBQSX 153 AMOVBQZX 154 AMOVBWSX 155 AMOVBWZX 156 AMOVWLSX 157 AMOVWLZX 158 AMOVWQSX 159 AMOVWQZX 160 AMOVSB 161 AMOVSL 162 AMOVSW 163 AMULB 164 AMULL 165 AMULW 166 ANEGB 167 ANEGL 168 ANEGW 169 ANOTB 170 ANOTL 171 ANOTW 172 AORB 173 AORL 174 AORW 175 AOUTB 176 AOUTL 177 AOUTW 178 AOUTSB 179 AOUTSL 180 AOUTSW 181 APAUSE 182 APOPAL 183 APOPAW 184 APOPFL 185 APOPFW 186 APOPL 187 APOPW 188 APUSHAL 189 APUSHAW 190 APUSHFL 191 APUSHFW 192 APUSHL 193 APUSHW 194 ARCLB 195 ARCLL 196 ARCLW 197 ARCRB 198 ARCRL 199 ARCRW 200 AREP 201 AREPN 202 AROLB 203 AROLL 204 AROLW 205 ARORB 206 ARORL 207 ARORW 208 ASAHF 209 ASALB 210 ASALL 211 ASALW 212 ASARB 213 ASARL 214 ASARW 215 ASBBB 216 ASBBL 217 ASBBW 218 ASCASB 219 ASCASL 220 ASCASW 221 ASETCC 222 ASETCS 223 ASETEQ 224 ASETGE 225 ASETGT 226 ASETHI 227 ASETLE 228 ASETLS 229 ASETLT 230 ASETMI 231 ASETNE 232 ASETOC 233 ASETOS 234 ASETPC 235 ASETPL 236 ASETPS 237 ACDQ 238 ACWD 239 ASHLB 240 ASHLL 241 ASHLW 242 ASHRB 243 ASHRL 244 ASHRW 245 ASTC 246 ASTD 247 ASTI 248 ASTOSB 249 ASTOSL 250 ASTOSW 251 ASUBB 252 ASUBL 253 ASUBW 254 ASYSCALL 255 ATESTB 256 ATESTL 257 ATESTW 258 AVERR 259 AVERW 260 AWAIT 261 AWORD 262 AXCHGB 263 AXCHGL 264 AXCHGW 265 AXLAT 266 AXORB 267 AXORL 268 AXORW 269 270 AFMOVB 271 AFMOVBP 272 AFMOVD 273 AFMOVDP 274 AFMOVF 275 AFMOVFP 276 AFMOVL 277 AFMOVLP 278 AFMOVV 279 AFMOVVP 280 AFMOVW 281 AFMOVWP 282 AFMOVX 283 AFMOVXP 284 285 AFCOMB 286 AFCOMBP 287 AFCOMD 288 AFCOMDP 289 AFCOMDPP 290 AFCOMF 291 AFCOMFP 292 AFCOML 293 AFCOMLP 294 AFCOMW 295 AFCOMWP 296 AFUCOM 297 AFUCOMP 298 AFUCOMPP 299 300 AFADDDP 301 AFADDW 302 AFADDL 303 AFADDF 304 AFADDD 305 306 AFMULDP 307 AFMULW 308 AFMULL 309 AFMULF 310 AFMULD 311 312 AFSUBDP 313 AFSUBW 314 AFSUBL 315 AFSUBF 316 AFSUBD 317 318 AFSUBRDP 319 AFSUBRW 320 AFSUBRL 321 AFSUBRF 322 AFSUBRD 323 324 AFDIVDP 325 AFDIVW 326 AFDIVL 327 AFDIVF 328 AFDIVD 329 330 AFDIVRDP 331 AFDIVRW 332 AFDIVRL 333 AFDIVRF 334 AFDIVRD 335 336 AFXCHD 337 AFFREE 338 339 AFLDCW 340 AFLDENV 341 AFRSTOR 342 AFSAVE 343 AFSTCW 344 AFSTENV 345 AFSTSW 346 347 AF2XM1 348 AFABS 349 AFCHS 350 AFCLEX 351 AFCOS 352 AFDECSTP 353 AFINCSTP 354 AFINIT 355 AFLD1 356 AFLDL2E 357 AFLDL2T 358 AFLDLG2 359 AFLDLN2 360 AFLDPI 361 AFLDZ 362 AFNOP 363 AFPATAN 364 AFPREM 365 AFPREM1 366 AFPTAN 367 AFRNDINT 368 AFSCALE 369 AFSIN 370 AFSINCOS 371 AFSQRT 372 AFTST 373 AFXAM 374 AFXTRACT 375 AFYL2X 376 AFYL2XP1 377 378 // extra 32-bit operations 379 ACMPXCHGB 380 ACMPXCHGL 381 ACMPXCHGW 382 ACMPXCHG8B 383 ACPUID 384 AINVD 385 AINVLPG 386 ALFENCE 387 AMFENCE 388 AMOVNTIL 389 ARDMSR 390 ARDPMC 391 ARDTSC 392 ARSM 393 ASFENCE 394 ASYSRET 395 AWBINVD 396 AWRMSR 397 AXADDB 398 AXADDL 399 AXADDW 400 401 // conditional move 402 ACMOVLCC 403 ACMOVLCS 404 ACMOVLEQ 405 ACMOVLGE 406 ACMOVLGT 407 ACMOVLHI 408 ACMOVLLE 409 ACMOVLLS 410 ACMOVLLT 411 ACMOVLMI 412 ACMOVLNE 413 ACMOVLOC 414 ACMOVLOS 415 ACMOVLPC 416 ACMOVLPL 417 ACMOVLPS 418 ACMOVQCC 419 ACMOVQCS 420 ACMOVQEQ 421 ACMOVQGE 422 ACMOVQGT 423 ACMOVQHI 424 ACMOVQLE 425 ACMOVQLS 426 ACMOVQLT 427 ACMOVQMI 428 ACMOVQNE 429 ACMOVQOC 430 ACMOVQOS 431 ACMOVQPC 432 ACMOVQPL 433 ACMOVQPS 434 ACMOVWCC 435 ACMOVWCS 436 ACMOVWEQ 437 ACMOVWGE 438 ACMOVWGT 439 ACMOVWHI 440 ACMOVWLE 441 ACMOVWLS 442 ACMOVWLT 443 ACMOVWMI 444 ACMOVWNE 445 ACMOVWOC 446 ACMOVWOS 447 ACMOVWPC 448 ACMOVWPL 449 ACMOVWPS 450 451 // 64-bit 452 AADCQ 453 AADDQ 454 AANDQ 455 ABSFQ 456 ABSRQ 457 ABTCQ 458 ABTQ 459 ABTRQ 460 ABTSQ 461 ACMPQ 462 ACMPSQ 463 ACMPXCHGQ 464 ACQO 465 ADIVQ 466 AIDIVQ 467 AIMULQ 468 AIRETQ 469 AJCXZQ 470 ALEAQ 471 ALEAVEQ 472 ALODSQ 473 AMOVQ 474 AMOVLQSX 475 AMOVLQZX 476 AMOVNTIQ 477 AMOVSQ 478 AMULQ 479 ANEGQ 480 ANOTQ 481 AORQ 482 APOPFQ 483 APOPQ 484 APUSHFQ 485 APUSHQ 486 ARCLQ 487 ARCRQ 488 AROLQ 489 ARORQ 490 AQUAD 491 ASALQ 492 ASARQ 493 ASBBQ 494 ASCASQ 495 ASHLQ 496 ASHRQ 497 ASTOSQ 498 ASUBQ 499 ATESTQ 500 AXADDQ 501 AXCHGQ 502 AXORQ 503 504 // media 505 AADDPD 506 AADDPS 507 AADDSD 508 AADDSS 509 AANDNPD 510 AANDNPS 511 AANDPD 512 AANDPS 513 ACMPPD 514 ACMPPS 515 ACMPSD 516 ACMPSS 517 ACOMISD 518 ACOMISS 519 ACVTPD2PL 520 ACVTPD2PS 521 ACVTPL2PD 522 ACVTPL2PS 523 ACVTPS2PD 524 ACVTPS2PL 525 ACVTSD2SL 526 ACVTSD2SQ 527 ACVTSD2SS 528 ACVTSL2SD 529 ACVTSL2SS 530 ACVTSQ2SD 531 ACVTSQ2SS 532 ACVTSS2SD 533 ACVTSS2SL 534 ACVTSS2SQ 535 ACVTTPD2PL 536 ACVTTPS2PL 537 ACVTTSD2SL 538 ACVTTSD2SQ 539 ACVTTSS2SL 540 ACVTTSS2SQ 541 ADIVPD 542 ADIVPS 543 ADIVSD 544 ADIVSS 545 AEMMS 546 AFXRSTOR 547 AFXRSTOR64 548 AFXSAVE 549 AFXSAVE64 550 ALDMXCSR 551 AMASKMOVOU 552 AMASKMOVQ 553 AMAXPD 554 AMAXPS 555 AMAXSD 556 AMAXSS 557 AMINPD 558 AMINPS 559 AMINSD 560 AMINSS 561 AMOVAPD 562 AMOVAPS 563 AMOVOU 564 AMOVHLPS 565 AMOVHPD 566 AMOVHPS 567 AMOVLHPS 568 AMOVLPD 569 AMOVLPS 570 AMOVMSKPD 571 AMOVMSKPS 572 AMOVNTO 573 AMOVNTPD 574 AMOVNTPS 575 AMOVNTQ 576 AMOVO 577 AMOVQOZX 578 AMOVSD 579 AMOVSS 580 AMOVUPD 581 AMOVUPS 582 AMULPD 583 AMULPS 584 AMULSD 585 AMULSS 586 AORPD 587 AORPS 588 APACKSSLW 589 APACKSSWB 590 APACKUSWB 591 APADDB 592 APADDL 593 APADDQ 594 APADDSB 595 APADDSW 596 APADDUSB 597 APADDUSW 598 APADDW 599 APANDB 600 APANDL 601 APANDSB 602 APANDSW 603 APANDUSB 604 APANDUSW 605 APANDW 606 APAND 607 APANDN 608 APAVGB 609 APAVGW 610 APCMPEQB 611 APCMPEQL 612 APCMPEQW 613 APCMPGTB 614 APCMPGTL 615 APCMPGTW 616 APEXTRW 617 APFACC 618 APFADD 619 APFCMPEQ 620 APFCMPGE 621 APFCMPGT 622 APFMAX 623 APFMIN 624 APFMUL 625 APFNACC 626 APFPNACC 627 APFRCP 628 APFRCPIT1 629 APFRCPI2T 630 APFRSQIT1 631 APFRSQRT 632 APFSUB 633 APFSUBR 634 APINSRW 635 APINSRD 636 APINSRQ 637 APMADDWL 638 APMAXSW 639 APMAXUB 640 APMINSW 641 APMINUB 642 APMOVMSKB 643 APMULHRW 644 APMULHUW 645 APMULHW 646 APMULLW 647 APMULULQ 648 APOR 649 APSADBW 650 APSHUFHW 651 APSHUFL 652 APSHUFLW 653 APSHUFW 654 APSHUFB 655 APSLLO 656 APSLLL 657 APSLLQ 658 APSLLW 659 APSRAL 660 APSRAW 661 APSRLO 662 APSRLL 663 APSRLQ 664 APSRLW 665 APSUBB 666 APSUBL 667 APSUBQ 668 APSUBSB 669 APSUBSW 670 APSUBUSB 671 APSUBUSW 672 APSUBW 673 APSWAPL 674 APUNPCKHBW 675 APUNPCKHLQ 676 APUNPCKHQDQ 677 APUNPCKHWL 678 APUNPCKLBW 679 APUNPCKLLQ 680 APUNPCKLQDQ 681 APUNPCKLWL 682 APXOR 683 ARCPPS 684 ARCPSS 685 ARSQRTPS 686 ARSQRTSS 687 ASHUFPD 688 ASHUFPS 689 ASQRTPD 690 ASQRTPS 691 ASQRTSD 692 ASQRTSS 693 ASTMXCSR 694 ASUBPD 695 ASUBPS 696 ASUBSD 697 ASUBSS 698 AUCOMISD 699 AUCOMISS 700 AUNPCKHPD 701 AUNPCKHPS 702 AUNPCKLPD 703 AUNPCKLPS 704 AXORPD 705 AXORPS 706 707 APF2IW 708 APF2IL 709 API2FW 710 API2FL 711 ARETFW 712 ARETFL 713 ARETFQ 714 ASWAPGS 715 716 AMODE 717 ACRC32B 718 ACRC32Q 719 AIMUL3Q 720 721 APREFETCHT0 722 APREFETCHT1 723 APREFETCHT2 724 APREFETCHNTA 725 726 AMOVQL 727 ABSWAPL 728 ABSWAPQ 729 730 AAESENC 731 AAESENCLAST 732 AAESDEC 733 AAESDECLAST 734 AAESIMC 735 AAESKEYGENASSIST 736 737 APSHUFD 738 APCLMULQDQ 739 740 // from 386 741 AJCXZW 742 AFCMOVCC 743 AFCMOVCS 744 AFCMOVEQ 745 AFCMOVHI 746 AFCMOVLS 747 AFCMOVNE 748 AFCMOVNU 749 AFCMOVUN 750 AFCOMI 751 AFCOMIP 752 AFUCOMI 753 AFUCOMIP 754 755 ALAST 756 ) 757 758 const ( 759 REG_NONE = 0 760 ) 761 762 const ( 763 REG_AL = obj.RBaseAMD64 + iota 764 REG_CL 765 REG_DL 766 REG_BL 767 REG_SPB 768 REG_BPB 769 REG_SIB 770 REG_DIB 771 REG_R8B 772 REG_R9B 773 REG_R10B 774 REG_R11B 775 REG_R12B 776 REG_R13B 777 REG_R14B 778 REG_R15B 779 780 REG_AX 781 REG_CX 782 REG_DX 783 REG_BX 784 REG_SP 785 REG_BP 786 REG_SI 787 REG_DI 788 REG_R8 789 REG_R9 790 REG_R10 791 REG_R11 792 REG_R12 793 REG_R13 794 REG_R14 795 REG_R15 796 797 REG_AH 798 REG_CH 799 REG_DH 800 REG_BH 801 802 REG_F0 803 REG_F1 804 REG_F2 805 REG_F3 806 REG_F4 807 REG_F5 808 REG_F6 809 REG_F7 810 811 REG_M0 812 REG_M1 813 REG_M2 814 REG_M3 815 REG_M4 816 REG_M5 817 REG_M6 818 REG_M7 819 820 REG_X0 821 REG_X1 822 REG_X2 823 REG_X3 824 REG_X4 825 REG_X5 826 REG_X6 827 REG_X7 828 REG_X8 829 REG_X9 830 REG_X10 831 REG_X11 832 REG_X12 833 REG_X13 834 REG_X14 835 REG_X15 836 837 REG_CS 838 REG_SS 839 REG_DS 840 REG_ES 841 REG_FS 842 REG_GS 843 844 REG_GDTR /* global descriptor table register */ 845 REG_IDTR /* interrupt descriptor table register */ 846 REG_LDTR /* local descriptor table register */ 847 REG_MSW /* machine status word */ 848 REG_TASK /* task register */ 849 850 REG_CR0 851 REG_CR1 852 REG_CR2 853 REG_CR3 854 REG_CR4 855 REG_CR5 856 REG_CR6 857 REG_CR7 858 REG_CR8 859 REG_CR9 860 REG_CR10 861 REG_CR11 862 REG_CR12 863 REG_CR13 864 REG_CR14 865 REG_CR15 866 867 REG_DR0 868 REG_DR1 869 REG_DR2 870 REG_DR3 871 REG_DR4 872 REG_DR5 873 REG_DR6 874 REG_DR7 875 876 REG_TR0 877 REG_TR1 878 REG_TR2 879 REG_TR3 880 REG_TR4 881 REG_TR5 882 REG_TR6 883 REG_TR7 884 885 REG_TLS 886 887 MAXREG 888 889 REG_CR = REG_CR0 890 REG_DR = REG_DR0 891 REG_TR = REG_TR0 892 893 REGARG = -1 894 REGRET = REG_AX 895 FREGRET = REG_X0 896 REGSP = REG_SP 897 REGTMP = REG_DI 898 REGCTXT = REG_DX 899 REGEXT = REG_R15 /* compiler allocates external registers R15 down */ 900 FREGMIN = REG_X0 + 5 /* first register variable */ 901 FREGEXT = REG_X0 + 15 /* first external register */ 902 T_TYPE = 1 << 0 903 T_INDEX = 1 << 1 904 T_OFFSET = 1 << 2 905 T_FCONST = 1 << 3 906 T_SYM = 1 << 4 907 T_SCONST = 1 << 5 908 T_64 = 1 << 6 909 T_GOTYPE = 1 << 7 910 ) 911