...
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 package ppc64
31
32 import "cmd/internal/obj"
33
34
35
36
39 const (
40 NSNAME = 8
41 NSYM = 50
42 NREG = 32
43 NFREG = 32
44 )
45
46 const (
47
48
49 REG_R0 = obj.RBasePPC64 + iota
50 REG_R1
51 REG_R2
52 REG_R3
53 REG_R4
54 REG_R5
55 REG_R6
56 REG_R7
57 REG_R8
58 REG_R9
59 REG_R10
60 REG_R11
61 REG_R12
62 REG_R13
63 REG_R14
64 REG_R15
65 REG_R16
66 REG_R17
67 REG_R18
68 REG_R19
69 REG_R20
70 REG_R21
71 REG_R22
72 REG_R23
73 REG_R24
74 REG_R25
75 REG_R26
76 REG_R27
77 REG_R28
78 REG_R29
79 REG_R30
80 REG_R31
81
82
83 REG_CR0LT
84 REG_CR0GT
85 REG_CR0EQ
86 REG_CR0SO
87 REG_CR1LT
88 REG_CR1GT
89 REG_CR1EQ
90 REG_CR1SO
91 REG_CR2LT
92 REG_CR2GT
93 REG_CR2EQ
94 REG_CR2SO
95 REG_CR3LT
96 REG_CR3GT
97 REG_CR3EQ
98 REG_CR3SO
99 REG_CR4LT
100 REG_CR4GT
101 REG_CR4EQ
102 REG_CR4SO
103 REG_CR5LT
104 REG_CR5GT
105 REG_CR5EQ
106 REG_CR5SO
107 REG_CR6LT
108 REG_CR6GT
109 REG_CR6EQ
110 REG_CR6SO
111 REG_CR7LT
112 REG_CR7GT
113 REG_CR7EQ
114 REG_CR7SO
115
116
118
119 REG_F0
120 REG_F1
121 REG_F2
122 REG_F3
123 REG_F4
124 REG_F5
125 REG_F6
126 REG_F7
127 REG_F8
128 REG_F9
129 REG_F10
130 REG_F11
131 REG_F12
132 REG_F13
133 REG_F14
134 REG_F15
135 REG_F16
136 REG_F17
137 REG_F18
138 REG_F19
139 REG_F20
140 REG_F21
141 REG_F22
142 REG_F23
143 REG_F24
144 REG_F25
145 REG_F26
146 REG_F27
147 REG_F28
148 REG_F29
149 REG_F30
150 REG_F31
151
152
153 REG_V0
154 REG_V1
155 REG_V2
156 REG_V3
157 REG_V4
158 REG_V5
159 REG_V6
160 REG_V7
161 REG_V8
162 REG_V9
163 REG_V10
164 REG_V11
165 REG_V12
166 REG_V13
167 REG_V14
168 REG_V15
169 REG_V16
170 REG_V17
171 REG_V18
172 REG_V19
173 REG_V20
174 REG_V21
175 REG_V22
176 REG_V23
177 REG_V24
178 REG_V25
179 REG_V26
180 REG_V27
181 REG_V28
182 REG_V29
183 REG_V30
184 REG_V31
185
186
187 REG_VS0
188 REG_VS1
189 REG_VS2
190 REG_VS3
191 REG_VS4
192 REG_VS5
193 REG_VS6
194 REG_VS7
195 REG_VS8
196 REG_VS9
197 REG_VS10
198 REG_VS11
199 REG_VS12
200 REG_VS13
201 REG_VS14
202 REG_VS15
203 REG_VS16
204 REG_VS17
205 REG_VS18
206 REG_VS19
207 REG_VS20
208 REG_VS21
209 REG_VS22
210 REG_VS23
211 REG_VS24
212 REG_VS25
213 REG_VS26
214 REG_VS27
215 REG_VS28
216 REG_VS29
217 REG_VS30
218 REG_VS31
219 REG_VS32
220 REG_VS33
221 REG_VS34
222 REG_VS35
223 REG_VS36
224 REG_VS37
225 REG_VS38
226 REG_VS39
227 REG_VS40
228 REG_VS41
229 REG_VS42
230 REG_VS43
231 REG_VS44
232 REG_VS45
233 REG_VS46
234 REG_VS47
235 REG_VS48
236 REG_VS49
237 REG_VS50
238 REG_VS51
239 REG_VS52
240 REG_VS53
241 REG_VS54
242 REG_VS55
243 REG_VS56
244 REG_VS57
245 REG_VS58
246 REG_VS59
247 REG_VS60
248 REG_VS61
249 REG_VS62
250 REG_VS63
251
252 REG_CR0
253 REG_CR1
254 REG_CR2
255 REG_CR3
256 REG_CR4
257 REG_CR5
258 REG_CR6
259 REG_CR7
260
261
262
263
264 REG_A0
265 REG_A1
266 REG_A2
267 REG_A3
268 REG_A4
269 REG_A5
270 REG_A6
271 REG_A7
272
273 REG_MSR
274 REG_FPSCR
275 REG_CR
276
277 REG_SPECIAL = REG_CR0
278
279 REG_CRBIT0 = REG_CR0LT
280
281 REG_SPR0 = obj.RBasePPC64 + 1024
282
283 REG_XER = REG_SPR0 + 1
284 REG_LR = REG_SPR0 + 8
285 REG_CTR = REG_SPR0 + 9
286
287 REGZERO = REG_R0
288 REGSP = REG_R1
289 REGSB = REG_R2
290 REGRET = REG_R3
291 REGARG = -1
292 REGRT1 = REG_R20
293 REGRT2 = REG_R21
294 REGMIN = REG_R7
295 REGCTXT = REG_R11
296 REGTLS = REG_R13
297 REGMAX = REG_R27
298 REGEXT = REG_R30
299 REGG = REG_R30
300 REGTMP = REG_R31
301 FREGRET = REG_F0
302 FREGMIN = REG_F17
303 FREGMAX = REG_F26
304 FREGEXT = REG_F26
305 )
306
307
308
309 var PPC64DWARFRegisters = map[int16]int16{}
310
311 func init() {
312
313 f := func(from, to, base int16) {
314 for r := int16(from); r <= to; r++ {
315 PPC64DWARFRegisters[r] = r - from + base
316 }
317 }
318 f(REG_R0, REG_R31, 0)
319 f(REG_F0, REG_F31, 32)
320 f(REG_V0, REG_V31, 77)
321 f(REG_CR0, REG_CR7, 68)
322
323 f(REG_VS0, REG_VS31, 32)
324 f(REG_VS32, REG_VS63, 77)
325 PPC64DWARFRegisters[REG_LR] = 65
326 PPC64DWARFRegisters[REG_CTR] = 66
327 PPC64DWARFRegisters[REG_XER] = 76
328 }
329
330
340 const (
341 BIG = 32768 - 8
342 )
343
344 const (
345
346 LABEL = 1 << 0
347 LEAF = 1 << 1
348 FLOAT = 1 << 2
349 BRANCH = 1 << 3
350 LOAD = 1 << 4
351 FCMP = 1 << 5
352 SYNC = 1 << 6
353 LIST = 1 << 7
354 FOLL = 1 << 8
355 NOSCHED = 1 << 9
356 PFX_X64B = 1 << 10
357 )
358
359
360
361
362
363
364
365
366
367 const (
368 BI_CR0 = 0
369 BI_CR1 = 4
370 BI_CR2 = 8
371 BI_CR3 = 12
372 BI_CR4 = 16
373 BI_CR5 = 20
374 BI_CR6 = 24
375 BI_CR7 = 28
376 BI_LT = 0
377 BI_GT = 1
378 BI_EQ = 2
379 BI_FU = 3
380 )
381
382
383
384 const (
385 BO_ALWAYS = 20
386 BO_BCTR = 16
387 BO_NOTBCTR = 18
388 BO_BCR = 12
389 BO_BCRBCTR = 8
390 BO_NOTBCR = 4
391 )
392
393
394
395 const (
396 C_COND_LT = iota
397 C_COND_GT
398 C_COND_EQ
399 C_COND_SO
400 )
401
402 const (
403 C_NONE = iota
404 C_REGP
405 C_REG
406 C_FREGP
407 C_FREG
408 C_VREG
409 C_VSREGP
410 C_VSREG
411 C_CREG
412 C_CRBIT
413 C_SPR
414 C_AREG
415 C_ZCON
416 C_U1CON
417 C_U2CON
418 C_U3CON
419 C_U4CON
420 C_U5CON
421 C_U8CON
422 C_U15CON
423 C_S16CON
424 C_U16CON
425 C_32CON
426 C_S34CON
427 C_64CON
428 C_SACON
429 C_LACON
430 C_DACON
431 C_SBRA
432 C_LBRA
433 C_LBRAPIC
434 C_ZOREG
435 C_SOREG
436 C_LOREG
437 C_XOREG
438 C_FPSCR
439 C_LR
440 C_CTR
441 C_ANY
442 C_GOK
443 C_ADDR
444 C_TLS_LE
445 C_TLS_IE
446 C_TEXTSIZE
447
448 C_NCLASS
449
450
451 C_SCON = C_U15CON
452 C_ADDCON = C_S16CON
453 C_ANDCON = C_U16CON
454 C_LCON = C_32CON
455
456
457 C_S32CON = C_32CON
458 C_U32CON = C_32CON
459 )
460
461 const (
462 AADD = obj.ABasePPC64 + obj.A_ARCHSPECIFIC + iota
463 AADDCC
464 AADDIS
465 AADDV
466 AADDVCC
467 AADDC
468 AADDCCC
469 AADDCV
470 AADDCVCC
471 AADDME
472 AADDMECC
473 AADDMEVCC
474 AADDMEV
475 AADDE
476 AADDECC
477 AADDEVCC
478 AADDEV
479 AADDZE
480 AADDZECC
481 AADDZEVCC
482 AADDZEV
483 AADDEX
484 AAND
485 AANDCC
486 AANDN
487 AANDNCC
488 AANDISCC
489 ABC
490 ABCL
491 ABEQ
492 ABGE
493 ABGT
494 ABLE
495 ABLT
496 ABNE
497 ABVC
498 ABVS
499 ABDNZ
500 ABDZ
501 ACMP
502 ACMPU
503 ACMPEQB
504 ACNTLZW
505 ACNTLZWCC
506 ACRAND
507 ACRANDN
508 ACREQV
509 ACRNAND
510 ACRNOR
511 ACROR
512 ACRORN
513 ACRXOR
514 ADIVW
515 ADIVWCC
516 ADIVWVCC
517 ADIVWV
518 ADIVWU
519 ADIVWUCC
520 ADIVWUVCC
521 ADIVWUV
522 AMODUD
523 AMODUW
524 AMODSD
525 AMODSW
526 AEQV
527 AEQVCC
528 AEXTSB
529 AEXTSBCC
530 AEXTSH
531 AEXTSHCC
532 AFABS
533 AFABSCC
534 AFADD
535 AFADDCC
536 AFADDS
537 AFADDSCC
538 AFCMPO
539 AFCMPU
540 AFCTIW
541 AFCTIWCC
542 AFCTIWZ
543 AFCTIWZCC
544 AFDIV
545 AFDIVCC
546 AFDIVS
547 AFDIVSCC
548 AFMADD
549 AFMADDCC
550 AFMADDS
551 AFMADDSCC
552 AFMOVD
553 AFMOVDCC
554 AFMOVDU
555 AFMOVS
556 AFMOVSU
557 AFMOVSX
558 AFMOVSZ
559 AFMSUB
560 AFMSUBCC
561 AFMSUBS
562 AFMSUBSCC
563 AFMUL
564 AFMULCC
565 AFMULS
566 AFMULSCC
567 AFNABS
568 AFNABSCC
569 AFNEG
570 AFNEGCC
571 AFNMADD
572 AFNMADDCC
573 AFNMADDS
574 AFNMADDSCC
575 AFNMSUB
576 AFNMSUBCC
577 AFNMSUBS
578 AFNMSUBSCC
579 AFRSP
580 AFRSPCC
581 AFSUB
582 AFSUBCC
583 AFSUBS
584 AFSUBSCC
585 AISEL
586 AMOVMW
587 ALBAR
588 ALHAR
589 ALSW
590 ALWAR
591 ALWSYNC
592 AMOVDBR
593 AMOVWBR
594 AMOVB
595 AMOVBU
596 AMOVBZ
597 AMOVBZU
598 AMOVH
599 AMOVHBR
600 AMOVHU
601 AMOVHZ
602 AMOVHZU
603 AMOVW
604 AMOVWU
605 AMOVFL
606 AMOVCRFS
607 AMTFSB0
608 AMTFSB0CC
609 AMTFSB1
610 AMTFSB1CC
611 AMULHW
612 AMULHWCC
613 AMULHWU
614 AMULHWUCC
615 AMULLW
616 AMULLWCC
617 AMULLWVCC
618 AMULLWV
619 ANAND
620 ANANDCC
621 ANEG
622 ANEGCC
623 ANEGVCC
624 ANEGV
625 ANOR
626 ANORCC
627 AOR
628 AORCC
629 AORN
630 AORNCC
631 AORIS
632 AREM
633 AREMU
634 ARFI
635 ARLWMI
636 ARLWMICC
637 ARLWNM
638 ARLWNMCC
639 ACLRLSLWI
640 ASLW
641 ASLWCC
642 ASRW
643 ASRAW
644 ASRAWCC
645 ASRWCC
646 ASTBCCC
647 ASTHCCC
648 ASTSW
649 ASTWCCC
650 ASUB
651 ASUBCC
652 ASUBVCC
653 ASUBC
654 ASUBCCC
655 ASUBCV
656 ASUBCVCC
657 ASUBME
658 ASUBMECC
659 ASUBMEVCC
660 ASUBMEV
661 ASUBV
662 ASUBE
663 ASUBECC
664 ASUBEV
665 ASUBEVCC
666 ASUBZE
667 ASUBZECC
668 ASUBZEVCC
669 ASUBZEV
670 ASYNC
671 AXOR
672 AXORCC
673 AXORIS
674
675 ADCBF
676 ADCBI
677 ADCBST
678 ADCBT
679 ADCBTST
680 ADCBZ
681 AEIEIO
682 AICBI
683 AISYNC
684 APTESYNC
685 ATLBIE
686 ATLBIEL
687 ATLBSYNC
688 ATW
689
690 ASYSCALL
691 AWORD
692
693 ARFCI
694
695 AFCPSGN
696 AFCPSGNCC
697
698 AFRES
699 AFRESCC
700 AFRIM
701 AFRIMCC
702 AFRIP
703 AFRIPCC
704 AFRIZ
705 AFRIZCC
706 AFRIN
707 AFRINCC
708 AFRSQRTE
709 AFRSQRTECC
710 AFSEL
711 AFSELCC
712 AFSQRT
713 AFSQRTCC
714 AFSQRTS
715 AFSQRTSCC
716
717
718
719 ACNTLZD
720 ACNTLZDCC
721 ACMPW
722 ACMPWU
723 ACMPB
724 AFTDIV
725 AFTSQRT
726 ADIVD
727 ADIVDCC
728 ADIVDE
729 ADIVDECC
730 ADIVDEU
731 ADIVDEUCC
732 ADIVDVCC
733 ADIVDV
734 ADIVDU
735 ADIVDUCC
736 ADIVDUVCC
737 ADIVDUV
738 AEXTSW
739 AEXTSWCC
740
741 AFCFID
742 AFCFIDCC
743 AFCFIDU
744 AFCFIDUCC
745 AFCFIDS
746 AFCFIDSCC
747 AFCTID
748 AFCTIDCC
749 AFCTIDZ
750 AFCTIDZCC
751 ALDAR
752 AMOVD
753 AMOVDU
754 AMOVWZ
755 AMOVWZU
756 AMULHD
757 AMULHDCC
758 AMULHDU
759 AMULHDUCC
760 AMULLD
761 AMULLDCC
762 AMULLDVCC
763 AMULLDV
764 ARFID
765 ARLDMI
766 ARLDMICC
767 ARLDIMI
768 ARLDIMICC
769 ARLDC
770 ARLDCCC
771 ARLDCR
772 ARLDCRCC
773 ARLDICR
774 ARLDICRCC
775 ARLDCL
776 ARLDCLCC
777 ARLDICL
778 ARLDICLCC
779 ARLDIC
780 ARLDICCC
781 ACLRLSLDI
782 AROTL
783 AROTLW
784 ASLBIA
785 ASLBIE
786 ASLBMFEE
787 ASLBMFEV
788 ASLBMTE
789 ASLD
790 ASLDCC
791 ASRD
792 ASRAD
793 ASRADCC
794 ASRDCC
795 AEXTSWSLI
796 AEXTSWSLICC
797 ASTDCCC
798 ATD
799 ASETB
800
801
802 ADWORD
803 AREMD
804 AREMDU
805
806
807 AHRFID
808 APOPCNTD
809 APOPCNTW
810 APOPCNTB
811 ACNTTZW
812 ACNTTZWCC
813 ACNTTZD
814 ACNTTZDCC
815 ACOPY
816 APASTECC
817 ADARN
818 AMADDHD
819 AMADDHDU
820 AMADDLD
821
822
823 ALVEBX
824 ALVEHX
825 ALVEWX
826 ALVX
827 ALVXL
828 ALVSL
829 ALVSR
830 ASTVEBX
831 ASTVEHX
832 ASTVEWX
833 ASTVX
834 ASTVXL
835 AVAND
836 AVANDC
837 AVNAND
838 AVOR
839 AVORC
840 AVNOR
841 AVXOR
842 AVEQV
843 AVADDUM
844 AVADDUBM
845 AVADDUHM
846 AVADDUWM
847 AVADDUDM
848 AVADDUQM
849 AVADDCU
850 AVADDCUQ
851 AVADDCUW
852 AVADDUS
853 AVADDUBS
854 AVADDUHS
855 AVADDUWS
856 AVADDSS
857 AVADDSBS
858 AVADDSHS
859 AVADDSWS
860 AVADDE
861 AVADDEUQM
862 AVADDECUQ
863 AVSUBUM
864 AVSUBUBM
865 AVSUBUHM
866 AVSUBUWM
867 AVSUBUDM
868 AVSUBUQM
869 AVSUBCU
870 AVSUBCUQ
871 AVSUBCUW
872 AVSUBUS
873 AVSUBUBS
874 AVSUBUHS
875 AVSUBUWS
876 AVSUBSS
877 AVSUBSBS
878 AVSUBSHS
879 AVSUBSWS
880 AVSUBE
881 AVSUBEUQM
882 AVSUBECUQ
883 AVMULESB
884 AVMULOSB
885 AVMULEUB
886 AVMULOUB
887 AVMULESH
888 AVMULOSH
889 AVMULEUH
890 AVMULOUH
891 AVMULESW
892 AVMULOSW
893 AVMULEUW
894 AVMULOUW
895 AVMULUWM
896 AVPMSUM
897 AVPMSUMB
898 AVPMSUMH
899 AVPMSUMW
900 AVPMSUMD
901 AVMSUMUDM
902 AVR
903 AVRLB
904 AVRLH
905 AVRLW
906 AVRLD
907 AVS
908 AVSLB
909 AVSLH
910 AVSLW
911 AVSL
912 AVSLO
913 AVSRB
914 AVSRH
915 AVSRW
916 AVSR
917 AVSRO
918 AVSLD
919 AVSRD
920 AVSA
921 AVSRAB
922 AVSRAH
923 AVSRAW
924 AVSRAD
925 AVSOI
926 AVSLDOI
927 AVCLZ
928 AVCLZB
929 AVCLZH
930 AVCLZW
931 AVCLZD
932 AVPOPCNT
933 AVPOPCNTB
934 AVPOPCNTH
935 AVPOPCNTW
936 AVPOPCNTD
937 AVCMPEQ
938 AVCMPEQUB
939 AVCMPEQUBCC
940 AVCMPEQUH
941 AVCMPEQUHCC
942 AVCMPEQUW
943 AVCMPEQUWCC
944 AVCMPEQUD
945 AVCMPEQUDCC
946 AVCMPGT
947 AVCMPGTUB
948 AVCMPGTUBCC
949 AVCMPGTUH
950 AVCMPGTUHCC
951 AVCMPGTUW
952 AVCMPGTUWCC
953 AVCMPGTUD
954 AVCMPGTUDCC
955 AVCMPGTSB
956 AVCMPGTSBCC
957 AVCMPGTSH
958 AVCMPGTSHCC
959 AVCMPGTSW
960 AVCMPGTSWCC
961 AVCMPGTSD
962 AVCMPGTSDCC
963 AVCMPNEZB
964 AVCMPNEZBCC
965 AVCMPNEB
966 AVCMPNEBCC
967 AVCMPNEH
968 AVCMPNEHCC
969 AVCMPNEW
970 AVCMPNEWCC
971 AVPERM
972 AVPERMXOR
973 AVPERMR
974 AVBPERMQ
975 AVBPERMD
976 AVSEL
977 AVSPLTB
978 AVSPLTH
979 AVSPLTW
980 AVSPLTISB
981 AVSPLTISH
982 AVSPLTISW
983 AVCIPH
984 AVCIPHER
985 AVCIPHERLAST
986 AVNCIPH
987 AVNCIPHER
988 AVNCIPHERLAST
989 AVSBOX
990 AVSHASIGMA
991 AVSHASIGMAW
992 AVSHASIGMAD
993 AVMRGEW
994 AVMRGOW
995 AVCLZLSBB
996 AVCTZLSBB
997
998
999 ALXV
1000 ALXVL
1001 ALXVLL
1002 ALXVD2X
1003 ALXVW4X
1004 ALXVH8X
1005 ALXVB16X
1006 ALXVX
1007 ALXVDSX
1008 ASTXV
1009 ASTXVL
1010 ASTXVLL
1011 ASTXVD2X
1012 ASTXVW4X
1013 ASTXVH8X
1014 ASTXVB16X
1015 ASTXVX
1016 ALXSDX
1017 ASTXSDX
1018 ALXSIWAX
1019 ALXSIWZX
1020 ASTXSIWX
1021 AMFVSRD
1022 AMFFPRD
1023 AMFVRD
1024 AMFVSRWZ
1025 AMFVSRLD
1026 AMTVSRD
1027 AMTFPRD
1028 AMTVRD
1029 AMTVSRWA
1030 AMTVSRWZ
1031 AMTVSRDD
1032 AMTVSRWS
1033 AXXLAND
1034 AXXLANDC
1035 AXXLEQV
1036 AXXLNAND
1037 AXXLOR
1038 AXXLORC
1039 AXXLNOR
1040 AXXLORQ
1041 AXXLXOR
1042 AXXSEL
1043 AXXMRGHW
1044 AXXMRGLW
1045 AXXSPLTW
1046 AXXSPLTIB
1047 AXXPERM
1048 AXXPERMDI
1049 AXXSLDWI
1050 AXXBRQ
1051 AXXBRD
1052 AXXBRW
1053 AXXBRH
1054 AXSCVDPSP
1055 AXSCVSPDP
1056 AXSCVDPSPN
1057 AXSCVSPDPN
1058 AXVCVDPSP
1059 AXVCVSPDP
1060 AXSCVDPSXDS
1061 AXSCVDPSXWS
1062 AXSCVDPUXDS
1063 AXSCVDPUXWS
1064 AXSCVSXDDP
1065 AXSCVUXDDP
1066 AXSCVSXDSP
1067 AXSCVUXDSP
1068 AXVCVDPSXDS
1069 AXVCVDPSXWS
1070 AXVCVDPUXDS
1071 AXVCVDPUXWS
1072 AXVCVSPSXDS
1073 AXVCVSPSXWS
1074 AXVCVSPUXDS
1075 AXVCVSPUXWS
1076 AXVCVSXDDP
1077 AXVCVSXWDP
1078 AXVCVUXDDP
1079 AXVCVUXWDP
1080 AXVCVSXDSP
1081 AXVCVSXWSP
1082 AXVCVUXDSP
1083 AXVCVUXWSP
1084 ALASTAOUT
1085
1086
1087 ABR = obj.AJMP
1088 ABL = obj.ACALL
1089 ALAST = ALASTGEN
1090 )
1091
View as plain text