xref: /csrg-svn/sys/tahoe/align/table.c (revision 45760)
1*45760Sbostic /*-
2*45760Sbostic  * Copyright (c) 1986 The Regents of the University of California.
3*45760Sbostic  * All rights reserved.
4*45760Sbostic  *
5*45760Sbostic  * This code is derived from software contributed to Berkeley by
6*45760Sbostic  * Computer Consoles Inc.
7*45760Sbostic  *
8*45760Sbostic  * %sccs.include.redist.c%
9*45760Sbostic  *
10*45760Sbostic  *	@(#)table.c	7.1 (Berkeley) 12/06/90
11*45760Sbostic  */
1229648Ssam 
1345699Sbostic #include "align.h"
1429648Ssam /*   WARNING !!!  Do not use register 6 and register 7 in any of the emulation
1529648Ssam  *       code.  The macro Set_psl has use these two registers to set the
1629648Ssam  *       user psl to the current kernel psl.
1729648Ssam  *
1829648Ssam  */
1929648Ssam 
2029648Ssam #define	insque	cannot_do	/* Can't emulate un-interruptable opcode ! */
2129648Ssam #define	remque	cannot_do	/* Can't emulate un-interruptable opcode ! */
2229648Ssam #define	addb2	add2
2329648Ssam #define	addb3	add3
2429648Ssam #define	addl2	add2
2529648Ssam #define	addl3	add3
2629648Ssam #define	addw2	add2
2729648Ssam #define	addw3	add3
2829648Ssam #define	andb2	and2
2929648Ssam #define	andb3	and3
3029648Ssam #define	andl2	and2
3129648Ssam #define	andl3	and3
3229648Ssam #define	andw2	and2
3329648Ssam #define	andw3	and3
3429648Ssam #define	atanf	not_needed
3529648Ssam #define	kcall	cannot_do	/* Too complicated to emulate completely */
3629648Ssam #define	bbssi	cannot_do	/* Interlock memory during emulation ??? */
3729648Ssam #define	bcc	not_needed
3829648Ssam #define	bcs	not_needed
3929648Ssam #define	beql	not_needed
4029648Ssam #define	bgeq	not_needed
4129648Ssam #define	bgtr	not_needed
4229648Ssam #define	bgtru	not_needed
4329648Ssam #define	bitb	bit
4429648Ssam #define	bitl	bit
4529648Ssam #define	bitw	bit
4629648Ssam #define	bleq	not_needed
4729648Ssam #define	blequ	not_needed
4829648Ssam #define	blss	not_needed
4929648Ssam #define	bnequ	not_needed
5029648Ssam #define	bpt	not_needed
5129648Ssam #define	brb	not_needed
5229648Ssam #define	brw	not_needed
5329648Ssam #define	bvc	not_needed
5429648Ssam #define	bvs	not_needed
5529648Ssam #define	callf	not_needed
5629648Ssam #define	calls	not_needed
5729648Ssam #define	clrb	clr
5829648Ssam #define	clrl	clr
5929648Ssam #define	clrw	clr
6029648Ssam #define	cmpb	cmp
6129648Ssam #define	cmpl	cmp
6229648Ssam #define	cmps2	not_needed
6329648Ssam #define	cmps3	not_needed
6429648Ssam #define	cmpw	cmp
6529648Ssam #define	cosf	not_needed
6629648Ssam #define	cvdf	not_needed
6729648Ssam #define	cvtbl	cvt
6829648Ssam #define	cvtbw	cvt
6929648Ssam #define	cvtwl	cvt
7029648Ssam #define	cvtwb	cvtlb
7129648Ssam #define	decb	dec
7229648Ssam #define	decl	dec
7329648Ssam #define	decw	dec
7429648Ssam #define	expf	not_needed
7529648Ssam #define	ffs	ffs_op
7629648Ssam #define	incb	inc
7729648Ssam #define	incl	inc
7829648Ssam #define	incw	inc
7929648Ssam #define	ldpctx	not_needed
8029648Ssam #define	logf	not_needed
8129648Ssam #define	mcomb	mcom
8229648Ssam #define	mcoml	mcom
8329648Ssam #define	mcomw	mcom
8429648Ssam #define	mnegb	mneg
8529648Ssam #define	mnegl	mneg
8629648Ssam #define	mnegw	mneg
8729648Ssam #define	movab	mova
8829648Ssam #define	moval	mova
8929648Ssam #define	movaw	mova
9029648Ssam #define	movow	cannot_do	/* 2 X movob != movow !! See any HW spec ! */
9129648Ssam #define movob	movob_op
9229648Ssam #define	movb	mov
9329648Ssam #define	movblk	not_needed
9429648Ssam #define	movl	mov
9529648Ssam #define	movs2	not_needed
9629648Ssam #define	movs3	not_needed
9729648Ssam #define	movw	mov
9829648Ssam #define	negd	not_needed
9929648Ssam #define	negf	not_needed
10029648Ssam #define	nop	not_needed
10129648Ssam #define	orb2	or2
10229648Ssam #define	orb3	or3
10329648Ssam #define	orl2	or2
10429648Ssam #define	orl3	or3
10529648Ssam #define	orw2	or2
10629648Ssam #define	orw3	or3
10729648Ssam #define	pushab	pusha
10829648Ssam #define	pushal	pusha
10929648Ssam #define	pushaw	pusha
11029648Ssam #define	pushb	pushx
11129648Ssam #define	pushd	not_needed
11229648Ssam #define	pushl	pushx
11329648Ssam #define	pushw	pushx
11429648Ssam #define	rei	not_needed
11529648Ssam #define	ret	not_needed
11629648Ssam #define	sinf	not_needed
11729648Ssam #define	sqrtf	not_needed
11829648Ssam #define	subb2	sub2
11929648Ssam #define	subb3	sub3
12029648Ssam #define	subl2	sub2
12129648Ssam #define	subl3	sub3
12229648Ssam #define	subw2	sub2
12329648Ssam #define	subw3	sub3
12429648Ssam #define	svpctx	not_needed
12529648Ssam #define	tstb	tst
12629648Ssam #define	tstd	not_needed
12729648Ssam #define	tstf	not_needed
12829648Ssam #define	tstl	tst
12929648Ssam #define	tstw	tst
13029648Ssam #define	xorb2	xor2
13129648Ssam #define	xorb3	xor3
13229648Ssam #define	xorl2	xor2
13329648Ssam #define	xorl3	xor3
13429648Ssam #define	xorw2	xor2
13529648Ssam #define	xorw3	xor3
13629648Ssam #define movzbl	movzb
13729648Ssam #define movzbw	movzb
13829648Ssam #define	halt	not_needed		/* Privileged to user */
13929648Ssam #define	illegal	not_needed		/* Should be trapped by HW */
14029648Ssam #define	mtpr	not_needed		/* Privileged to user */
14129648Ssam #define	mfpr	not_needed		/* Privileged to user */
14229648Ssam #define	btcs	not_needed		/* Privileged to user */
14329648Ssam 
14429648Ssam int	add2();
14529648Ssam int	add3();
14629648Ssam int	adda();
14729648Ssam int	addd();
14829648Ssam int	addf();
14929648Ssam int	adwc();
15029648Ssam int	and2();
15129648Ssam int	and3();
15229648Ssam int	aobleq();
15329648Ssam int	aoblss();
15429648Ssam int	bbc();
15529648Ssam int	bbs();
15629648Ssam int	bbssi();
15729648Ssam int	bcc();
15829648Ssam int	bcs();
15929648Ssam int	beql();
16029648Ssam int	bgeq();
16129648Ssam int	bgtr();
16229648Ssam int	bgtru();
16329648Ssam int	bicpsw();
16429648Ssam int	bispsw();
16529648Ssam int	bit();
16629648Ssam int	bleq();
16729648Ssam int	blequ();
16829648Ssam int	blss();
16929648Ssam int	bnequ();
17029648Ssam int	btcs();
17129648Ssam int	bvc();
17229648Ssam int	bvs();
17329648Ssam int	call();
17429648Ssam int	casel();
17529648Ssam int	clr();
17629648Ssam int	cmp();
17729648Ssam int	cmpd();
17829648Ssam int	cmpd2();
17929648Ssam int	cmpf();
18029648Ssam int	cmpf2();
18129648Ssam int	cvdl();
18229648Ssam int	cvfl();
18329648Ssam int	cvld();
18429648Ssam int	cvlf();
18529648Ssam int	cvt();
18629648Ssam int	cvt();
18729648Ssam int	cvtlb();
18829648Ssam int	cvtlw();
18929648Ssam int	dec();
19029648Ssam int	divd();
19129648Ssam int	divf();
19229648Ssam int	divl2();
19329648Ssam int	divl3();
19429648Ssam int	ediv();
19529648Ssam int	emul();
19629648Ssam int	ffc();
19729648Ssam int	ffs_op();
19829648Ssam int	halt();
19929648Ssam int	illegal();
20029648Ssam int	inc();
20129648Ssam int	insque();
20229648Ssam int	jmp();
20329648Ssam int	kcall();
20429648Ssam int	ldd();
20529648Ssam int	ldf();
20629648Ssam int	ldfd();
20729648Ssam int	lnd();
20829648Ssam int	lnf();
20929648Ssam int	loadr();
21029648Ssam int	mcom();
21129648Ssam int	mfpr();
21229648Ssam int	mneg();
21329648Ssam int	mov();
21429648Ssam int	mova();
21529648Ssam int	movob_op();
21629648Ssam int	movow();
21729648Ssam int	movpsl();
21829648Ssam int	movzb();
21929648Ssam int	movzwl();
22029648Ssam int	mtpr();
22129648Ssam int	muld();
22229648Ssam int	mulf();
22329648Ssam int	mull2();
22429648Ssam int	mull3();
22529648Ssam int	or2();
22629648Ssam int	or3();
22729648Ssam int	prober();
22829648Ssam int	probew();
22929648Ssam int	pusha();
23029648Ssam int	pushx();
23129648Ssam int	remque();
23229648Ssam int	sbwc();
23329648Ssam int	shal();
23429648Ssam int	shar();
23529648Ssam int	shll();
23629648Ssam int	shlq();
23729648Ssam int	shrl();
23829648Ssam int	shrq();
23929648Ssam int	std();
24029648Ssam int	stf();
24129648Ssam int	storer();
24229648Ssam int	sub2();
24329648Ssam int	sub3();
24429648Ssam int	suba();
24529648Ssam int	subd();
24629648Ssam int	subf();
24729648Ssam int	tst();
24829648Ssam int	xor2();
24929648Ssam int	xor3();
25029648Ssam int	not_needed();
25129648Ssam 
25229648Ssam 
25329648Ssam /**************************************************/
25429648Ssam /*  The great opcodes table, it drives everything */
25529648Ssam /**************************************************/
25629648Ssam 
25729648Ssam struct	opcode_des	Table[]= {
25829648Ssam 
25929648Ssam /* 00 */ halt      ,   0,   0,   0,   0,   0,   0,   0,   0,
26029648Ssam /* 01 */ halt      ,   0,   0,   0,   0,   0,   0,   0,   0,
26129648Ssam /* 02 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
26229648Ssam /* 03 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
26329648Ssam /* 04 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
26429648Ssam /* 05 */ sinf      ,   0,   0,   0,   0,   0,   0,   0,   0,
26529648Ssam /* 06 */ ldf       ,RADF,   4,   0,   0,   0,   0,   0,   0,
26629648Ssam /* 07 */ ldd       ,RADF,   8,   0,   0,   0,   0,   0,   0,
26729648Ssam /* 08 */ addb2     ,RADI,   1, MAD,   1,   0,   0,   0,   0,
26829648Ssam /* 09 */ movb      ,RADI,   1,NWAD,   1,   0,   0,   0,   0,
26929648Ssam /* 0A */ addw2     ,RADI,   2, MAD,   2,   0,   0,   0,   0,
27029648Ssam /* 0B */ movw      ,RADI,   2,NWAD,   2,   0,   0,   0,   0,
27129648Ssam /* 0C */ addl2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
27229648Ssam /* 0D */ movl      ,RADI,   4,NWAD,   4,   0,   0,   0,   0,
27329648Ssam /* 0E */ bbs       ,RADI,   4, RAD,   4, Brd,   2,   0,   0,
27429648Ssam /* 0F */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
27529648Ssam /* 10 */ nop       ,   0,   0,   0,   0,   0,   0,   0,   0,
27629648Ssam /* 11 */ brb       , Brd,   1,   0,   0,   0,   0,   0,   0,
27729648Ssam /* 12 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
27829648Ssam /* 13 */ brw       , Brd,   2,   0,   0,   0,   0,   0,   0,
27929648Ssam /* 14 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
28029648Ssam /* 15 */ cosf      ,   0,   0,   0,   0,   0,   0,   0,   0,
28129648Ssam /* 16 */ lnf       ,RADF,   4,   0,   0,   0,   0,   0,   0,
28229648Ssam /* 17 */ lnd       ,RADF,   8,   0,   0,   0,   0,   0,   0,
28329648Ssam /* 18 */ addb3     ,RADI,   1,RADI,   1, WAD,   1,   0,   0,
28429648Ssam /* 19 */ cmpb      ,RADI,   1,RADI,   1,   0,   0,   0,   0,
28529648Ssam /* 1A */ addw3     ,RADI,   2,RADI,   2, WAD,   2,   0,   0,
28629648Ssam /* 1B */ cmpw      ,RADI,   2,RADI,   2,   0,   0,   0,   0,
28729648Ssam /* 1C */ addl3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
28829648Ssam /* 1D */ cmpl      ,RADI,   4,RADI,   4,   0,   0,   0,   0,
28929648Ssam /* 1E */ bbc       ,RADI,   4, RAD,   4, Brd,   2,   0,   0,
29029648Ssam /* 1F */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
29129648Ssam /* 20 */ rei       ,   0,   0,   0,   0,   0,   0,   0,   0,
29229648Ssam /* 21 */ bnequ     , Brd,   1,   0,   0,   0,   0,   0,   0,
29329648Ssam /* 22 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
29429648Ssam /* 23 */ cvtwl     ,RADI,   2, WAD,   4,   0,   0,   0,   0,
29529648Ssam /* 24 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
29629648Ssam /* 25 */ atanf     ,   0,   0,   0,   0,   0,   0,   0,   0,
29729648Ssam /* 26 */ stf       , WAD,   4,   0,   0,   0,   0,   0,   0,
29829648Ssam /* 27 */ std       , WAD,   8,   0,   0,   0,   0,   0,   0,
29929648Ssam /* 28 */ subb2     ,RADI,   1, MAD,   1,   0,   0,   0,   0,
30029648Ssam /* 29 */ mcomb     ,RADI,   1,NWAD,   1,   0,   0,   0,   0,
30129648Ssam /* 2A */ subw2     ,RADI,   2, MAD,   2,   0,   0,   0,   0,
30229648Ssam /* 2B */ mcomw     ,RADI,   2,NWAD,   2,   0,   0,   0,   0,
30329648Ssam /* 2C */ subl2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
30429648Ssam /* 2D */ mcoml     ,RADI,   4, WAD,   4,   0,   0,   0,   0,
30529648Ssam /* 2E */ emul      ,RADI,   4,RADI,   4,RADI,   4, WAD,   8,
30629648Ssam /* 2F */ aoblss    ,RADI,   4, MAD,   4, Brd,   2,   0,   0,
30729648Ssam /* 30 */ bpt       ,   0,   0,   0,   0,   0,   0,   0,   0,
30829648Ssam /* 31 */ beql      , Brd,   1,   0,   0,   0,   0,   0,   0,
30929648Ssam /* 32 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
31029648Ssam /* 33 */ cvtwb     ,RADI,   2, WAD,   1,   0,   0,   0,   0,
31129648Ssam /* 34 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
31229648Ssam /* 35 */ logf      ,   0,   0,   0,   0,   0,   0,   0,   0,
31329648Ssam /* 36 */ cmpf      ,RADF,   4,   0,   0,   0,   0,   0,   0,
31429648Ssam /* 37 */ cmpd      ,RADF,   8,   0,   0,   0,   0,   0,   0,
31529648Ssam /* 38 */ subb3     ,RADI,   1,RADI,   1, WAD,   1,   0,   0,
31629648Ssam /* 39 */ bitb      ,RADI,   1,RADI,   1,   0,   0,   0,   0,
31729648Ssam /* 3A */ subw3     ,RADI,   2,RADI,   2, WAD,   2,   0,   0,
31829648Ssam /* 3B */ bitw      ,RADI,   2,RADI,   2,   0,   0,   0,   0,
31929648Ssam /* 3C */ subl3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
32029648Ssam /* 3D */ bitl      ,RADI,   4,RADI,   4,   0,   0,   0,   0,
32129648Ssam /* 3E */ ediv      ,RADI,   4,RADI,   8, WAD,   4,  WD,   4,
32229648Ssam /* 3F */ aobleq    ,RADI,   4, MAD,   4, Brd,   2,   0,   0,
32329648Ssam /* 40 */ ret       ,   0,   0,   0,   0,   0,   0,   0,   0,
32429648Ssam /* 41 */ bgtr      , Brd,   1,   0,   0,   0,   0,   0,   0,
32529648Ssam /* 42 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
32629648Ssam /* 43 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
32729648Ssam /* 44 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
32829648Ssam /* 45 */ sqrtf     ,   0,   0,   0,   0,   0,   0,   0,   0,
32929648Ssam /* 46 */ cmpf2     ,RADF,   4,RADF,   4,   0,   0,   0,   0,
33029648Ssam /* 47 */ cmpd2     ,RADF,   8,RADF,   8,   0,   0,   0,   0,
33129648Ssam /* 48 */ shll      ,RADI,   1,RADI,   4, WAD,   4,   0,   0,
33229648Ssam /* 49 */ clrb      , WAD,   1,   0,   0,   0,   0,   0,   0,
33329648Ssam /* 4A */ shlq      ,RADI,   1,RADI,   8, WAD,   8,   0,   0,
33429648Ssam /* 4B */ clrw      , WAD,   2,   0,   0,   0,   0,   0,   0,
33529648Ssam /* 4C */ mull2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
33629648Ssam /* 4D */ clrl      , WAD,   4,   0,   0,   0,   0,   0,   0,
33729648Ssam /* 4E */ shal      ,RADI,   1,RADI,   4, WAD,   4,   0,   0,
33829648Ssam /* 4F */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
33929648Ssam /* 50 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
34029648Ssam /* 51 */ bleq      , Brd,   1,   0,   0,   0,   0,   0,   0,
34129648Ssam /* 52 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
34229648Ssam /* 53 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
34329648Ssam /* 54 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
34429648Ssam /* 55 */ expf      ,   0,   0,   0,   0,   0,   0,   0,   0,
34529648Ssam /* 56 */ tstf      ,   0,   0,   0,   0,   0,   0,   0,   0,
34629648Ssam /* 57 */ tstd      ,   0,   0,   0,   0,   0,   0,   0,   0,
34729648Ssam /* 58 */ shrl      ,RADI,   1,RADI,   4, WAD,   4,   0,   0,
34829648Ssam /* 59 */ tstb      ,RADI,   1,   0,   0,   0,   0,   0,   0,
34929648Ssam /* 5A */ shrq      ,RADI,   1,RADI,   8, WAD,   8,   0,   0,
35029648Ssam /* 5B */ tstw      ,RADI,   2,   0,   0,   0,   0,   0,   0,
35129648Ssam /* 5C */ mull3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
35229648Ssam /* 5D */ tstl      ,RADI,   4,   0,   0,   0,   0,   0,   0,
35329648Ssam /* 5E */ shar      ,RADI,   1,RADI,   4, WAD,   4,   0,   0,
35429648Ssam /* 5F */ bbssi     ,RADI,   4, MAD,   4, Brd,   2,   0,   0,
35529648Ssam /* 60 */ ldpctx    ,   0,   0,   0,   0,   0,   0,   0,   0,
35629648Ssam /* 61 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
35729648Ssam /* 62 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
35829648Ssam /* 63 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
35929648Ssam /* 64 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
36029648Ssam /* 65 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
36129648Ssam /* 66 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
36229648Ssam /* 67 */ pushd     ,   0,   0,   0,   0,   0,   0,   0,   0,
36329648Ssam /* 68 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
36429648Ssam /* 69 */ incb      , MAD,   1,   0,   0,   0,   0,   0,   0,
36529648Ssam /* 6A */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
36629648Ssam /* 6B */ incw      , MAD,   2,   0,   0,   0,   0,   0,   0,
36729648Ssam /* 6C */ divl2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
36829648Ssam /* 6D */ incl      , MAD,   4,   0,   0,   0,   0,   0,   0,
36929648Ssam /* 6E */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
37029648Ssam /* 6F */ cvtlb     ,RADI,   4, WAD,   1,   0,   0,   0,   0,
37129648Ssam /* 70 */ svpctx    ,   0,   0,   0,   0,   0,   0,   0,   0,
37229648Ssam /* 71 */ jmp       ,ADDR,   1,   0,   0,   0,   0,   0,   0,
37329648Ssam /* 72 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
37429648Ssam /* 73 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
37529648Ssam /* 74 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
37629648Ssam /* 75 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
37729648Ssam /* 76 */ cvlf      , RAD,   4,   0,   0,   0,   0,   0,   0,
37829648Ssam /* 77 */ cvld      , RAD,   4,   0,   0,   0,   0,   0,   0,
37929648Ssam /* 78 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
38029648Ssam /* 79 */ decb      , MAD,   1,   0,   0,   0,   0,   0,   0,
38129648Ssam /* 7A */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
38229648Ssam /* 7B */ decw      , MAD,   2,   0,   0,   0,   0,   0,   0,
38329648Ssam /* 7C */ divl3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
38429648Ssam /* 7D */ decl      , MAD,   4,   0,   0,   0,   0,   0,   0,
38529648Ssam /* 7E */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
38629648Ssam /* 7F */ cvtlw     ,RADI,   4, WAD,   2,   0,   0,   0,   0,
38729648Ssam /* 80 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
38829648Ssam /* 81 */ bgeq      , Brd,   1,   0,   0,   0,   0,   0,   0,
38929648Ssam /* 82 */ movs2     ,   0,   0,   0,   0,   0,   0,   0,   0,
39029648Ssam /* 83 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
39129648Ssam /* 84 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
39229648Ssam /* 85 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
39329648Ssam /* 86 */ cvfl      , WAD,   4,   0,   0,   0,   0,   0,   0,
39429648Ssam /* 87 */ cvdl      , WAD,   4,   0,   0,   0,   0,   0,   0,
39529648Ssam /* 88 */ orb2      ,RADI,   1,NMAD,   1,   0,   0,   0,   0,
39629648Ssam /* 89 */ cvtbl     ,RADI,   1, WAD,   4,   0,   0,   0,   0,
39729648Ssam /* 8A */ orw2      ,RADI,   2,NMAD,   2,   0,   0,   0,   0,
39829648Ssam /* 8B */ bispsw    ,RADI,   2,   0,   0,   0,   0,   0,   0,
39929648Ssam /* 8C */ orl2      ,RADI,   4, MAD,   4,   0,   0,   0,   0,
40029648Ssam /* 8D */ adwc      ,RADI,   4, MAD,   4,   0,   0,   0,   0,
40129648Ssam /* 8E */ adda      ,RADI,   4, MAD,   4,   0,   0,   0,   0,
40229648Ssam /* 8F */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
40329648Ssam /* 90 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
40429648Ssam /* 91 */ blss      , Brd,   1,   0,   0,   0,   0,   0,   0,
40529648Ssam /* 92 */ cmps2     ,   0,   0,   0,   0,   0,   0,   0,   0,
40629648Ssam /* 93 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
40729648Ssam /* 94 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
40829648Ssam /* 95 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
40929648Ssam /* 96 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
41029648Ssam /* 97 */ ldfd      ,RADF,   4,   0,   0,   0,   0,   0,   0,
41129648Ssam /* 98 */ orb3      ,RADI,   1,RADI,   1,NWAD,   1,   0,   0,
41229648Ssam /* 99 */ cvtbw     ,RADI,   1, WAD,   2,   0,   0,   0,   0,
41329648Ssam /* 9A */ orw3      ,RADI,   2,RADI,   2,NWAD,   2,   0,   0,
41429648Ssam /* 9B */ bicpsw    ,RADI,   2,   0,   0,   0,   0,   0,   0,
41529648Ssam /* 9C */ orl3      ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
41629648Ssam /* 9D */ sbwc      ,RADI,   4, MAD,   4,   0,   0,   0,   0,
41729648Ssam /* 9E */ suba      ,RADI,   4, MAD,   4,   0,   0,   0,   0,
41829648Ssam /* 9F */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
41929648Ssam /* A0 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
42029648Ssam /* A1 */ bgtru     , Brd,   1,   0,   0,   0,   0,   0,   0,
42129648Ssam /* A2 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
42229648Ssam /* A3 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
42329648Ssam /* A4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
42429648Ssam /* A5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
42529648Ssam /* A6 */ cvdf      ,   0,   0,   0,   0,   0,   0,   0,   0,
42629648Ssam /* A7 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
42729648Ssam /* A8 */ andb2     ,RADI,   1,NMAD,   1,   0,   0,   0,   0,
42829648Ssam /* A9 */ movzbl    ,RADI,   1, WAD,   4,   0,   0,   0,   0,
42929648Ssam /* AA */ andw2     ,RADI,   2,NMAD,   2,   0,   0,   0,   0,
43029648Ssam /* AB */ loadr     ,RADI,   2,ADDR,   4,   0,   0,   0,   0,
43129648Ssam /* AC */ andl2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
43229648Ssam /* AD */ mtpr      ,RADI,   4,RADI,   4,   0,   0,   0,   0,
43329648Ssam /* AE */ ffs       ,RADI,   4, WAD,   4,   0,   0,   0,   0,
43429648Ssam /* AF */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
43529648Ssam /* B0 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
43629648Ssam /* B1 */ blequ     , Brd,   1,   0,   0,   0,   0,   0,   0,
43729648Ssam /* B2 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
43829648Ssam /* B3 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
43929648Ssam /* B4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
44029648Ssam /* B5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
44129648Ssam /* B6 */ negf      ,   0,   0,   0,   0,   0,   0,   0,   0,
44229648Ssam /* B7 */ negd      ,   0,   0,   0,   0,   0,   0,   0,   0,
44329648Ssam /* B8 */ andb3     ,RADI,   1,RADI,   1,NWAD,   1,   0,   0,
44429648Ssam /* B9 */ movzbw    ,RADI,   1, WAD,   2,   0,   0,   0,   0,
44529648Ssam /* BA */ andw3     ,RADI,   2,RADI,   2,NWAD,   2,   0,   0,
44629648Ssam /* BB */ storer    ,RADI,   2,W|ADDR, 4,   0,   0,   0,   0,
44729648Ssam /* BC */ andl3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
44829648Ssam /* BD */ mfpr      ,RADI,   4, WAD,   4,   0,   0,   0,   0,
44929648Ssam /* BE */ ffc       ,RADI,   4, WAD,   4,   0,   0,   0,   0,
45029648Ssam /* BF */ calls     ,RADI,   1,ADDR,   1,   0,   0,   0,   0,
45129648Ssam /* C0 */ prober    ,RADI,   1,ADDR,   1,RADI,   4,   0,   0,
45229648Ssam /* C1 */ bvc       , Brd,   1,   0,   0,   0,   0,   0,   0,
45329648Ssam /* C2 */ movs3     ,   0,   0,   0,   0,   0,   0,   0,   0,
45429648Ssam /* C3 */ movzwl    ,RADI,   2, WAD,   4,   0,   0,   0,   0,
45529648Ssam /* C4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
45629648Ssam /* C5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
45729648Ssam /* C6 */ addf      ,RADF,   4,   0,   0,   0,   0,   0,   0,
45829648Ssam /* C7 */ addd      ,RADF,   8,   0,   0,   0,   0,   0,   0,
45929648Ssam /* C8 */ xorb2     ,RADI,   1,NMAD,   1,   0,   0,   0,   0,
46029648Ssam /* C9 */ movob     ,RADI,   1,NWAD,   1,   0,   0,   0,   0,
46129648Ssam /* CA */ xorw2     ,RADI,   2,NMAD,   2,   0,   0,   0,   0,
46229648Ssam /* CB */ movow     ,RADI,   2,NWAD,   2,   0,   0,   0,   0,
46329648Ssam /* CC */ xorl2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
46429648Ssam /* CD */ movpsl    , WAD,   4,   0,   0,   0,   0,   0,   0,
46529648Ssam /* CE */ btcs      ,RADI,   1,   0,   0,   0,   0,   0,   0,
46629648Ssam /* CF */ kcall     ,RADI,   2,   0,   0,   0,   0,   0,   0,
46729648Ssam /* D0 */ probew    ,RADI,   1,ADDR,   1,RADI,   4,   0,   0,
46829648Ssam /* D1 */ bvs       , Brd,   1,   0,   0,   0,   0,   0,   0,
46929648Ssam /* D2 */ cmps3     ,   0,   0,   0,   0,   0,   0,   0,   0,
47029648Ssam /* D3 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
47129648Ssam /* D4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
47229648Ssam /* D5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
47329648Ssam /* D6 */ subf      ,RADF,   4,   0,   0,   0,   0,   0,   0,
47429648Ssam /* D7 */ subd      ,RADF,   8,   0,   0,   0,   0,   0,   0,
47529648Ssam /* D8 */ xorb3     ,RADI,   1,RADI,   1,NWAD,   1,   0,   0,
47629648Ssam /* D9 */ pushb     ,RADI,   1,   0,   0,   0,   0,   0,   0,
47729648Ssam /* DA */ xorw3     ,RADI,   2,RADI,   2,NWAD,   2,   0,   0,
47829648Ssam /* DB */ pushw     ,RADI,   2,   0,   0,   0,   0,   0,   0,
47929648Ssam /* DC */ xorl3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
48029648Ssam /* DD */ pushl     ,RADI,   4,   0,   0,   0,   0,   0,   0,
48129648Ssam /* DE */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
48229648Ssam /* DF */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
48329648Ssam /* E0 */ insque    ,ADDR,   4,ADDR,   4,   0,   0,   0,   0,
48429648Ssam /* E1 */ bcs       , Brd,   1,   0,   0,   0,   0,   0,   0,
48529648Ssam /* E2 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
48629648Ssam /* E3 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
48729648Ssam /* E4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
48829648Ssam /* E5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
48929648Ssam /* E6 */ mulf      ,RADF,   4,   0,   0,   0,   0,   0,   0,
49029648Ssam /* E7 */ muld      ,RADF,   8,   0,   0,   0,   0,   0,   0,
49129648Ssam /* E8 */ mnegb     ,RADI,   1, WAD,   1,   0,   0,   0,   0,
49229648Ssam /* E9 */ movab     ,ADDR,   1, WAD,   4,   0,   0,   0,   0,
49329648Ssam /* EA */ mnegw     ,RADI,   2, WAD,   2,   0,   0,   0,   0,
49429648Ssam /* EB */ movaw     ,ADDR,   2, WAD,   4,   0,   0,   0,   0,
49529648Ssam /* EC */ mnegl     ,RADI,   4, WAD,   4,   0,   0,   0,   0,
49629648Ssam /* ED */ moval     ,ADDR,   4, WAD,   4,   0,   0,   0,   0,
49729648Ssam /* EE */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
49829648Ssam /* EF */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
49929648Ssam /* F0 */ remque    ,ADDR,   4,   0,   0,   0,   0,   0,   0,
50029648Ssam /* F1 */ bcc       , Brd,   1,   0,   0,   0,   0,   0,   0,
50129648Ssam /* F2 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
50229648Ssam /* F3 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
50329648Ssam /* F4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
50429648Ssam /* F5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
50529648Ssam /* F6 */ divf      ,RADF,   4,   0,   0,   0,   0,   0,   0,
50629648Ssam /* F7 */ divd      ,RADF,   8,   0,   0,   0,   0,   0,   0,
50729648Ssam /* F8 */ movblk    ,   0,   0,   0,   0,   0,   0,   0,   0,
50829648Ssam /* F9 */ pushab    ,ADDR,   1,   0,   0,   0,   0,   0,   0,
50929648Ssam /* FA */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
51029648Ssam /* FB */ pushaw    ,ADDR,   2,   0,   0,   0,   0,   0,   0,
51129648Ssam /* FC */ casel     ,RADI,   4,RADI,   4,RADI,   4,   0,   0,
51229648Ssam /* FD */ pushal    ,ADDR,   4,   0,   0,   0,   0,   0,   0,
51329648Ssam /* FE */ callf    ,Imm|Lit, 1,  PR,   1,   0,   0,   0,   0,
51429648Ssam /* FF */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0
51529648Ssam };
516