Source file src/pkg/cmd/internal/obj/arm64/a.out.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 package arm64
32
33 import "cmd/internal/obj"
34
35 const (
36 NSNAME = 8
37 NSYM = 50
38 NREG = 32
39 NFREG = 32
40 )
41
42
43 const (
44
45 REG_R0 = obj.RBaseARM64 + iota
46 REG_R1
47 REG_R2
48 REG_R3
49 REG_R4
50 REG_R5
51 REG_R6
52 REG_R7
53 REG_R8
54 REG_R9
55 REG_R10
56 REG_R11
57 REG_R12
58 REG_R13
59 REG_R14
60 REG_R15
61 REG_R16
62 REG_R17
63 REG_R18
64 REG_R19
65 REG_R20
66 REG_R21
67 REG_R22
68 REG_R23
69 REG_R24
70 REG_R25
71 REG_R26
72 REG_R27
73 REG_R28
74 REG_R29
75 REG_R30
76 REG_R31
77
78
79 REG_F0
80 REG_F1
81 REG_F2
82 REG_F3
83 REG_F4
84 REG_F5
85 REG_F6
86 REG_F7
87 REG_F8
88 REG_F9
89 REG_F10
90 REG_F11
91 REG_F12
92 REG_F13
93 REG_F14
94 REG_F15
95 REG_F16
96 REG_F17
97 REG_F18
98 REG_F19
99 REG_F20
100 REG_F21
101 REG_F22
102 REG_F23
103 REG_F24
104 REG_F25
105 REG_F26
106 REG_F27
107 REG_F28
108 REG_F29
109 REG_F30
110 REG_F31
111
112
113 REG_V0
114 REG_V1
115 REG_V2
116 REG_V3
117 REG_V4
118 REG_V5
119 REG_V6
120 REG_V7
121 REG_V8
122 REG_V9
123 REG_V10
124 REG_V11
125 REG_V12
126 REG_V13
127 REG_V14
128 REG_V15
129 REG_V16
130 REG_V17
131 REG_V18
132 REG_V19
133 REG_V20
134 REG_V21
135 REG_V22
136 REG_V23
137 REG_V24
138 REG_V25
139 REG_V26
140 REG_V27
141 REG_V28
142 REG_V29
143 REG_V30
144 REG_V31
145
146
147
148
149 COND_EQ
150 COND_NE
151 COND_HS
152 COND_LO
153 COND_MI
154 COND_PL
155 COND_VS
156 COND_VC
157 COND_HI
158 COND_LS
159 COND_GE
160 COND_LT
161 COND_GT
162 COND_LE
163 COND_AL
164 COND_NV
165
166 REG_RSP = REG_V31 + 32
167 )
168
169
170
171 const (
172 REG_ARNG = obj.RBaseARM64 + 1<<10 + iota<<9
173 REG_ELEM
174 REG_ELEM_END
175 )
176
177
178
179
180
181
182 const REG_LSL = obj.RBaseARM64 + 1<<9
183 const REG_EXT = obj.RBaseARM64 + 1<<11
184
185 const (
186 REG_UXTB = REG_EXT + iota<<8
187 REG_UXTH
188 REG_UXTW
189 REG_UXTX
190 REG_SXTB
191 REG_SXTH
192 REG_SXTW
193 REG_SXTX
194 )
195
196
197
198 const (
199 REG_SPECIAL = obj.RBaseARM64 + 1<<12 + iota
200 REG_DAIF
201 REG_NZCV
202 REG_FPSR
203 REG_FPCR
204 REG_SPSR_EL1
205 REG_ELR_EL1
206 REG_SPSR_EL2
207 REG_ELR_EL2
208 REG_CurrentEL
209 REG_SP_EL0
210 REG_SPSel
211 REG_DAIFSet
212 REG_DAIFClr
213 REG_DCZID_EL0
214 REG_PLDL1KEEP
215 REG_PLDL1STRM
216 REG_PLDL2KEEP
217 REG_PLDL2STRM
218 REG_PLDL3KEEP
219 REG_PLDL3STRM
220 REG_PLIL1KEEP
221 REG_PLIL1STRM
222 REG_PLIL2KEEP
223 REG_PLIL2STRM
224 REG_PLIL3KEEP
225 REG_PLIL3STRM
226 REG_PSTL1KEEP
227 REG_PSTL1STRM
228 REG_PSTL2KEEP
229 REG_PSTL2STRM
230 REG_PSTL3KEEP
231 REG_PSTL3STRM
232 )
233
234
235
236
237
238
239
240
241
242 const (
243 REGMIN = REG_R7
244 REGRT1 = REG_R16
245 REGRT2 = REG_R17
246 REGPR = REG_R18
247 REGMAX = REG_R25
248
249 REGCTXT = REG_R26
250 REGTMP = REG_R27
251 REGG = REG_R28
252 REGFP = REG_R29
253 REGLINK = REG_R30
254
255
256
257
258 REGZERO = REG_R31
259 REGSP = REG_RSP
260
261 FREGRET = REG_F0
262 FREGMIN = REG_F7
263 FREGMAX = REG_F26
264 FREGEXT = REG_F26
265 )
266
267
268 var ARM64DWARFRegisters = map[int16]int16{
269 REG_R0: 0,
270 REG_R1: 1,
271 REG_R2: 2,
272 REG_R3: 3,
273 REG_R4: 4,
274 REG_R5: 5,
275 REG_R6: 6,
276 REG_R7: 7,
277 REG_R8: 8,
278 REG_R9: 9,
279 REG_R10: 10,
280 REG_R11: 11,
281 REG_R12: 12,
282 REG_R13: 13,
283 REG_R14: 14,
284 REG_R15: 15,
285 REG_R16: 16,
286 REG_R17: 17,
287 REG_R18: 18,
288 REG_R19: 19,
289 REG_R20: 20,
290 REG_R21: 21,
291 REG_R22: 22,
292 REG_R23: 23,
293 REG_R24: 24,
294 REG_R25: 25,
295 REG_R26: 26,
296 REG_R27: 27,
297 REG_R28: 28,
298 REG_R29: 29,
299 REG_R30: 30,
300
301
302 REG_F0: 64,
303 REG_F1: 65,
304 REG_F2: 66,
305 REG_F3: 67,
306 REG_F4: 68,
307 REG_F5: 69,
308 REG_F6: 70,
309 REG_F7: 71,
310 REG_F8: 72,
311 REG_F9: 73,
312 REG_F10: 74,
313 REG_F11: 75,
314 REG_F12: 76,
315 REG_F13: 77,
316 REG_F14: 78,
317 REG_F15: 79,
318 REG_F16: 80,
319 REG_F17: 81,
320 REG_F18: 82,
321 REG_F19: 83,
322 REG_F20: 84,
323 REG_F21: 85,
324 REG_F22: 86,
325 REG_F23: 87,
326 REG_F24: 88,
327 REG_F25: 89,
328 REG_F26: 90,
329 REG_F27: 91,
330 REG_F28: 92,
331 REG_F29: 93,
332 REG_F30: 94,
333 REG_F31: 95,
334
335
336 REG_V0: 64,
337 REG_V1: 65,
338 REG_V2: 66,
339 REG_V3: 67,
340 REG_V4: 68,
341 REG_V5: 69,
342 REG_V6: 70,
343 REG_V7: 71,
344 REG_V8: 72,
345 REG_V9: 73,
346 REG_V10: 74,
347 REG_V11: 75,
348 REG_V12: 76,
349 REG_V13: 77,
350 REG_V14: 78,
351 REG_V15: 79,
352 REG_V16: 80,
353 REG_V17: 81,
354 REG_V18: 82,
355 REG_V19: 83,
356 REG_V20: 84,
357 REG_V21: 85,
358 REG_V22: 86,
359 REG_V23: 87,
360 REG_V24: 88,
361 REG_V25: 89,
362 REG_V26: 90,
363 REG_V27: 91,
364 REG_V28: 92,
365 REG_V29: 93,
366 REG_V30: 94,
367 REG_V31: 95,
368 }
369
370 const (
371 BIG = 2048 - 8
372 )
373
374 const (
375
376 LABEL = 1 << iota
377 LEAF
378 FLOAT
379 BRANCH
380 LOAD
381 FCMP
382 SYNC
383 LIST
384 FOLL
385 NOSCHED
386 )
387
388 const (
389
390
391
392 C_NONE = iota
393 C_REG
394 C_RSP
395 C_FREG
396 C_VREG
397 C_PAIR
398 C_SHIFT
399 C_EXTREG
400 C_SPR
401 C_COND
402 C_ARNG
403 C_ELEM
404 C_LIST
405
406 C_ZCON
407 C_ABCON0
408 C_ADDCON0
409 C_ABCON
410 C_AMCON
411 C_ADDCON
412 C_MBCON
413 C_MOVCON
414 C_BITCON
415 C_ADDCON2
416 C_LCON
417 C_MOVCON2
418 C_MOVCON3
419 C_VCON
420 C_FCON
421 C_VCONADDR
422
423 C_AACON
424 C_LACON
425 C_AECON
426
427
428 C_SBRA
429 C_LBRA
430
431 C_ZAUTO
432 C_NSAUTO_8
433 C_NSAUTO_4
434 C_NSAUTO
435 C_NPAUTO
436 C_NAUTO4K
437 C_PSAUTO_8
438 C_PSAUTO_4
439 C_PSAUTO
440 C_PPAUTO
441 C_UAUTO4K_8
442 C_UAUTO4K_4
443 C_UAUTO4K_2
444 C_UAUTO4K
445 C_UAUTO8K_8
446 C_UAUTO8K_4
447 C_UAUTO8K
448 C_UAUTO16K_8
449 C_UAUTO16K
450 C_UAUTO32K
451 C_LAUTO
452
453 C_SEXT1
454 C_SEXT2
455 C_SEXT4
456 C_SEXT8
457 C_SEXT16
458 C_LEXT
459
460 C_ZOREG
461 C_NSOREG_8
462 C_NSOREG_4
463 C_NSOREG
464 C_NPOREG
465 C_NOREG4K
466 C_PSOREG_8
467 C_PSOREG_4
468 C_PSOREG
469 C_PPOREG
470 C_UOREG4K_8
471 C_UOREG4K_4
472 C_UOREG4K_2
473 C_UOREG4K
474 C_UOREG8K_8
475 C_UOREG8K_4
476 C_UOREG8K
477 C_UOREG16K_8
478 C_UOREG16K
479 C_UOREG32K
480 C_LOREG
481
482 C_ADDR
483
484
485 C_GOTADDR
486
487
488
489 C_TLS_LE
490
491
492
493
494 C_TLS_IE
495
496 C_ROFF
497
498 C_GOK
499 C_TEXTSIZE
500 C_NCLASS
501 )
502
503 const (
504 C_XPRE = 1 << 6
505 C_XPOST = 1 << 5
506 )
507
508
509
510 const (
511 AADC = obj.ABaseARM64 + obj.A_ARCHSPECIFIC + iota
512 AADCS
513 AADCSW
514 AADCW
515 AADD
516 AADDS
517 AADDSW
518 AADDW
519 AADR
520 AADRP
521 AAND
522 AANDS
523 AANDSW
524 AANDW
525 AASR
526 AASRW
527 AAT
528 ABFI
529 ABFIW
530 ABFM
531 ABFMW
532 ABFXIL
533 ABFXILW
534 ABIC
535 ABICS
536 ABICSW
537 ABICW
538 ABRK
539 ACBNZ
540 ACBNZW
541 ACBZ
542 ACBZW
543 ACCMN
544 ACCMNW
545 ACCMP
546 ACCMPW
547 ACINC
548 ACINCW
549 ACINV
550 ACINVW
551 ACLREX
552 ACLS
553 ACLSW
554 ACLZ
555 ACLZW
556 ACMN
557 ACMNW
558 ACMP
559 ACMPW
560 ACNEG
561 ACNEGW
562 ACRC32B
563 ACRC32CB
564 ACRC32CH
565 ACRC32CW
566 ACRC32CX
567 ACRC32H
568 ACRC32W
569 ACRC32X
570 ACSEL
571 ACSELW
572 ACSET
573 ACSETM
574 ACSETMW
575 ACSETW
576 ACSINC
577 ACSINCW
578 ACSINV
579 ACSINVW
580 ACSNEG
581 ACSNEGW
582 ADC
583 ADCPS1
584 ADCPS2
585 ADCPS3
586 ADMB
587 ADRPS
588 ADSB
589 AEON
590 AEONW
591 AEOR
592 AEORW
593 AERET
594 AEXTR
595 AEXTRW
596 AHINT
597 AHLT
598 AHVC
599 AIC
600 AISB
601 ALDADDAB
602 ALDADDAD
603 ALDADDAH
604 ALDADDAW
605 ALDADDALB
606 ALDADDALD
607 ALDADDALH
608 ALDADDALW
609 ALDADDB
610 ALDADDD
611 ALDADDH
612 ALDADDW
613 ALDADDLB
614 ALDADDLD
615 ALDADDLH
616 ALDADDLW
617 ALDANDAB
618 ALDANDAD
619 ALDANDAH
620 ALDANDAW
621 ALDANDALB
622 ALDANDALD
623 ALDANDALH
624 ALDANDALW
625 ALDANDB
626 ALDANDD
627 ALDANDH
628 ALDANDW
629 ALDANDLB
630 ALDANDLD
631 ALDANDLH
632 ALDANDLW
633 ALDAR
634 ALDARB
635 ALDARH
636 ALDARW
637 ALDAXP
638 ALDAXPW
639 ALDAXR
640 ALDAXRB
641 ALDAXRH
642 ALDAXRW
643 ALDEORAB
644 ALDEORAD
645 ALDEORAH
646 ALDEORAW
647 ALDEORALB
648 ALDEORALD
649 ALDEORALH
650 ALDEORALW
651 ALDEORB
652 ALDEORD
653 ALDEORH
654 ALDEORW
655 ALDEORLB
656 ALDEORLD
657 ALDEORLH
658 ALDEORLW
659 ALDORAB
660 ALDORAD
661 ALDORAH
662 ALDORAW
663 ALDORALB
664 ALDORALD
665 ALDORALH
666 ALDORALW
667 ALDORB
668 ALDORD
669 ALDORH
670 ALDORW
671 ALDORLB
672 ALDORLD
673 ALDORLH
674 ALDORLW
675 ALDP
676 ALDPW
677 ALDPSW
678 ALDXR
679 ALDXRB
680 ALDXRH
681 ALDXRW
682 ALDXP
683 ALDXPW
684 ALSL
685 ALSLW
686 ALSR
687 ALSRW
688 AMADD
689 AMADDW
690 AMNEG
691 AMNEGW
692 AMOVK
693 AMOVKW
694 AMOVN
695 AMOVNW
696 AMOVZ
697 AMOVZW
698 AMRS
699 AMSR
700 AMSUB
701 AMSUBW
702 AMUL
703 AMULW
704 AMVN
705 AMVNW
706 ANEG
707 ANEGS
708 ANEGSW
709 ANEGW
710 ANGC
711 ANGCS
712 ANGCSW
713 ANGCW
714 AORN
715 AORNW
716 AORR
717 AORRW
718 APRFM
719 APRFUM
720 ARBIT
721 ARBITW
722 AREM
723 AREMW
724 AREV
725 AREV16
726 AREV16W
727 AREV32
728 AREVW
729 AROR
730 ARORW
731 ASBC
732 ASBCS
733 ASBCSW
734 ASBCW
735 ASBFIZ
736 ASBFIZW
737 ASBFM
738 ASBFMW
739 ASBFX
740 ASBFXW
741 ASDIV
742 ASDIVW
743 ASEV
744 ASEVL
745 ASMADDL
746 ASMC
747 ASMNEGL
748 ASMSUBL
749 ASMULH
750 ASMULL
751 ASTXR
752 ASTXRB
753 ASTXRH
754 ASTXP
755 ASTXPW
756 ASTXRW
757 ASTLP
758 ASTLPW
759 ASTLR
760 ASTLRB
761 ASTLRH
762 ASTLRW
763 ASTLXP
764 ASTLXPW
765 ASTLXR
766 ASTLXRB
767 ASTLXRH
768 ASTLXRW
769 ASTP
770 ASTPW
771 ASUB
772 ASUBS
773 ASUBSW
774 ASUBW
775 ASVC
776 ASXTB
777 ASXTBW
778 ASXTH
779 ASXTHW
780 ASXTW
781 ASYS
782 ASYSL
783 ATBNZ
784 ATBZ
785 ATLBI
786 ATST
787 ATSTW
788 AUBFIZ
789 AUBFIZW
790 AUBFM
791 AUBFMW
792 AUBFX
793 AUBFXW
794 AUDIV
795 AUDIVW
796 AUMADDL
797 AUMNEGL
798 AUMSUBL
799 AUMULH
800 AUMULL
801 AUREM
802 AUREMW
803 AUXTB
804 AUXTH
805 AUXTW
806 AUXTBW
807 AUXTHW
808 AWFE
809 AWFI
810 AYIELD
811 AMOVB
812 AMOVBU
813 AMOVH
814 AMOVHU
815 AMOVW
816 AMOVWU
817 AMOVD
818 AMOVNP
819 AMOVNPW
820 AMOVP
821 AMOVPD
822 AMOVPQ
823 AMOVPS
824 AMOVPSW
825 AMOVPW
826 ASWPAD
827 ASWPAW
828 ASWPAH
829 ASWPAB
830 ASWPALD
831 ASWPALW
832 ASWPALH
833 ASWPALB
834 ASWPD
835 ASWPW
836 ASWPH
837 ASWPB
838 ASWPLD
839 ASWPLW
840 ASWPLH
841 ASWPLB
842 ABEQ
843 ABNE
844 ABCS
845 ABHS
846 ABCC
847 ABLO
848 ABMI
849 ABPL
850 ABVS
851 ABVC
852 ABHI
853 ABLS
854 ABGE
855 ABLT
856 ABGT
857 ABLE
858 AFABSD
859 AFABSS
860 AFADDD
861 AFADDS
862 AFCCMPD
863 AFCCMPED
864 AFCCMPS
865 AFCCMPES
866 AFCMPD
867 AFCMPED
868 AFCMPES
869 AFCMPS
870 AFCVTSD
871 AFCVTDS
872 AFCVTZSD
873 AFCVTZSDW
874 AFCVTZSS
875 AFCVTZSSW
876 AFCVTZUD
877 AFCVTZUDW
878 AFCVTZUS
879 AFCVTZUSW
880 AFDIVD
881 AFDIVS
882 AFLDPD
883 AFLDPS
884 AFMOVD
885 AFMOVS
886 AFMULD
887 AFMULS
888 AFNEGD
889 AFNEGS
890 AFSQRTD
891 AFSQRTS
892 AFSTPD
893 AFSTPS
894 AFSUBD
895 AFSUBS
896 ASCVTFD
897 ASCVTFS
898 ASCVTFWD
899 ASCVTFWS
900 AUCVTFD
901 AUCVTFS
902 AUCVTFWD
903 AUCVTFWS
904 AWORD
905 ADWORD
906 AFCSELS
907 AFCSELD
908 AFMAXS
909 AFMINS
910 AFMAXD
911 AFMIND
912 AFMAXNMS
913 AFMAXNMD
914 AFNMULS
915 AFNMULD
916 AFRINTNS
917 AFRINTND
918 AFRINTPS
919 AFRINTPD
920 AFRINTMS
921 AFRINTMD
922 AFRINTZS
923 AFRINTZD
924 AFRINTAS
925 AFRINTAD
926 AFRINTXS
927 AFRINTXD
928 AFRINTIS
929 AFRINTID
930 AFMADDS
931 AFMADDD
932 AFMSUBS
933 AFMSUBD
934 AFNMADDS
935 AFNMADDD
936 AFNMSUBS
937 AFNMSUBD
938 AFMINNMS
939 AFMINNMD
940 AFCVTDH
941 AFCVTHS
942 AFCVTHD
943 AFCVTSH
944 AAESD
945 AAESE
946 AAESIMC
947 AAESMC
948 ASHA1C
949 ASHA1H
950 ASHA1M
951 ASHA1P
952 ASHA1SU0
953 ASHA1SU1
954 ASHA256H
955 ASHA256H2
956 ASHA256SU0
957 ASHA256SU1
958 AVADD
959 AVADDP
960 AVAND
961 AVCMEQ
962 AVCNT
963 AVEOR
964 AVMOV
965 AVLD1
966 AVORR
967 AVREV32
968 AVREV64
969 AVST1
970 AVDUP
971 AVADDV
972 AVMOVI
973 AVUADDLV
974 AVSUB
975 AVFMLA
976 AVFMLS
977 AVPMULL
978 AVPMULL2
979 AVEXT
980 AVRBIT
981 AVUSHR
982 AVSHL
983 AVSRI
984 AVTBL
985 AVZIP1
986 AVZIP2
987 ALAST
988 AB = obj.AJMP
989 ABL = obj.ACALL
990 )
991
992 const (
993
994 SHIFT_LL = 0 << 22
995 SHIFT_LR = 1 << 22
996 SHIFT_AR = 2 << 22
997 )
998
999
1000 const (
1001
1002 ARNG_8B = iota
1003 ARNG_16B
1004 ARNG_1D
1005 ARNG_4H
1006 ARNG_8H
1007 ARNG_2S
1008 ARNG_4S
1009 ARNG_2D
1010 ARNG_1Q
1011 ARNG_B
1012 ARNG_H
1013 ARNG_S
1014 ARNG_D
1015 )
1016
View as plain text