]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/8c/8.out.h
add 6(a|l) sse support to 8(a|l)
[plan9front.git] / sys / src / cmd / 8c / 8.out.h
1 #define NSYM    50
2 #define NSNAME  8
3 #define NOPROF  (1<<0)
4 #define DUPOK   (1<<1)
5 #define NOSPLIT (1<<2)
6
7 enum    as
8 {
9         AXXX,
10         AAAA,
11         AAAD,
12         AAAM,
13         AAAS,
14         AADCB,
15         AADCL,
16         AADCW,
17         AADDB,
18         AADDL,
19         AADDW,
20         AADJSP,
21         AANDB,
22         AANDL,
23         AANDW,
24         AARPL,
25         ABOUNDL,
26         ABOUNDW,
27         ABSFL,
28         ABSFW,
29         ABSRL,
30         ABSRW,
31         ABTL,
32         ABTW,
33         ABTCL,
34         ABTCW,
35         ABTRL,
36         ABTRW,
37         ABTSL,
38         ABTSW,
39         ABYTE,
40         ACALL,
41         ACLC,
42         ACLD,
43         ACLI,
44         ACLTS,
45         ACMC,
46         ACMPB,
47         ACMPL,
48         ACMPW,
49         ACMPSB,
50         ACMPSL,
51         ACMPSW,
52         ADAA,
53         ADAS,
54         ADATA,
55         ADECB,
56         ADECL,
57         ADECW,
58         ADIVB,
59         ADIVL,
60         ADIVW,
61         AENTER,
62         AGLOBL,
63         AGOK,
64         AHISTORY,
65         AHLT,
66         AIDIVB,
67         AIDIVL,
68         AIDIVW,
69         AIMULB,
70         AIMULL,
71         AIMULW,
72         AINB,
73         AINL,
74         AINW,
75         AINCB,
76         AINCL,
77         AINCW,
78         AINSB,
79         AINSL,
80         AINSW,
81         AINT,
82         AINTO,
83         AIRETL,
84         AIRETW,
85         AJCC,
86         AJCS,
87         AJCXZ,
88         AJEQ,
89         AJGE,
90         AJGT,
91         AJHI,
92         AJLE,
93         AJLS,
94         AJLT,
95         AJMI,
96         AJMP,
97         AJNE,
98         AJOC,
99         AJOS,
100         AJPC,
101         AJPL,
102         AJPS,
103         ALAHF,
104         ALARL,
105         ALARW,
106         ALEAL,
107         ALEAW,
108         ALEAVEL,
109         ALEAVEW,
110         ALOCK,
111         ALODSB,
112         ALODSL,
113         ALODSW,
114         ALONG,
115         ALOOP,
116         ALOOPEQ,
117         ALOOPNE,
118         ALSLL,
119         ALSLW,
120         AMOVB,
121         AMOVL,
122         AMOVW,
123         AMOVBLSX,
124         AMOVBLZX,
125         AMOVBWSX,
126         AMOVBWZX,
127         AMOVWLSX,
128         AMOVWLZX,
129         AMOVSB,
130         AMOVSL,
131         AMOVSW,
132         AMULB,
133         AMULL,
134         AMULW,
135         ANAME,
136         ANEGB,
137         ANEGL,
138         ANEGW,
139         ANOP,
140         ANOTB,
141         ANOTL,
142         ANOTW,
143         AORB,
144         AORL,
145         AORW,
146         AOUTB,
147         AOUTL,
148         AOUTW,
149         AOUTSB,
150         AOUTSL,
151         AOUTSW,
152         APOPAL,
153         APOPAW,
154         APOPFL,
155         APOPFW,
156         APOPL,
157         APOPW,
158         APUSHAL,
159         APUSHAW,
160         APUSHFL,
161         APUSHFW,
162         APUSHL,
163         APUSHW,
164         ARCLB,
165         ARCLL,
166         ARCLW,
167         ARCRB,
168         ARCRL,
169         ARCRW,
170         AREP,
171         AREPN,
172         ARET,
173         AROLB,
174         AROLL,
175         AROLW,
176         ARORB,
177         ARORL,
178         ARORW,
179         ASAHF,
180         ASALB,
181         ASALL,
182         ASALW,
183         ASARB,
184         ASARL,
185         ASARW,
186         ASBBB,
187         ASBBL,
188         ASBBW,
189         ASCASB,
190         ASCASL,
191         ASCASW,
192         ASETCC,
193         ASETCS,
194         ASETEQ,
195         ASETGE,
196         ASETGT,
197         ASETHI,
198         ASETLE,
199         ASETLS,
200         ASETLT,
201         ASETMI,
202         ASETNE,
203         ASETOC,
204         ASETOS,
205         ASETPC,
206         ASETPL,
207         ASETPS,
208         ACDQ,
209         ACWD,
210         ASHLB,
211         ASHLL,
212         ASHLW,
213         ASHRB,
214         ASHRL,
215         ASHRW,
216         ASTC,
217         ASTD,
218         ASTI,
219         ASTOSB,
220         ASTOSL,
221         ASTOSW,
222         ASUBB,
223         ASUBL,
224         ASUBW,
225         ASYSCALL,
226         ATESTB,
227         ATESTL,
228         ATESTW,
229         ATEXT,
230         AVERR,
231         AVERW,
232         AWAIT,
233         AWORD,
234         AXCHGB,
235         AXCHGL,
236         AXCHGW,
237         AXLAT,
238         AXORB,
239         AXORL,
240         AXORW,
241
242         AFMOVB,
243         AFMOVBP,
244         AFMOVD,
245         AFMOVDP,
246         AFMOVF,
247         AFMOVFP,
248         AFMOVL,
249         AFMOVLP,
250         AFMOVV,
251         AFMOVVP,
252         AFMOVW,
253         AFMOVWP,
254         AFMOVX,
255         AFMOVXP,
256
257         AFCOMB,
258         AFCOMBP,
259         AFCOMD,
260         AFCOMDP,
261         AFCOMDPP,
262         AFCOMF,
263         AFCOMFP,
264         AFCOML,
265         AFCOMLP,
266         AFCOMW,
267         AFCOMWP,
268         AFUCOM,
269         AFUCOMP,
270         AFUCOMPP,
271
272         AFADDDP,
273         AFADDW,
274         AFADDL,
275         AFADDF,
276         AFADDD,
277
278         AFMULDP,
279         AFMULW,
280         AFMULL,
281         AFMULF,
282         AFMULD,
283
284         AFSUBDP,
285         AFSUBW,
286         AFSUBL,
287         AFSUBF,
288         AFSUBD,
289
290         AFSUBRDP,
291         AFSUBRW,
292         AFSUBRL,
293         AFSUBRF,
294         AFSUBRD,
295
296         AFDIVDP,
297         AFDIVW,
298         AFDIVL,
299         AFDIVF,
300         AFDIVD,
301
302         AFDIVRDP,
303         AFDIVRW,
304         AFDIVRL,
305         AFDIVRF,
306         AFDIVRD,
307
308         AFXCHD,
309         AFFREE,
310
311         AFLDCW,
312         AFLDENV,
313         AFRSTOR,
314         AFSAVE,
315         AFSTCW,
316         AFSTENV,
317         AFSTSW,
318
319         AF2XM1,
320         AFABS,
321         AFCHS,
322         AFCLEX,
323         AFCOS,
324         AFDECSTP,
325         AFINCSTP,
326         AFINIT,
327         AFLD1,
328         AFLDL2E,
329         AFLDL2T,
330         AFLDLG2,
331         AFLDLN2,
332         AFLDPI,
333         AFLDZ,
334         AFNOP,
335         AFPATAN,
336         AFPREM,
337         AFPREM1,
338         AFPTAN,
339         AFRNDINT,
340         AFSCALE,
341         AFSIN,
342         AFSINCOS,
343         AFSQRT,
344         AFTST,
345         AFXAM,
346         AFXTRACT,
347         AFYL2X,
348         AFYL2XP1,
349
350         AEND,
351
352         ADYNT,
353         AINIT,
354
355         ASIGNAME,
356
357         AFCOMI,
358         AFCOMIP,
359         AFUCOMI,
360         AFUCOMIP,
361         ACMPXCHGB,
362         ACMPXCHGL,
363         ACMPXCHGW,
364         ACPUID,
365
366         /* conditional move */
367         ACMOVLCC,
368         ACMOVLCS,
369         ACMOVLEQ,
370         ACMOVLGE,
371         ACMOVLGT,
372         ACMOVLHI,
373         ACMOVLLE,
374         ACMOVLLS,
375         ACMOVLLT,
376         ACMOVLMI,
377         ACMOVLNE,
378         ACMOVLOC,
379         ACMOVLOS,
380         ACMOVLPC,
381         ACMOVLPL,
382         ACMOVLPS,
383         ACMOVWCC,
384         ACMOVWCS,
385         ACMOVWEQ,
386         ACMOVWGE,
387         ACMOVWGT,
388         ACMOVWHI,
389         ACMOVWLE,
390         ACMOVWLS,
391         ACMOVWLT,
392         ACMOVWMI,
393         ACMOVWNE,
394         ACMOVWOC,
395         ACMOVWOS,
396         ACMOVWPC,
397         ACMOVWPL,
398         ACMOVWPS,
399
400         AFCMOVCC,
401         AFCMOVCS,
402         AFCMOVEQ,
403         AFCMOVHI,
404         AFCMOVLS,
405         AFCMOVNE,
406         AFCMOVNU,
407         AFCMOVUN,
408
409         /* media */
410         AADDPD,
411         AADDPS,
412         AADDSD,
413         AADDSS,
414         AANDNPD,
415         AANDNPS,
416         AANDPD,
417         AANDPS,
418         ACMPPD,
419         ACMPPS,
420         ACMPSD,
421         ACMPSS,
422         ACOMISD,
423         ACOMISS,
424         ACVTPD2PL,
425         ACVTPD2PS,
426         ACVTPL2PD,
427         ACVTPL2PS,
428         ACVTPS2PD,
429         ACVTPS2PL,
430         ACVTSD2SL,
431         ACVTSD2SS,
432         ACVTSL2SD,
433         ACVTSL2SS,
434         ACVTSS2SD,
435         ACVTSS2SL,
436         ACVTTPD2PL,
437         ACVTTPS2PL,
438         ACVTTSD2SL,
439         ACVTTSS2SL,
440         ADIVPD,
441         ADIVPS,
442         ADIVSD,
443         ADIVSS,
444         AFXRSTOR,
445         AFXSAVE,
446         ALDMXCSR,
447         AMASKMOVOU,
448         AMASKMOVQ,
449         AMAXPD,
450         AMAXPS,
451         AMAXSD,
452         AMAXSS,
453         AMINPD,
454         AMINPS,
455         AMINSD,
456         AMINSS,
457         AMOVAPD,
458         AMOVAPS,
459         AMOVOU,
460         AMOVHLPS,
461         AMOVHPD,
462         AMOVHPS,
463         AMOVLHPS,
464         AMOVLPD,
465         AMOVLPS,
466         AMOVMSKPD,
467         AMOVMSKPS,
468         AMOVNTO,
469         AMOVNTPD,
470         AMOVNTPS,
471         AMOVNTQ,
472         AMOVO,
473         AMOVQOZX,
474         AMOVSD,
475         AMOVSS,
476         AMOVUPD,
477         AMOVUPS,
478         AMULPD,
479         AMULPS,
480         AMULSD,
481         AMULSS,
482         AORPD,
483         AORPS,
484         APACKSSLW,
485         APACKSSWB,
486         APACKUSWB,
487         APADDB,
488         APADDL,
489         APADDQ,
490         APADDSB,
491         APADDSW,
492         APADDUSB,
493         APADDUSW,
494         APADDW,
495         APANDB,
496         APANDL,
497         APANDSB,
498         APANDSW,
499         APANDUSB,
500         APANDUSW,
501         APANDW,
502         APAND,
503         APANDN,
504         APAVGB,
505         APAVGW,
506         APCMPEQB,
507         APCMPEQL,
508         APCMPEQW,
509         APCMPGTB,
510         APCMPGTL,
511         APCMPGTW,
512         APEXTRW,
513         APINSRW,
514         APMADDWL,
515         APMAXSW,
516         APMAXUB,
517         APMINSW,
518         APMINUB,
519         APMOVMSKB,
520         APMULHRW,
521         APMULHUW,
522         APMULHW,
523         APMULLW,
524         APMULULQ,
525         APOR,
526         APSADBW,
527         APSHUFHW,
528         APSHUFL,
529         APSHUFLW,
530         APSHUFW,
531         APSLLO,
532         APSLLL,
533         APSLLQ,
534         APSLLW,
535         APSRAL,
536         APSRAW,
537         APSRLO,
538         APSRLL,
539         APSRLQ,
540         APSRLW,
541         APSUBB,
542         APSUBL,
543         APSUBQ,
544         APSUBSB,
545         APSUBSW,
546         APSUBUSB,
547         APSUBUSW,
548         APSUBW,
549         APSWAPL,
550         APUNPCKHBW,
551         APUNPCKHLQ,
552         APUNPCKHQDQ,
553         APUNPCKHWL,
554         APUNPCKLBW,
555         APUNPCKLLQ,
556         APUNPCKLQDQ,
557         APUNPCKLWL,
558         APXOR,
559         ARCPPS,
560         ARCPSS,
561         ARSQRTPS,
562         ARSQRTSS,
563         ASHUFPD,
564         ASHUFPS,
565         ASQRTPD,
566         ASQRTPS,
567         ASQRTSD,
568         ASQRTSS,
569         ASTMXCSR,
570         ASUBPD,
571         ASUBPS,
572         ASUBSD,
573         ASUBSS,
574         AUCOMISD,
575         AUCOMISS,
576         AUNPCKHPD,
577         AUNPCKHPS,
578         AUNPCKLPD,
579         AUNPCKLPS,
580         AXORPD,
581         AXORPS,
582
583         APF2IW,
584         APF2IL,
585         API2FW,
586         API2FL,
587
588         /* add new operations here. nowhere else. here. */
589         ALAST
590 };
591
592 enum
593 {
594         D_AL            = 0,
595         D_CL,
596         D_DL,
597         D_BL,
598
599         D_AH            = 4,
600         D_CH,
601         D_DH,
602         D_BH,
603
604         D_AX            = 8,
605         D_CX,
606         D_DX,
607         D_BX,
608         D_SP,
609         D_BP,
610         D_SI,
611         D_DI,
612
613         D_F0            = 16,
614         D_F7            = D_F0 + 7,
615
616         D_CS            = 24,
617         D_SS,
618         D_DS,
619         D_ES,
620         D_FS,
621         D_GS,
622
623         D_GDTR,         /* global descriptor table register */
624         D_IDTR,         /* interrupt descriptor table register */
625         D_LDTR,         /* local descriptor table register */
626         D_MSW,          /* machine status word */
627         D_TASK,         /* task register */
628
629         D_CR            = 35,
630         D_DR            = 43,
631         D_TR            = 51,
632
633         D_NONE          = 59,
634
635         D_BRANCH        = 60,
636         D_EXTERN        = 61,
637         D_STATIC        = 62,
638         D_AUTO          = 63,
639         D_PARAM         = 64,
640         D_CONST         = 65,
641         D_FCONST        = 66,
642         D_SCONST        = 67,
643         D_ADDR          = 68,
644
645         D_FILE,
646         D_FILE1,
647
648         D_INDIR,        /* additive */
649
650         D_CONST2 = D_INDIR+D_INDIR,
651
652         D_SIZE, /* 8l internal */
653
654         D_M0,
655         D_X0            = D_M0 + 8,
656         D_XNONE         = D_X0 + 8,
657
658         T_TYPE          = 1<<0,
659         T_INDEX         = 1<<1,
660         T_OFFSET        = 1<<2,
661         T_FCONST        = 1<<3,
662         T_SYM           = 1<<4,
663         T_SCONST        = 1<<5,
664         T_OFFSET2       = 1<<6,
665         T_GOTYPE        = 1<<7,
666
667         REGARG          = -1,
668         REGRET          = D_AX,
669         FREGRET         = D_F0,
670         REGSP           = D_SP,
671         REGTMP          = D_DI,
672 };
673
674 /*
675  * this is the ranlib header
676  */
677 #define SYMDEF  "__.SYMDEF"
678
679 /*
680  * this is the simulated IEEE floating point
681  */
682 typedef struct  ieee    Ieee;
683 struct  ieee
684 {
685         long    l;      /* contains ls-man      0xffffffff */
686         long    h;      /* contains sign        0x80000000
687                                     exp         0x7ff00000
688                                     ms-man      0x000fffff */
689 };