github.com/hbdrawn/golang@v0.0.0-20141214014649-6b835209aba2/src/cmd/6l/6.out.h (about) 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@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 #define NSYM 50 32 #define NSNAME 8 33 #include "../ld/textflag.h" 34 35 /* 36 * amd64 37 */ 38 39 enum 40 { 41 AXXX, 42 AAAA, 43 AAAD, 44 AAAM, 45 AAAS, 46 AADCB, 47 AADCL, 48 AADCW, 49 AADDB, 50 AADDL, 51 AADDW, 52 AADJSP, 53 AANDB, 54 AANDL, 55 AANDW, 56 AARPL, 57 ABOUNDL, 58 ABOUNDW, 59 ABSFL, 60 ABSFW, 61 ABSRL, 62 ABSRW, 63 ABTL, 64 ABTW, 65 ABTCL, 66 ABTCW, 67 ABTRL, 68 ABTRW, 69 ABTSL, 70 ABTSW, 71 ABYTE, 72 ACALL, 73 ACLC, 74 ACLD, 75 ACLI, 76 ACLTS, 77 ACMC, 78 ACMPB, 79 ACMPL, 80 ACMPW, 81 ACMPSB, 82 ACMPSL, 83 ACMPSW, 84 ADAA, 85 ADAS, 86 ADATA, 87 ADECB, 88 ADECL, 89 ADECQ, 90 ADECW, 91 ADIVB, 92 ADIVL, 93 ADIVW, 94 AENTER, 95 AGLOBL, 96 AGOK, 97 AHISTORY, 98 AHLT, 99 AIDIVB, 100 AIDIVL, 101 AIDIVW, 102 AIMULB, 103 AIMULL, 104 AIMULW, 105 AINB, 106 AINL, 107 AINW, 108 AINCB, 109 AINCL, 110 AINCQ, 111 AINCW, 112 AINSB, 113 AINSL, 114 AINSW, 115 AINT, 116 AINTO, 117 AIRETL, 118 AIRETW, 119 AJCC, 120 AJCS, 121 AJCXZL, 122 AJEQ, 123 AJGE, 124 AJGT, 125 AJHI, 126 AJLE, 127 AJLS, 128 AJLT, 129 AJMI, 130 AJMP, 131 AJNE, 132 AJOC, 133 AJOS, 134 AJPC, 135 AJPL, 136 AJPS, 137 ALAHF, 138 ALARL, 139 ALARW, 140 ALEAL, 141 ALEAW, 142 ALEAVEL, 143 ALEAVEW, 144 ALOCK, 145 ALODSB, 146 ALODSL, 147 ALODSW, 148 ALONG, 149 ALOOP, 150 ALOOPEQ, 151 ALOOPNE, 152 ALSLL, 153 ALSLW, 154 AMOVB, 155 AMOVL, 156 AMOVW, 157 AMOVBLSX, 158 AMOVBLZX, 159 AMOVBQSX, 160 AMOVBQZX, 161 AMOVBWSX, 162 AMOVBWZX, 163 AMOVWLSX, 164 AMOVWLZX, 165 AMOVWQSX, 166 AMOVWQZX, 167 AMOVSB, 168 AMOVSL, 169 AMOVSW, 170 AMULB, 171 AMULL, 172 AMULW, 173 ANAME, 174 ANEGB, 175 ANEGL, 176 ANEGW, 177 ANOP, 178 ANOTB, 179 ANOTL, 180 ANOTW, 181 AORB, 182 AORL, 183 AORW, 184 AOUTB, 185 AOUTL, 186 AOUTW, 187 AOUTSB, 188 AOUTSL, 189 AOUTSW, 190 APAUSE, 191 APOPAL, 192 APOPAW, 193 APOPFL, 194 APOPFW, 195 APOPL, 196 APOPW, 197 APUSHAL, 198 APUSHAW, 199 APUSHFL, 200 APUSHFW, 201 APUSHL, 202 APUSHW, 203 ARCLB, 204 ARCLL, 205 ARCLW, 206 ARCRB, 207 ARCRL, 208 ARCRW, 209 AREP, 210 AREPN, 211 ARET, 212 AROLB, 213 AROLL, 214 AROLW, 215 ARORB, 216 ARORL, 217 ARORW, 218 ASAHF, 219 ASALB, 220 ASALL, 221 ASALW, 222 ASARB, 223 ASARL, 224 ASARW, 225 ASBBB, 226 ASBBL, 227 ASBBW, 228 ASCASB, 229 ASCASL, 230 ASCASW, 231 ASETCC, 232 ASETCS, 233 ASETEQ, 234 ASETGE, 235 ASETGT, 236 ASETHI, 237 ASETLE, 238 ASETLS, 239 ASETLT, 240 ASETMI, 241 ASETNE, 242 ASETOC, 243 ASETOS, 244 ASETPC, 245 ASETPL, 246 ASETPS, 247 ACDQ, 248 ACWD, 249 ASHLB, 250 ASHLL, 251 ASHLW, 252 ASHRB, 253 ASHRL, 254 ASHRW, 255 ASTC, 256 ASTD, 257 ASTI, 258 ASTOSB, 259 ASTOSL, 260 ASTOSW, 261 ASUBB, 262 ASUBL, 263 ASUBW, 264 ASYSCALL, 265 ATESTB, 266 ATESTL, 267 ATESTW, 268 ATEXT, 269 AVERR, 270 AVERW, 271 AWAIT, 272 AWORD, 273 AXCHGB, 274 AXCHGL, 275 AXCHGW, 276 AXLAT, 277 AXORB, 278 AXORL, 279 AXORW, 280 281 AFMOVB, 282 AFMOVBP, 283 AFMOVD, 284 AFMOVDP, 285 AFMOVF, 286 AFMOVFP, 287 AFMOVL, 288 AFMOVLP, 289 AFMOVV, 290 AFMOVVP, 291 AFMOVW, 292 AFMOVWP, 293 AFMOVX, 294 AFMOVXP, 295 296 AFCOMB, 297 AFCOMBP, 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 AEND, 390 391 ADYNT_, 392 AINIT_, 393 394 ASIGNAME, 395 396 /* extra 32-bit operations */ 397 ACMPXCHGB, 398 ACMPXCHGL, 399 ACMPXCHGW, 400 ACMPXCHG8B, 401 ACPUID, 402 AINVD, 403 AINVLPG, 404 ALFENCE, 405 AMFENCE, 406 AMOVNTIL, 407 ARDMSR, 408 ARDPMC, 409 ARDTSC, 410 ARSM, 411 ASFENCE, 412 ASYSRET, 413 AWBINVD, 414 AWRMSR, 415 AXADDB, 416 AXADDL, 417 AXADDW, 418 419 /* conditional move */ 420 ACMOVLCC, 421 ACMOVLCS, 422 ACMOVLEQ, 423 ACMOVLGE, 424 ACMOVLGT, 425 ACMOVLHI, 426 ACMOVLLE, 427 ACMOVLLS, 428 ACMOVLLT, 429 ACMOVLMI, 430 ACMOVLNE, 431 ACMOVLOC, 432 ACMOVLOS, 433 ACMOVLPC, 434 ACMOVLPL, 435 ACMOVLPS, 436 ACMOVQCC, 437 ACMOVQCS, 438 ACMOVQEQ, 439 ACMOVQGE, 440 ACMOVQGT, 441 ACMOVQHI, 442 ACMOVQLE, 443 ACMOVQLS, 444 ACMOVQLT, 445 ACMOVQMI, 446 ACMOVQNE, 447 ACMOVQOC, 448 ACMOVQOS, 449 ACMOVQPC, 450 ACMOVQPL, 451 ACMOVQPS, 452 ACMOVWCC, 453 ACMOVWCS, 454 ACMOVWEQ, 455 ACMOVWGE, 456 ACMOVWGT, 457 ACMOVWHI, 458 ACMOVWLE, 459 ACMOVWLS, 460 ACMOVWLT, 461 ACMOVWMI, 462 ACMOVWNE, 463 ACMOVWOC, 464 ACMOVWOS, 465 ACMOVWPC, 466 ACMOVWPL, 467 ACMOVWPS, 468 469 /* 64-bit */ 470 AADCQ, 471 AADDQ, 472 AANDQ, 473 ABSFQ, 474 ABSRQ, 475 ABTCQ, 476 ABTQ, 477 ABTRQ, 478 ABTSQ, 479 ACMPQ, 480 ACMPSQ, 481 ACMPXCHGQ, 482 ACQO, 483 ADIVQ, 484 AIDIVQ, 485 AIMULQ, 486 AIRETQ, 487 AJCXZQ, 488 ALEAQ, 489 ALEAVEQ, 490 ALODSQ, 491 AMOVQ, 492 AMOVLQSX, 493 AMOVLQZX, 494 AMOVNTIQ, 495 AMOVSQ, 496 AMULQ, 497 ANEGQ, 498 ANOTQ, 499 AORQ, 500 APOPFQ, 501 APOPQ, 502 APUSHFQ, 503 APUSHQ, 504 ARCLQ, 505 ARCRQ, 506 AROLQ, 507 ARORQ, 508 AQUAD, 509 ASALQ, 510 ASARQ, 511 ASBBQ, 512 ASCASQ, 513 ASHLQ, 514 ASHRQ, 515 ASTOSQ, 516 ASUBQ, 517 ATESTQ, 518 AXADDQ, 519 AXCHGQ, 520 AXORQ, 521 522 /* media */ 523 AADDPD, 524 AADDPS, 525 AADDSD, 526 AADDSS, 527 AANDNPD, 528 AANDNPS, 529 AANDPD, 530 AANDPS, 531 ACMPPD, 532 ACMPPS, 533 ACMPSD, 534 ACMPSS, 535 ACOMISD, 536 ACOMISS, 537 ACVTPD2PL, 538 ACVTPD2PS, 539 ACVTPL2PD, 540 ACVTPL2PS, 541 ACVTPS2PD, 542 ACVTPS2PL, 543 ACVTSD2SL, 544 ACVTSD2SQ, 545 ACVTSD2SS, 546 ACVTSL2SD, 547 ACVTSL2SS, 548 ACVTSQ2SD, 549 ACVTSQ2SS, 550 ACVTSS2SD, 551 ACVTSS2SL, 552 ACVTSS2SQ, 553 ACVTTPD2PL, 554 ACVTTPS2PL, 555 ACVTTSD2SL, 556 ACVTTSD2SQ, 557 ACVTTSS2SL, 558 ACVTTSS2SQ, 559 ADIVPD, 560 ADIVPS, 561 ADIVSD, 562 ADIVSS, 563 AEMMS, 564 AFXRSTOR, 565 AFXRSTOR64, 566 AFXSAVE, 567 AFXSAVE64, 568 ALDMXCSR, 569 AMASKMOVOU, 570 AMASKMOVQ, 571 AMAXPD, 572 AMAXPS, 573 AMAXSD, 574 AMAXSS, 575 AMINPD, 576 AMINPS, 577 AMINSD, 578 AMINSS, 579 AMOVAPD, 580 AMOVAPS, 581 AMOVOU, 582 AMOVHLPS, 583 AMOVHPD, 584 AMOVHPS, 585 AMOVLHPS, 586 AMOVLPD, 587 AMOVLPS, 588 AMOVMSKPD, 589 AMOVMSKPS, 590 AMOVNTO, 591 AMOVNTPD, 592 AMOVNTPS, 593 AMOVNTQ, 594 AMOVO, 595 AMOVQOZX, 596 AMOVSD, 597 AMOVSS, 598 AMOVUPD, 599 AMOVUPS, 600 AMULPD, 601 AMULPS, 602 AMULSD, 603 AMULSS, 604 AORPD, 605 AORPS, 606 APACKSSLW, 607 APACKSSWB, 608 APACKUSWB, 609 APADDB, 610 APADDL, 611 APADDQ, 612 APADDSB, 613 APADDSW, 614 APADDUSB, 615 APADDUSW, 616 APADDW, 617 APANDB, 618 APANDL, 619 APANDSB, 620 APANDSW, 621 APANDUSB, 622 APANDUSW, 623 APANDW, 624 APAND, 625 APANDN, 626 APAVGB, 627 APAVGW, 628 APCMPEQB, 629 APCMPEQL, 630 APCMPEQW, 631 APCMPGTB, 632 APCMPGTL, 633 APCMPGTW, 634 APEXTRW, 635 APFACC, 636 APFADD, 637 APFCMPEQ, 638 APFCMPGE, 639 APFCMPGT, 640 APFMAX, 641 APFMIN, 642 APFMUL, 643 APFNACC, 644 APFPNACC, 645 APFRCP, 646 APFRCPIT1, 647 APFRCPI2T, 648 APFRSQIT1, 649 APFRSQRT, 650 APFSUB, 651 APFSUBR, 652 APINSRW, 653 APINSRD, 654 APINSRQ, 655 APMADDWL, 656 APMAXSW, 657 APMAXUB, 658 APMINSW, 659 APMINUB, 660 APMOVMSKB, 661 APMULHRW, 662 APMULHUW, 663 APMULHW, 664 APMULLW, 665 APMULULQ, 666 APOR, 667 APSADBW, 668 APSHUFHW, 669 APSHUFL, 670 APSHUFLW, 671 APSHUFW, 672 APSHUFB, 673 APSLLO, 674 APSLLL, 675 APSLLQ, 676 APSLLW, 677 APSRAL, 678 APSRAW, 679 APSRLO, 680 APSRLL, 681 APSRLQ, 682 APSRLW, 683 APSUBB, 684 APSUBL, 685 APSUBQ, 686 APSUBSB, 687 APSUBSW, 688 APSUBUSB, 689 APSUBUSW, 690 APSUBW, 691 APSWAPL, 692 APUNPCKHBW, 693 APUNPCKHLQ, 694 APUNPCKHQDQ, 695 APUNPCKHWL, 696 APUNPCKLBW, 697 APUNPCKLLQ, 698 APUNPCKLQDQ, 699 APUNPCKLWL, 700 APXOR, 701 ARCPPS, 702 ARCPSS, 703 ARSQRTPS, 704 ARSQRTSS, 705 ASHUFPD, 706 ASHUFPS, 707 ASQRTPD, 708 ASQRTPS, 709 ASQRTSD, 710 ASQRTSS, 711 ASTMXCSR, 712 ASUBPD, 713 ASUBPS, 714 ASUBSD, 715 ASUBSS, 716 AUCOMISD, 717 AUCOMISS, 718 AUNPCKHPD, 719 AUNPCKHPS, 720 AUNPCKLPD, 721 AUNPCKLPS, 722 AXORPD, 723 AXORPS, 724 725 APF2IW, 726 APF2IL, 727 API2FW, 728 API2FL, 729 ARETFW, 730 ARETFL, 731 ARETFQ, 732 ASWAPGS, 733 734 AMODE, 735 ACRC32B, 736 ACRC32Q, 737 AIMUL3Q, 738 739 APREFETCHT0, 740 APREFETCHT1, 741 APREFETCHT2, 742 APREFETCHNTA, 743 744 AMOVQL, 745 ABSWAPL, 746 ABSWAPQ, 747 748 AUNDEF, 749 750 AAESENC, 751 AAESENCLAST, 752 AAESDEC, 753 AAESDECLAST, 754 AAESIMC, 755 AAESKEYGENASSIST, 756 757 APSHUFD, 758 APCLMULQDQ, 759 760 AUSEFIELD, 761 ATYPE, 762 AFUNCDATA, 763 APCDATA, 764 ACHECKNIL, 765 AVARDEF, 766 AVARKILL, 767 ADUFFCOPY, 768 ADUFFZERO, 769 770 ALAST 771 }; 772 773 enum 774 { 775 776 D_AL = 0, 777 D_CL, 778 D_DL, 779 D_BL, 780 D_SPB, 781 D_BPB, 782 D_SIB, 783 D_DIB, 784 D_R8B, 785 D_R9B, 786 D_R10B, 787 D_R11B, 788 D_R12B, 789 D_R13B, 790 D_R14B, 791 D_R15B, 792 793 D_AX = 16, 794 D_CX, 795 D_DX, 796 D_BX, 797 D_SP, 798 D_BP, 799 D_SI, 800 D_DI, 801 D_R8, 802 D_R9, 803 D_R10, 804 D_R11, 805 D_R12, 806 D_R13, 807 D_R14, 808 D_R15, 809 810 D_AH = 32, 811 D_CH, 812 D_DH, 813 D_BH, 814 815 D_F0 = 36, 816 817 D_M0 = 44, 818 819 D_X0 = 52, 820 D_X1, 821 D_X2, 822 D_X3, 823 D_X4, 824 D_X5, 825 D_X6, 826 D_X7, 827 D_X8, 828 D_X9, 829 D_X10, 830 D_X11, 831 D_X12, 832 D_X13, 833 D_X14, 834 D_X15, 835 836 D_CS = 68, 837 D_SS, 838 D_DS, 839 D_ES, 840 D_FS, 841 D_GS, 842 843 D_GDTR, /* global descriptor table register */ 844 D_IDTR, /* interrupt descriptor table register */ 845 D_LDTR, /* local descriptor table register */ 846 D_MSW, /* machine status word */ 847 D_TASK, /* task register */ 848 849 D_CR = 79, 850 D_DR = 95, 851 D_TR = 103, 852 853 D_TLS = 111, 854 D_NONE = 112, 855 856 D_BRANCH = 113, 857 D_EXTERN = 114, 858 D_STATIC = 115, 859 D_AUTO = 116, 860 D_PARAM = 117, 861 D_CONST = 118, 862 D_FCONST = 119, 863 D_SCONST = 120, 864 D_ADDR = 121, 865 866 D_INDIR, /* additive */ 867 868 D_LAST, 869 870 T_TYPE = 1<<0, 871 T_INDEX = 1<<1, 872 T_OFFSET = 1<<2, 873 T_FCONST = 1<<3, 874 T_SYM = 1<<4, 875 T_SCONST = 1<<5, 876 T_64 = 1<<6, 877 T_GOTYPE = 1<<7, 878 879 REGARG = -1, 880 REGRET = D_AX, 881 FREGRET = D_X0, 882 REGSP = D_SP, 883 REGTMP = D_DI, 884 REGEXT = D_R15, /* compiler allocates external registers R15 down */ 885 FREGMIN = D_X0+5, /* first register variable */ 886 FREGEXT = D_X0+15 /* first external register */ 887 }; 888 889 /* 890 * this is the ranlib header 891 */ 892 #define SYMDEF "__.GOSYMDEF"