]> Cypherpunks.ru repositories - gostls13.git/blob - src/cmd/internal/obj/ppc64/a.out.go
cmd/internal/obj/ppc64: remove C_UCON optab matching class
[gostls13.git] / src / cmd / internal / obj / ppc64 / a.out.go
1 // cmd/9c/9.out.h from Vita Nuova.
2 //
3 //      Copyright © 1994-1999 Lucent Technologies Inc.  All rights reserved.
4 //      Portions Copyright © 1995-1997 C H Forsyth (forsyth@terzarima.net)
5 //      Portions Copyright © 1997-1999 Vita Nuova Limited
6 //      Portions Copyright © 2000-2008 Vita Nuova Holdings Limited (www.vitanuova.com)
7 //      Portions Copyright © 2004,2006 Bruce Ellis
8 //      Portions Copyright © 2005-2007 C H Forsyth (forsyth@terzarima.net)
9 //      Revisions Copyright © 2000-2008 Lucent Technologies Inc. and others
10 //      Portions Copyright © 2009 The Go Authors. All rights reserved.
11 //
12 // Permission is hereby granted, free of charge, to any person obtaining a copy
13 // of this software and associated documentation files (the "Software"), to deal
14 // in the Software without restriction, including without limitation the rights
15 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16 // copies of the Software, and to permit persons to whom the Software is
17 // furnished to do so, subject to the following conditions:
18 //
19 // The above copyright notice and this permission notice shall be included in
20 // all copies or substantial portions of the Software.
21 //
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
25 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
28 // THE SOFTWARE.
29
30 package ppc64
31
32 import "cmd/internal/obj"
33
34 //go:generate go run ../stringer.go -i $GOFILE -o anames.go -p ppc64
35
36 /*
37  * powerpc 64
38  */
39 const (
40         NSNAME = 8
41         NSYM   = 50
42         NREG   = 32 /* number of general registers */
43         NFREG  = 32 /* number of floating point registers */
44 )
45
46 const (
47         /* RBasePPC64 = 4096 */
48         /* R0=4096 ... R31=4127 */
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         // CR bits. Use Book 1, chapter 2 naming for bits. Keep aligned to 32
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         /* Align FPR and VSR vectors such that when masked with 0x3F they produce
117            an equivalent VSX register. */
118         /* F0=4160 ... F31=4191 */
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         /* V0=4192 ... V31=4223 */
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         /* VS0=4224 ... VS63=4287 */
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         // MMA accumulator registers, these shadow VSR 0-31
262         // e.g MMAx shadows VSRx*4-VSRx*4+3 or
263         //     MMA0 shadows VSR0-VSR3
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 // An alias for a Condition Register bit 0
280
281         REG_SPR0 = obj.RBasePPC64 + 1024 // first of 1024 registers
282
283         REG_XER = REG_SPR0 + 1
284         REG_LR  = REG_SPR0 + 8
285         REG_CTR = REG_SPR0 + 9
286
287         REGZERO = REG_R0 /* set to zero */
288         REGSP   = REG_R1
289         REGSB   = REG_R2
290         REGRET  = REG_R3
291         REGARG  = -1      /* -1 disables passing the first argument in register */
292         REGRT1  = REG_R20 /* reserved for runtime, duffzero and duffcopy */
293         REGRT2  = REG_R21 /* reserved for runtime, duffcopy */
294         REGMIN  = REG_R7  /* register variables allocated from here to REGMAX */
295         REGCTXT = REG_R11 /* context for closures */
296         REGTLS  = REG_R13 /* C ABI TLS base pointer */
297         REGMAX  = REG_R27
298         REGEXT  = REG_R30 /* external registers allocated from here down */
299         REGG    = REG_R30 /* G */
300         REGTMP  = REG_R31 /* used by the linker */
301         FREGRET = REG_F0
302         FREGMIN = REG_F17 /* first register variable */
303         FREGMAX = REG_F26 /* last register variable for 9g only */
304         FREGEXT = REG_F26 /* first external register */
305 )
306
307 // OpenPOWER ABI for Linux Supplement Power Architecture 64-Bit ELF V2 ABI
308 // https://openpowerfoundation.org/?resource_lib=64-bit-elf-v2-abi-specification-power-architecture
309 var PPC64DWARFRegisters = map[int16]int16{}
310
311 func init() {
312         // f assigns dwarfregister[from:to] = (base):(to-from+base)
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)  // overlaps F0-F31
324         f(REG_VS32, REG_VS63, 77) // overlaps V0-V31
325         PPC64DWARFRegisters[REG_LR] = 65
326         PPC64DWARFRegisters[REG_CTR] = 66
327         PPC64DWARFRegisters[REG_XER] = 76
328 }
329
330 /*
331  * GENERAL:
332  *
333  * compiler allocates R3 up as temps
334  * compiler allocates register variables R7-R27
335  * compiler allocates external registers R30 down
336  *
337  * compiler allocates register variables F17-F26
338  * compiler allocates external registers F26 down
339  */
340 const (
341         BIG = 32768 - 8
342 )
343
344 const (
345         /* mark flags */
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 // A prefixed instruction crossing a 64B boundary
357 )
358
359 // Values for use in branch instruction BC
360 // BC B0,BI,label
361 // BO is type of branch + likely bits described below
362 // BI is CR value + branch type
363 // ex: BEQ CR2,label is BC 12,10,label
364 //   12 = BO_BCR
365 //   10 = BI_CR2 + BI_EQ
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 // Common values for the BO field.
383
384 const (
385         BO_ALWAYS  = 20 // branch unconditionally
386         BO_BCTR    = 16 // decrement ctr, branch on ctr != 0
387         BO_NOTBCTR = 18 // decrement ctr, branch on ctr == 0
388         BO_BCR     = 12 // branch on cr value
389         BO_BCRBCTR = 8  // decrement ctr, branch on ctr != 0 and cr value
390         BO_NOTBCR  = 4  // branch on not cr value
391 )
392
393 // Bit settings from the CR
394
395 const (
396         C_COND_LT = iota // 0 result is negative
397         C_COND_GT        // 1 result is positive
398         C_COND_EQ        // 2 result is zero
399         C_COND_SO        // 3 summary overflow or FP compare w/ NaN
400 )
401
402 const (
403         C_NONE     = iota
404         C_REGP     /* An even numbered gpr which can be used a gpr pair argument */
405         C_REG      /* Any gpr register */
406         C_FREGP    /* An even numbered fpr which can be used a fpr pair argument */
407         C_FREG     /* Any fpr register */
408         C_VREG     /* Any vector register */
409         C_VSREGP   /* An even numbered vsx register which can be used as a vsx register pair argument */
410         C_VSREG    /* Any vector-scalar register */
411         C_CREG     /* The condition registor (CR) */
412         C_CRBIT    /* A single bit of the CR register (0-31) */
413         C_SPR      /* special processor register */
414         C_AREG     /* MMA accumulator register */
415         C_ZCON     /* The constant zero */
416         C_U1CON    /* 1 bit unsigned constant */
417         C_U2CON    /* 2 bit unsigned constant */
418         C_U3CON    /* 3 bit unsigned constant */
419         C_U4CON    /* 4 bit unsigned constant */
420         C_U5CON    /* 5 bit unsigned constant */
421         C_U8CON    /* 8 bit unsigned constant */
422         C_U15CON   /* 15 bit unsigned constant */
423         C_S16CON   /* 16 bit signed constant */
424         C_U16CON   /* 16 bit unsigned constant */
425         C_32CON    /* Any constant which fits into 32 bits. Can be signed or unsigned */
426         C_S34CON   /* 34 bit signed constant */
427         C_64CON    /* Any constant which fits into 64 bits. Can be signed or unsigned */
428         C_SACON    /* $n(REG) where n <= int16 */
429         C_LACON    /* $n(REG) where n <= int32 */
430         C_DACON    /* $n(REG) where n <= int64 */
431         C_SBRA     /* A short offset argument to a branching instruction */
432         C_LBRA     /* A long offset argument to a branching instruction */
433         C_LBRAPIC  /* Like C_LBRA, but requires an extra NOP for potential TOC restore by the linker. */
434         C_ZOREG    /* An $0+reg memory op */
435         C_SOREG    /* An $n+reg memory arg where n is a 16 bit signed offset */
436         C_LOREG    /* An $n+reg memory arg where n is a 32 bit signed offset */
437         C_XOREG    /* An reg+reg memory arg */
438         C_FPSCR    /* The fpscr register */
439         C_XER      /* The xer, holds the carry bit */
440         C_LR       /* The link register */
441         C_CTR      /* The count register */
442         C_ANY      /* Any argument */
443         C_GOK      /* A non-matched argument */
444         C_ADDR     /* A symbolic memory location */
445         C_TLS_LE   /* A thread local, local-exec, type memory arg */
446         C_TLS_IE   /* A thread local, initial-exec, type memory arg */
447         C_TEXTSIZE /* An argument with Type obj.TYPE_TEXTSIZE */
448
449         C_NCLASS /* must be the last */
450
451         /* Aliased names which should be cleaned up, or integrated. */
452         C_SCON   = C_U15CON
453         C_ADDCON = C_S16CON
454         C_ANDCON = C_U16CON
455         C_LCON   = C_32CON
456
457         /* Aliased names which may be generated by ppc64map for the optab. */
458         C_S32CON = C_32CON
459         C_U32CON = C_32CON
460 )
461
462 const (
463         AADD = obj.ABasePPC64 + obj.A_ARCHSPECIFIC + iota
464         AADDCC
465         AADDIS
466         AADDV
467         AADDVCC
468         AADDC
469         AADDCCC
470         AADDCV
471         AADDCVCC
472         AADDME
473         AADDMECC
474         AADDMEVCC
475         AADDMEV
476         AADDE
477         AADDECC
478         AADDEVCC
479         AADDEV
480         AADDZE
481         AADDZECC
482         AADDZEVCC
483         AADDZEV
484         AADDEX
485         AAND
486         AANDCC
487         AANDN
488         AANDNCC
489         AANDISCC
490         ABC
491         ABCL
492         ABEQ
493         ABGE // not LT = G/E/U
494         ABGT
495         ABLE // not GT = L/E/U
496         ABLT
497         ABNE  // not EQ = L/G/U
498         ABVC  // Branch if float not unordered (also branch on not summary overflow)
499         ABVS  // Branch if float unordered (also branch on summary overflow)
500         ABDNZ // Decrement CTR, and branch if CTR != 0
501         ABDZ  // Decrement CTR, and branch if CTR == 0
502         ACMP
503         ACMPU
504         ACMPEQB
505         ACNTLZW
506         ACNTLZWCC
507         ACRAND
508         ACRANDN
509         ACREQV
510         ACRNAND
511         ACRNOR
512         ACROR
513         ACRORN
514         ACRXOR
515         ADIVW
516         ADIVWCC
517         ADIVWVCC
518         ADIVWV
519         ADIVWU
520         ADIVWUCC
521         ADIVWUVCC
522         ADIVWUV
523         AMODUD
524         AMODUW
525         AMODSD
526         AMODSW
527         AEQV
528         AEQVCC
529         AEXTSB
530         AEXTSBCC
531         AEXTSH
532         AEXTSHCC
533         AFABS
534         AFABSCC
535         AFADD
536         AFADDCC
537         AFADDS
538         AFADDSCC
539         AFCMPO
540         AFCMPU
541         AFCTIW
542         AFCTIWCC
543         AFCTIWZ
544         AFCTIWZCC
545         AFDIV
546         AFDIVCC
547         AFDIVS
548         AFDIVSCC
549         AFMADD
550         AFMADDCC
551         AFMADDS
552         AFMADDSCC
553         AFMOVD
554         AFMOVDCC
555         AFMOVDU
556         AFMOVS
557         AFMOVSU
558         AFMOVSX
559         AFMOVSZ
560         AFMSUB
561         AFMSUBCC
562         AFMSUBS
563         AFMSUBSCC
564         AFMUL
565         AFMULCC
566         AFMULS
567         AFMULSCC
568         AFNABS
569         AFNABSCC
570         AFNEG
571         AFNEGCC
572         AFNMADD
573         AFNMADDCC
574         AFNMADDS
575         AFNMADDSCC
576         AFNMSUB
577         AFNMSUBCC
578         AFNMSUBS
579         AFNMSUBSCC
580         AFRSP
581         AFRSPCC
582         AFSUB
583         AFSUBCC
584         AFSUBS
585         AFSUBSCC
586         AISEL
587         AMOVMW
588         ALBAR
589         ALHAR
590         ALSW
591         ALWAR
592         ALWSYNC
593         AMOVDBR
594         AMOVWBR
595         AMOVB
596         AMOVBU
597         AMOVBZ
598         AMOVBZU
599         AMOVH
600         AMOVHBR
601         AMOVHU
602         AMOVHZ
603         AMOVHZU
604         AMOVW
605         AMOVWU
606         AMOVFL
607         AMOVCRFS
608         AMTFSB0
609         AMTFSB0CC
610         AMTFSB1
611         AMTFSB1CC
612         AMULHW
613         AMULHWCC
614         AMULHWU
615         AMULHWUCC
616         AMULLW
617         AMULLWCC
618         AMULLWVCC
619         AMULLWV
620         ANAND
621         ANANDCC
622         ANEG
623         ANEGCC
624         ANEGVCC
625         ANEGV
626         ANOR
627         ANORCC
628         AOR
629         AORCC
630         AORN
631         AORNCC
632         AORIS
633         AREM
634         AREMU
635         ARFI
636         ARLWMI
637         ARLWMICC
638         ARLWNM
639         ARLWNMCC
640         ACLRLSLWI
641         ASLW
642         ASLWCC
643         ASRW
644         ASRAW
645         ASRAWCC
646         ASRWCC
647         ASTBCCC
648         ASTHCCC
649         ASTSW
650         ASTWCCC
651         ASUB
652         ASUBCC
653         ASUBVCC
654         ASUBC
655         ASUBCCC
656         ASUBCV
657         ASUBCVCC
658         ASUBME
659         ASUBMECC
660         ASUBMEVCC
661         ASUBMEV
662         ASUBV
663         ASUBE
664         ASUBECC
665         ASUBEV
666         ASUBEVCC
667         ASUBZE
668         ASUBZECC
669         ASUBZEVCC
670         ASUBZEV
671         ASYNC
672         AXOR
673         AXORCC
674         AXORIS
675
676         ADCBF
677         ADCBI
678         ADCBST
679         ADCBT
680         ADCBTST
681         ADCBZ
682         AEIEIO
683         AICBI
684         AISYNC
685         APTESYNC
686         ATLBIE
687         ATLBIEL
688         ATLBSYNC
689         ATW
690
691         ASYSCALL
692         AWORD
693
694         ARFCI
695
696         AFCPSGN
697         AFCPSGNCC
698         /* optional on 32-bit */
699         AFRES
700         AFRESCC
701         AFRIM
702         AFRIMCC
703         AFRIP
704         AFRIPCC
705         AFRIZ
706         AFRIZCC
707         AFRIN
708         AFRINCC
709         AFRSQRTE
710         AFRSQRTECC
711         AFSEL
712         AFSELCC
713         AFSQRT
714         AFSQRTCC
715         AFSQRTS
716         AFSQRTSCC
717
718         /* 64-bit */
719
720         ACNTLZD
721         ACNTLZDCC
722         ACMPW /* CMP with L=0 */
723         ACMPWU
724         ACMPB
725         AFTDIV
726         AFTSQRT
727         ADIVD
728         ADIVDCC
729         ADIVDE
730         ADIVDECC
731         ADIVDEU
732         ADIVDEUCC
733         ADIVDVCC
734         ADIVDV
735         ADIVDU
736         ADIVDUCC
737         ADIVDUVCC
738         ADIVDUV
739         AEXTSW
740         AEXTSWCC
741         /* AFCFIW; AFCFIWCC */
742         AFCFID
743         AFCFIDCC
744         AFCFIDU
745         AFCFIDUCC
746         AFCFIDS
747         AFCFIDSCC
748         AFCTID
749         AFCTIDCC
750         AFCTIDZ
751         AFCTIDZCC
752         ALDAR
753         AMOVD
754         AMOVDU
755         AMOVWZ
756         AMOVWZU
757         AMULHD
758         AMULHDCC
759         AMULHDU
760         AMULHDUCC
761         AMULLD
762         AMULLDCC
763         AMULLDVCC
764         AMULLDV
765         ARFID
766         ARLDMI
767         ARLDMICC
768         ARLDIMI
769         ARLDIMICC
770         ARLDC
771         ARLDCCC
772         ARLDCR
773         ARLDCRCC
774         ARLDICR
775         ARLDICRCC
776         ARLDCL
777         ARLDCLCC
778         ARLDICL
779         ARLDICLCC
780         ARLDIC
781         ARLDICCC
782         ACLRLSLDI
783         AROTL
784         AROTLW
785         ASLBIA
786         ASLBIE
787         ASLBMFEE
788         ASLBMFEV
789         ASLBMTE
790         ASLD
791         ASLDCC
792         ASRD
793         ASRAD
794         ASRADCC
795         ASRDCC
796         AEXTSWSLI
797         AEXTSWSLICC
798         ASTDCCC
799         ATD
800         ASETB
801
802         /* 64-bit pseudo operation */
803         ADWORD
804         AREMD
805         AREMDU
806
807         /* more 64-bit operations */
808         AHRFID
809         APOPCNTD
810         APOPCNTW
811         APOPCNTB
812         ACNTTZW
813         ACNTTZWCC
814         ACNTTZD
815         ACNTTZDCC
816         ACOPY
817         APASTECC
818         ADARN
819         AMADDHD
820         AMADDHDU
821         AMADDLD
822
823         /* Vector */
824         ALVEBX
825         ALVEHX
826         ALVEWX
827         ALVX
828         ALVXL
829         ALVSL
830         ALVSR
831         ASTVEBX
832         ASTVEHX
833         ASTVEWX
834         ASTVX
835         ASTVXL
836         AVAND
837         AVANDC
838         AVNAND
839         AVOR
840         AVORC
841         AVNOR
842         AVXOR
843         AVEQV
844         AVADDUM
845         AVADDUBM
846         AVADDUHM
847         AVADDUWM
848         AVADDUDM
849         AVADDUQM
850         AVADDCU
851         AVADDCUQ
852         AVADDCUW
853         AVADDUS
854         AVADDUBS
855         AVADDUHS
856         AVADDUWS
857         AVADDSS
858         AVADDSBS
859         AVADDSHS
860         AVADDSWS
861         AVADDE
862         AVADDEUQM
863         AVADDECUQ
864         AVSUBUM
865         AVSUBUBM
866         AVSUBUHM
867         AVSUBUWM
868         AVSUBUDM
869         AVSUBUQM
870         AVSUBCU
871         AVSUBCUQ
872         AVSUBCUW
873         AVSUBUS
874         AVSUBUBS
875         AVSUBUHS
876         AVSUBUWS
877         AVSUBSS
878         AVSUBSBS
879         AVSUBSHS
880         AVSUBSWS
881         AVSUBE
882         AVSUBEUQM
883         AVSUBECUQ
884         AVMULESB
885         AVMULOSB
886         AVMULEUB
887         AVMULOUB
888         AVMULESH
889         AVMULOSH
890         AVMULEUH
891         AVMULOUH
892         AVMULESW
893         AVMULOSW
894         AVMULEUW
895         AVMULOUW
896         AVMULUWM
897         AVPMSUM
898         AVPMSUMB
899         AVPMSUMH
900         AVPMSUMW
901         AVPMSUMD
902         AVMSUMUDM
903         AVR
904         AVRLB
905         AVRLH
906         AVRLW
907         AVRLD
908         AVS
909         AVSLB
910         AVSLH
911         AVSLW
912         AVSL
913         AVSLO
914         AVSRB
915         AVSRH
916         AVSRW
917         AVSR
918         AVSRO
919         AVSLD
920         AVSRD
921         AVSA
922         AVSRAB
923         AVSRAH
924         AVSRAW
925         AVSRAD
926         AVSOI
927         AVSLDOI
928         AVCLZ
929         AVCLZB
930         AVCLZH
931         AVCLZW
932         AVCLZD
933         AVPOPCNT
934         AVPOPCNTB
935         AVPOPCNTH
936         AVPOPCNTW
937         AVPOPCNTD
938         AVCMPEQ
939         AVCMPEQUB
940         AVCMPEQUBCC
941         AVCMPEQUH
942         AVCMPEQUHCC
943         AVCMPEQUW
944         AVCMPEQUWCC
945         AVCMPEQUD
946         AVCMPEQUDCC
947         AVCMPGT
948         AVCMPGTUB
949         AVCMPGTUBCC
950         AVCMPGTUH
951         AVCMPGTUHCC
952         AVCMPGTUW
953         AVCMPGTUWCC
954         AVCMPGTUD
955         AVCMPGTUDCC
956         AVCMPGTSB
957         AVCMPGTSBCC
958         AVCMPGTSH
959         AVCMPGTSHCC
960         AVCMPGTSW
961         AVCMPGTSWCC
962         AVCMPGTSD
963         AVCMPGTSDCC
964         AVCMPNEZB
965         AVCMPNEZBCC
966         AVCMPNEB
967         AVCMPNEBCC
968         AVCMPNEH
969         AVCMPNEHCC
970         AVCMPNEW
971         AVCMPNEWCC
972         AVPERM
973         AVPERMXOR
974         AVPERMR
975         AVBPERMQ
976         AVBPERMD
977         AVSEL
978         AVSPLTB
979         AVSPLTH
980         AVSPLTW
981         AVSPLTISB
982         AVSPLTISH
983         AVSPLTISW
984         AVCIPH
985         AVCIPHER
986         AVCIPHERLAST
987         AVNCIPH
988         AVNCIPHER
989         AVNCIPHERLAST
990         AVSBOX
991         AVSHASIGMA
992         AVSHASIGMAW
993         AVSHASIGMAD
994         AVMRGEW
995         AVMRGOW
996         AVCLZLSBB
997         AVCTZLSBB
998
999         /* VSX */
1000         ALXV
1001         ALXVL
1002         ALXVLL
1003         ALXVD2X
1004         ALXVW4X
1005         ALXVH8X
1006         ALXVB16X
1007         ALXVX
1008         ALXVDSX
1009         ASTXV
1010         ASTXVL
1011         ASTXVLL
1012         ASTXVD2X
1013         ASTXVW4X
1014         ASTXVH8X
1015         ASTXVB16X
1016         ASTXVX
1017         ALXSDX
1018         ASTXSDX
1019         ALXSIWAX
1020         ALXSIWZX
1021         ASTXSIWX
1022         AMFVSRD
1023         AMFFPRD
1024         AMFVRD
1025         AMFVSRWZ
1026         AMFVSRLD
1027         AMTVSRD
1028         AMTFPRD
1029         AMTVRD
1030         AMTVSRWA
1031         AMTVSRWZ
1032         AMTVSRDD
1033         AMTVSRWS
1034         AXXLAND
1035         AXXLANDC
1036         AXXLEQV
1037         AXXLNAND
1038         AXXLOR
1039         AXXLORC
1040         AXXLNOR
1041         AXXLORQ
1042         AXXLXOR
1043         AXXSEL
1044         AXXMRGHW
1045         AXXMRGLW
1046         AXXSPLTW
1047         AXXSPLTIB
1048         AXXPERM
1049         AXXPERMDI
1050         AXXSLDWI
1051         AXXBRQ
1052         AXXBRD
1053         AXXBRW
1054         AXXBRH
1055         AXSCVDPSP
1056         AXSCVSPDP
1057         AXSCVDPSPN
1058         AXSCVSPDPN
1059         AXVCVDPSP
1060         AXVCVSPDP
1061         AXSCVDPSXDS
1062         AXSCVDPSXWS
1063         AXSCVDPUXDS
1064         AXSCVDPUXWS
1065         AXSCVSXDDP
1066         AXSCVUXDDP
1067         AXSCVSXDSP
1068         AXSCVUXDSP
1069         AXVCVDPSXDS
1070         AXVCVDPSXWS
1071         AXVCVDPUXDS
1072         AXVCVDPUXWS
1073         AXVCVSPSXDS
1074         AXVCVSPSXWS
1075         AXVCVSPUXDS
1076         AXVCVSPUXWS
1077         AXVCVSXDDP
1078         AXVCVSXWDP
1079         AXVCVUXDDP
1080         AXVCVUXWDP
1081         AXVCVSXDSP
1082         AXVCVSXWSP
1083         AXVCVUXDSP
1084         AXVCVUXWSP
1085         ALASTAOUT // The last instruction in this list. Also the first opcode generated by ppc64map.
1086
1087         // aliases
1088         ABR   = obj.AJMP
1089         ABL   = obj.ACALL
1090         ALAST = ALASTGEN // The final enumerated instruction value + 1. This is used to size the oprange table.
1091 )