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
403 const (
404 C_NONE = iota
405 C_REGP
406 C_REG
407 C_FREGP
408 C_FREG
409 C_VREG
410 C_VSREGP
411 C_VSREG
412 C_CREG
413 C_CRBIT
414 C_SPR
415 C_AREG
416 C_ZCON
417 C_U1CON
418 C_U2CON
419 C_U3CON
420 C_U4CON
421 C_U5CON
422 C_U8CON
423 C_U15CON
424 C_S16CON
425 C_U16CON
426 C_16CON
427 C_U31CON
428 C_S32CON
429 C_U32CON
430 C_32CON
431 C_S34CON
432 C_64CON
433 C_SACON
434 C_LACON
435 C_DACON
436 C_BRA
437 C_BRAPIC
438 C_ZOREG
439 C_SOREG
440 C_LOREG
441 C_XOREG
442 C_FPSCR
443 C_LR
444 C_CTR
445 C_ANY
446 C_GOK
447 C_ADDR
448 C_TLS_LE
449 C_TLS_IE
450 C_TEXTSIZE
451
452 C_NCLASS
453 )
454
455 const (
456 AADD = obj.ABasePPC64 + obj.A_ARCHSPECIFIC + iota
457 AADDCC
458 AADDIS
459 AADDV
460 AADDVCC
461 AADDC
462 AADDCCC
463 AADDCV
464 AADDCVCC
465 AADDME
466 AADDMECC
467 AADDMEVCC
468 AADDMEV
469 AADDE
470 AADDECC
471 AADDEVCC
472 AADDEV
473 AADDZE
474 AADDZECC
475 AADDZEVCC
476 AADDZEV
477 AADDEX
478 AAND
479 AANDCC
480 AANDN
481 AANDNCC
482 AANDISCC
483 ABC
484 ABCL
485 ABEQ
486 ABGE
487 ABGT
488 ABLE
489 ABLT
490 ABNE
491 ABVC
492 ABVS
493 ABDNZ
494 ABDZ
495 ACMP
496 ACMPU
497 ACMPEQB
498 ACNTLZW
499 ACNTLZWCC
500 ACRAND
501 ACRANDN
502 ACREQV
503 ACRNAND
504 ACRNOR
505 ACROR
506 ACRORN
507 ACRXOR
508 ADADD
509 ADADDQ
510 ADCMPO
511 ADCMPOQ
512 ADCMPU
513 ADCMPUQ
514 ADDIV
515 ADDIVQ
516 ADIVW
517 ADIVWCC
518 ADIVWVCC
519 ADIVWV
520 ADIVWU
521 ADIVWUCC
522 ADIVWUVCC
523 ADIVWUV
524 ADMUL
525 ADMULQ
526 ADSUB
527 ADSUBQ
528 AMODUD
529 AMODUW
530 AMODSD
531 AMODSW
532 AEQV
533 AEQVCC
534 AEXTSB
535 AEXTSBCC
536 AEXTSH
537 AEXTSHCC
538 AFABS
539 AFABSCC
540 AFADD
541 AFADDCC
542 AFADDS
543 AFADDSCC
544 AFCMPO
545 AFCMPU
546 AFCTIW
547 AFCTIWCC
548 AFCTIWZ
549 AFCTIWZCC
550 AFDIV
551 AFDIVCC
552 AFDIVS
553 AFDIVSCC
554 AFMADD
555 AFMADDCC
556 AFMADDS
557 AFMADDSCC
558 AFMOVD
559 AFMOVDCC
560 AFMOVDU
561 AFMOVS
562 AFMOVSU
563 AFMOVSX
564 AFMOVSZ
565 AFMSUB
566 AFMSUBCC
567 AFMSUBS
568 AFMSUBSCC
569 AFMUL
570 AFMULCC
571 AFMULS
572 AFMULSCC
573 AFNABS
574 AFNABSCC
575 AFNEG
576 AFNEGCC
577 AFNMADD
578 AFNMADDCC
579 AFNMADDS
580 AFNMADDSCC
581 AFNMSUB
582 AFNMSUBCC
583 AFNMSUBS
584 AFNMSUBSCC
585 AFRSP
586 AFRSPCC
587 AFSUB
588 AFSUBCC
589 AFSUBS
590 AFSUBSCC
591 AISEL
592 AMOVMW
593 ALBAR
594 ALHAR
595 ALSW
596 ALWAR
597 ALWSYNC
598 AMOVDBR
599 AMOVWBR
600 AMOVB
601 AMOVBU
602 AMOVBZ
603 AMOVBZU
604 AMOVH
605 AMOVHBR
606 AMOVHU
607 AMOVHZ
608 AMOVHZU
609 AMOVW
610 AMOVWU
611 AMOVFL
612 AMOVCRFS
613 AMTFSB0
614 AMTFSB0CC
615 AMTFSB1
616 AMTFSB1CC
617 AMULHW
618 AMULHWCC
619 AMULHWU
620 AMULHWUCC
621 AMULLW
622 AMULLWCC
623 AMULLWVCC
624 AMULLWV
625 ANAND
626 ANANDCC
627 ANEG
628 ANEGCC
629 ANEGVCC
630 ANEGV
631 ANOR
632 ANORCC
633 AOR
634 AORCC
635 AORN
636 AORNCC
637 AORIS
638 AREM
639 AREMU
640 ARFI
641 ARLWMI
642 ARLWMICC
643 ARLWNM
644 ARLWNMCC
645 ACLRLSLWI
646 ASLW
647 ASLWCC
648 ASRW
649 ASRAW
650 ASRAWCC
651 ASRWCC
652 ASTBCCC
653 ASTHCCC
654 ASTSW
655 ASTWCCC
656 ASUB
657 ASUBCC
658 ASUBVCC
659 ASUBC
660 ASUBCCC
661 ASUBCV
662 ASUBCVCC
663 ASUBME
664 ASUBMECC
665 ASUBMEVCC
666 ASUBMEV
667 ASUBV
668 ASUBE
669 ASUBECC
670 ASUBEV
671 ASUBEVCC
672 ASUBZE
673 ASUBZECC
674 ASUBZEVCC
675 ASUBZEV
676 ASYNC
677 AXOR
678 AXORCC
679 AXORIS
680
681 ADCBF
682 ADCBI
683 ADCBST
684 ADCBT
685 ADCBTST
686 ADCBZ
687 AEIEIO
688 AICBI
689 AISYNC
690 APTESYNC
691 ATLBIE
692 ATLBIEL
693 ATLBSYNC
694 ATW
695
696 ASYSCALL
697 AWORD
698
699 ARFCI
700
701 AFCPSGN
702 AFCPSGNCC
703
704 AFRES
705 AFRESCC
706 AFRIM
707 AFRIMCC
708 AFRIP
709 AFRIPCC
710 AFRIZ
711 AFRIZCC
712 AFRIN
713 AFRINCC
714 AFRSQRTE
715 AFRSQRTECC
716 AFSEL
717 AFSELCC
718 AFSQRT
719 AFSQRTCC
720 AFSQRTS
721 AFSQRTSCC
722
723
724
725 ACNTLZD
726 ACNTLZDCC
727 ACMPW
728 ACMPWU
729 ACMPB
730 AFTDIV
731 AFTSQRT
732 ADIVD
733 ADIVDCC
734 ADIVDE
735 ADIVDECC
736 ADIVDEU
737 ADIVDEUCC
738 ADIVDVCC
739 ADIVDV
740 ADIVDU
741 ADIVDUCC
742 ADIVDUVCC
743 ADIVDUV
744 AEXTSW
745 AEXTSWCC
746
747 AFCFID
748 AFCFIDCC
749 AFCFIDU
750 AFCFIDUCC
751 AFCFIDS
752 AFCFIDSCC
753 AFCTID
754 AFCTIDCC
755 AFCTIDZ
756 AFCTIDZCC
757 ALDAR
758 AMOVD
759 AMOVDU
760 AMOVWZ
761 AMOVWZU
762 AMULHD
763 AMULHDCC
764 AMULHDU
765 AMULHDUCC
766 AMULLD
767 AMULLDCC
768 AMULLDVCC
769 AMULLDV
770 ARFID
771 ARLDMI
772 ARLDMICC
773 ARLDIMI
774 ARLDIMICC
775 ARLDC
776 ARLDCCC
777 ARLDCR
778 ARLDCRCC
779 ARLDICR
780 ARLDICRCC
781 ARLDCL
782 ARLDCLCC
783 ARLDICL
784 ARLDICLCC
785 ARLDIC
786 ARLDICCC
787 ACLRLSLDI
788 AROTL
789 AROTLW
790 ASLBIA
791 ASLBIE
792 ASLBMFEE
793 ASLBMFEV
794 ASLBMTE
795 ASLD
796 ASLDCC
797 ASRD
798 ASRAD
799 ASRADCC
800 ASRDCC
801 AEXTSWSLI
802 AEXTSWSLICC
803 ASTDCCC
804 ATD
805 ASETB
806
807
808 ADWORD
809 AREMD
810 AREMDU
811
812
813 AHRFID
814 APOPCNTD
815 APOPCNTW
816 APOPCNTB
817 ACNTTZW
818 ACNTTZWCC
819 ACNTTZD
820 ACNTTZDCC
821 ACOPY
822 APASTECC
823 ADARN
824 AMADDHD
825 AMADDHDU
826 AMADDLD
827
828
829 ALVEBX
830 ALVEHX
831 ALVEWX
832 ALVX
833 ALVXL
834 ALVSL
835 ALVSR
836 ASTVEBX
837 ASTVEHX
838 ASTVEWX
839 ASTVX
840 ASTVXL
841 AVAND
842 AVANDC
843 AVNAND
844 AVOR
845 AVORC
846 AVNOR
847 AVXOR
848 AVEQV
849 AVADDUM
850 AVADDUBM
851 AVADDUHM
852 AVADDUWM
853 AVADDUDM
854 AVADDUQM
855 AVADDCU
856 AVADDCUQ
857 AVADDCUW
858 AVADDUS
859 AVADDUBS
860 AVADDUHS
861 AVADDUWS
862 AVADDSS
863 AVADDSBS
864 AVADDSHS
865 AVADDSWS
866 AVADDE
867 AVADDEUQM
868 AVADDECUQ
869 AVSUBUM
870 AVSUBUBM
871 AVSUBUHM
872 AVSUBUWM
873 AVSUBUDM
874 AVSUBUQM
875 AVSUBCU
876 AVSUBCUQ
877 AVSUBCUW
878 AVSUBUS
879 AVSUBUBS
880 AVSUBUHS
881 AVSUBUWS
882 AVSUBSS
883 AVSUBSBS
884 AVSUBSHS
885 AVSUBSWS
886 AVSUBE
887 AVSUBEUQM
888 AVSUBECUQ
889 AVMULESB
890 AVMULOSB
891 AVMULEUB
892 AVMULOUB
893 AVMULESH
894 AVMULOSH
895 AVMULEUH
896 AVMULOUH
897 AVMULESW
898 AVMULOSW
899 AVMULEUW
900 AVMULOUW
901 AVMULUWM
902 AVPMSUM
903 AVPMSUMB
904 AVPMSUMH
905 AVPMSUMW
906 AVPMSUMD
907 AVMSUMUDM
908 AVR
909 AVRLB
910 AVRLH
911 AVRLW
912 AVRLD
913 AVS
914 AVSLB
915 AVSLH
916 AVSLW
917 AVSL
918 AVSLO
919 AVSRB
920 AVSRH
921 AVSRW
922 AVSR
923 AVSRO
924 AVSLD
925 AVSRD
926 AVSA
927 AVSRAB
928 AVSRAH
929 AVSRAW
930 AVSRAD
931 AVSOI
932 AVSLDOI
933 AVCLZ
934 AVCLZB
935 AVCLZH
936 AVCLZW
937 AVCLZD
938 AVPOPCNT
939 AVPOPCNTB
940 AVPOPCNTH
941 AVPOPCNTW
942 AVPOPCNTD
943 AVCMPEQ
944 AVCMPEQUB
945 AVCMPEQUBCC
946 AVCMPEQUH
947 AVCMPEQUHCC
948 AVCMPEQUW
949 AVCMPEQUWCC
950 AVCMPEQUD
951 AVCMPEQUDCC
952 AVCMPGT
953 AVCMPGTUB
954 AVCMPGTUBCC
955 AVCMPGTUH
956 AVCMPGTUHCC
957 AVCMPGTUW
958 AVCMPGTUWCC
959 AVCMPGTUD
960 AVCMPGTUDCC
961 AVCMPGTSB
962 AVCMPGTSBCC
963 AVCMPGTSH
964 AVCMPGTSHCC
965 AVCMPGTSW
966 AVCMPGTSWCC
967 AVCMPGTSD
968 AVCMPGTSDCC
969 AVCMPNEZB
970 AVCMPNEZBCC
971 AVCMPNEB
972 AVCMPNEBCC
973 AVCMPNEH
974 AVCMPNEHCC
975 AVCMPNEW
976 AVCMPNEWCC
977 AVPERM
978 AVPERMXOR
979 AVPERMR
980 AVBPERMQ
981 AVBPERMD
982 AVSEL
983 AVSPLTB
984 AVSPLTH
985 AVSPLTW
986 AVSPLTISB
987 AVSPLTISH
988 AVSPLTISW
989 AVCIPH
990 AVCIPHER
991 AVCIPHERLAST
992 AVNCIPH
993 AVNCIPHER
994 AVNCIPHERLAST
995 AVSBOX
996 AVSHASIGMA
997 AVSHASIGMAW
998 AVSHASIGMAD
999 AVMRGEW
1000 AVMRGOW
1001 AVCLZLSBB
1002 AVCTZLSBB
1003
1004
1005 ALXV
1006 ALXVL
1007 ALXVLL
1008 ALXVD2X
1009 ALXVW4X
1010 ALXVH8X
1011 ALXVB16X
1012 ALXVX
1013 ALXVDSX
1014 ASTXV
1015 ASTXVL
1016 ASTXVLL
1017 ASTXVD2X
1018 ASTXVW4X
1019 ASTXVH8X
1020 ASTXVB16X
1021 ASTXVX
1022 ALXSDX
1023 ASTXSDX
1024 ALXSIWAX
1025 ALXSIWZX
1026 ASTXSIWX
1027 AMFVSRD
1028 AMFFPRD
1029 AMFVRD
1030 AMFVSRWZ
1031 AMFVSRLD
1032 AMTVSRD
1033 AMTFPRD
1034 AMTVRD
1035 AMTVSRWA
1036 AMTVSRWZ
1037 AMTVSRDD
1038 AMTVSRWS
1039 AXXLAND
1040 AXXLANDC
1041 AXXLEQV
1042 AXXLNAND
1043 AXXLOR
1044 AXXLORC
1045 AXXLNOR
1046 AXXLORQ
1047 AXXLXOR
1048 AXXSEL
1049 AXXMRGHW
1050 AXXMRGLW
1051 AXXSPLTW
1052 AXXSPLTIB
1053 AXXPERM
1054 AXXPERMDI
1055 AXXSLDWI
1056 AXXBRQ
1057 AXXBRD
1058 AXXBRW
1059 AXXBRH
1060 AXSCVDPSP
1061 AXSCVSPDP
1062 AXSCVDPSPN
1063 AXSCVSPDPN
1064 AXVCVDPSP
1065 AXVCVSPDP
1066 AXSCVDPSXDS
1067 AXSCVDPSXWS
1068 AXSCVDPUXDS
1069 AXSCVDPUXWS
1070 AXSCVSXDDP
1071 AXSCVUXDDP
1072 AXSCVSXDSP
1073 AXSCVUXDSP
1074 AXVCVDPSXDS
1075 AXVCVDPSXWS
1076 AXVCVDPUXDS
1077 AXVCVDPUXWS
1078 AXVCVSPSXDS
1079 AXVCVSPSXWS
1080 AXVCVSPUXDS
1081 AXVCVSPUXWS
1082 AXVCVSXDDP
1083 AXVCVSXWDP
1084 AXVCVUXDDP
1085 AXVCVUXWDP
1086 AXVCVSXDSP
1087 AXVCVSXWSP
1088 AXVCVUXDSP
1089 AXVCVUXWSP
1090 AXSMAXJDP
1091 AXSMINJDP
1092 ALASTAOUT
1093
1094
1095 ABR = obj.AJMP
1096 ABL = obj.ACALL
1097 ALAST = ALASTGEN
1098 )
1099
View as plain text