4.4BSD/usr/src/old/pcc/c2.tahoe/c23.c

Compare this file to the similar file:
Show the results in this format:

#ifndef lint
static char sccsid[] = "@(#)c23.c	1.3 (Berkeley/CCI) 8/14/86";
#endif

#include "c2.h"
#define readonly

readonly char revbr[] = {
	JNE, JEQ, JGT, JLT, JGE, JLE,
	JNE, JEQ, JHI, JLO, JHIS, JLOS,
	JBS, JBC, };

/* cursed be the preprocessor, whose impotence and stupidity
/* prevented this table being macro-generated from ../as/instrs
*/

readonly struct optab optab[] = {
"jbr",JBR,0,
"jeql",CBR,JEQ,
"jneq",CBR,JNE,
"jleq",CBR,JLE,
"jgeq",CBR,JGE,
"jlss",CBR,JLT,
"jgtr",CBR,JGT,
"jbc",CBR,JBC,
"jbs",CBR,JBS,
"jlequ",CBR,JLOS,
"jgequ",CBR,JHIS,
"jlssu",CBR,JLO,
"jgtru",CBR,JHI,
"adda",ADDA,LONG,
"addb2",ADD,U(BYTE,OP2),
"addb3",ADD,U(BYTE,OP3),
"addl2",ADD,U(LONG,OP2),
"addl3",ADD,U(LONG,OP3),
"addw2",ADD,U(WORD,OP2),
"addw3",ADD,U(WORD,OP3),
"aobleq",AOBLEQ,0,
"aoblss",AOBLSS,0,
"shal",SHAL,LONG,
"shar",SHAR,LONG,
"shll",SHL,LONG,
"shrl",SHR,LONG,
"shlq",SHL,QUAD,
"shrq",SHR,QUAD,
"bbc",CBR,JBC,
"bbs",CBR,JBS,
"bcc",CBR,JHIS,
"bcs",CBR,JLO,
"beql",CBR,JEQ,
"beqlu",CBR,JEQ,
"bgeq",CBR,JGE,
"bgequ",CBR,JHIS,
"bgtr",CBR,JGT,
"bgtru",CBR,JHI,
"andb2",AND,U(BYTE,OP2),
"andb3",AND,U(BYTE,OP3),
"andl2",AND,U(LONG,OP2),
"andl3",AND,U(LONG,OP3),
"andw2",AND,U(WORD,OP2),
"andw3",AND,U(WORD,OP3),
"orb2",OR,U(BYTE,OP2),
"orb3",OR,U(BYTE,OP3),
"orl2",OR,U(LONG,OP2),
"orl3",OR,U(LONG,OP3),
"orw2",OR,U(WORD,OP2),
"orw3",OR,U(WORD,OP3),
"bitb",BIT,BYTE,
"bitl",BIT,LONG,
"bitw",BIT,WORD,
"bleq",CBR,JLE,
"blequ",CBR,JLOS,
"blss",CBR,JLT,
"blssu",CBR,JLO,
"bneq",CBR,JNE,
"bnequ",CBR,JNE,
"brb",JBR,0,
"brw",JBR,0,
"bvc",CBR,0,
"bvs",CBR,0,
"callf",CALLF,0,
"calls",CALLS,0,
"casel",CASE,LONG,
"clrb",CLR,BYTE,
"clrl",CLR,LONG,
"clrw",CLR,WORD,
"cmpb",CMP,BYTE,
"cmpl",CMP,LONG,
"cmpw",CMP,WORD,
"cvtbl",CVT,U(BYTE,LONG),
"cvtbw",CVT,U(BYTE,WORD),
"cvtlb",CVT,U(LONG,BYTE),
"cvtlw",CVT,U(LONG,WORD),
"cvtwb",CVT,U(WORD,BYTE),
"cvtwl",CVT,U(WORD,LONG),
"decb",DEC,BYTE,
"decl",DEC,LONG,
"decw",DEC,WORD,
"divl2",DIV,U(LONG,OP2),
"divl3",DIV,U(LONG,OP3),
"ediv",EDIV,LONG,
#ifdef EMOD
"emod",EMOD,LONG,
#endif EMOD
"emul",EMUL,LONG,
"incb",INC,BYTE,
"incl",INC,LONG,
"incw",INC,WORD,
"jmp",JMP,0,
"mcomb",COM,BYTE,
"mcoml",COM,LONG,
"mcomw",COM,WORD,
"mnegb",NEG,BYTE,
"mnegl",NEG,LONG,
"mnegw",NEG,WORD,
"movab",MOVA,BYTE,
"moval",MOVA,LONG,
"movaw",MOVA,WORD,
"movb",MOV,BYTE,
"movl",MOV,LONG,
"movw",MOV,WORD,
"movzbl",MOVZ,U(BYTE,LONG),
"movzbw",MOVZ,U(BYTE,WORD),
"movzwl",MOVZ,U(WORD,LONG),
"mull2",MUL,U(LONG,OP2),
"mull3",MUL,U(LONG,OP3),
"pushab",PUSHA,BYTE,
"pushal",PUSHA,LONG,
"pushaw",PUSHA,WORD,
"pushb",PUSH,BYTE,
"pushl",PUSH,LONG,
"pushw",PUSH,WORD,
"ret",JBR,U(RET,2),
"ret#0",JBR,RET,
"ret#1",JBR,U(RET,1),
"ret#2",JBR,U(RET,2),
"suba",SUBA,LONG,
"subb2",SUB,U(BYTE,OP2),
"subb3",SUB,U(BYTE,OP3),
"subl2",SUB,U(LONG,OP2),
"subl3",SUB,U(LONG,OP3),
"subw2",SUB,U(WORD,OP2),
"subw3",SUB,U(WORD,OP3),
"tstb",TST,BYTE,
"tstl",TST,LONG,
"tstw",TST,WORD,
"xorb2",XOR,U(BYTE,OP2),
"xorb3",XOR,U(BYTE,OP3),
"xorl2",XOR,U(LONG,OP2),
"xorl3",XOR,U(LONG,OP3),
"xorw2",XOR,U(WORD,OP2),
"xorw3",XOR,U(WORD,OP3),
"movblk",MOVBLK,0,
"ldf",LDF,FLOAT,
"ldd",LDF,DOUBLE,
"lnf",LNF,FLOAT,
"lnd",LNF,DOUBLE,
"stf",STF,FLOAT,
"std",STF,DOUBLE,
"cmpf",CMPF,FLOAT,
"cmpd",CMPF,DOUBLE,
"cmpf2",CMPF2,FLOAT,
"cmpd2",CMPF2,DOUBLE,
"tstf",TSTF,FLOAT,
"tstd",TSTF,DOUBLE,
"pushd",PUSHD,DOUBLE,
"cvlf",CVLF,U(LONG,FLOAT),
"cvld",CVLF,U(LONG,DOUBLE),
"cvfl",CVFL,U(FLOAT,LONG),
"cvdl",CVFL,U(DOUBLE,LONG),
"ldfd",LDFD,U(FLOAT,DOUBLE),
"cvdf",CVDF,U(DOUBLE,FLOAT),
"negf",NEGF,FLOAT,
"negd",NEGF,DOUBLE,
"addf",ADDF,FLOAT,
"addd",ADDF,DOUBLE,
"subf",SUBF,FLOAT,
"subd",SUBF,DOUBLE,
"mulf",MULF,FLOAT,
"muld",MULF,DOUBLE,
"divf",DIVF,FLOAT,
"divd",DIVF,DOUBLE,
"sinf",SINF,FLOAT,
"cosf",COSF,FLOAT,
"atanf",ATANF,FLOAT,
"logf",LOGF,FLOAT,
"sqrtf",SQRTF,FLOAT,
"expf",EXPF,FLOAT,
".globl",EROU,0,
".text",TEXT,0,
".data",DATA,0,
".bss",BSS,0,
".align",ALIGN,0,
".word",WGEN,0,
".long",LGEN,0,
".set",SET,0,
".lcomm",LCOMM,0,
".comm",COMM,0,
".end",END,0,
"mfpr",MFPR,LONG,
"mtpr",MTPR,LONG,
"probe",PROBE,BYTE,
"adwc",NIL,0,
"movob",MOVO,BYTE,
"movow",MOVO,WORD,
"bbssi",NIL,0,
"bicpsw",NIL,0,
"bispsw",NIL,0,
"bpt",NIL,0,
"btcs",NIL,0,
"cmps2",NIL,0,
"cmps3",NIL,0,
"emul",NIL,0,
"ffc",NIL,0,
"ffs",NIL,0,
"halt",NIL,0,
"insque",NIL,0,
"kcall",NIL,0,
"ldpctx",NIL,0,
"loadr",NIL,0,
"movpsl",NIL,0,
"movs2",NIL,0,
"movs3",NIL,0,
"nop",NIL,0,
"rei",NIL,0,
"remque",NIL,0,
"sbwc",NIL,0,
"storer",NIL,0,
"svpctx",NIL,0,
"sinf",NIL,0,
"cosf",NIL,0,
"atanf",NIL,0,
"logf",NIL,0,
"sqrtf",NIL,0,
"expf",NIL,0,
{0}};