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