|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.backend.sparc.Opcodes
public class Opcodes
This class provides Sparc instruction information.
$Id: Opcodes.java,v 1.21 2007-10-04 19:57:57 burrill Exp $
Copyright 2008 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
Sparc opcodes are represented by an integer that is split into two fields.
Field Summary | |
---|---|
static int |
ADD
|
static int |
ADDC
|
static int |
ADDCC
|
static int |
ADDCCC
|
static int |
AND
|
static int |
ANDCC
|
static int |
ANDN
|
static int |
ANDNCC
|
static int |
B
|
static int |
BA
|
static int |
BCC
|
static int |
BCS
|
static int |
BE
|
static int |
BG
|
static int |
BGE
|
static int |
BGU
|
static int |
BL
|
static int |
BLE
|
static int |
BLEU
|
static int |
BN
|
static int |
BNE
|
static int |
BNEG
|
static int |
BP
|
static int |
BPA
|
static int |
BPCC
|
static int |
BPCS
|
static int |
BPE
|
static int |
BPG
|
static int |
BPGE
|
static int |
BPGU
|
static int |
BPL
|
static int |
BPLE
|
static int |
BPLEU
|
static int |
BPN
|
static int |
BPNE
|
static int |
BPNEG
|
static int |
BPOS
|
static int |
BPPOS
|
static int |
BPVC
|
static int |
BPVS
|
static int |
BR
|
static int |
BRGEZ
|
static int |
BRGZ
|
static int |
BRLEZ
|
static int |
BRLZ
|
static int |
BRNZ
|
static int |
BRZ
|
static int |
BVC
|
static int |
BVS
|
static int |
CALL
|
static int |
CASA
|
static int |
CASXA
|
static java.lang.String[] |
condf
|
static java.lang.String[] |
condi
|
static int |
DONE
|
static int |
FABSD
|
static int |
FABSQ
|
static int |
FABSS
|
static int |
FADDD
|
static int |
FADDQ
|
static int |
FADDS
|
static int |
FB
|
static int |
FBA
|
static int |
FBE
|
static int |
FBG
|
static int |
FBGE
|
static int |
FBL
|
static int |
FBLE
|
static int |
FBLG
|
static int |
FBN
|
static int |
FBNE
|
static int |
FBO
|
static int |
FBP
|
static int |
FBPA
|
static int |
FBPE
|
static int |
FBPG
|
static int |
FBPGE
|
static int |
FBPL
|
static int |
FBPLE
|
static int |
FBPLG
|
static int |
FBPN
|
static int |
FBPNE
|
static int |
FBPO
|
static int |
FBPU
|
static int |
FBPUE
|
static int |
FBPUG
|
static int |
FBPUGE
|
static int |
FBPUL
|
static int |
FBPULE
|
static int |
FBU
|
static int |
FBUE
|
static int |
FBUG
|
static int |
FBUGE
|
static int |
FBUL
|
static int |
FBULE
|
static int |
FCMPD
|
static int |
FCMPED
|
static int |
FCMPEQ
|
static int |
FCMPES
|
static int |
FCMPQ
|
static int |
FCMPS
|
static int |
FDIVD
|
static int |
FDIVQ
|
static int |
FDIVS
|
static int |
FDMULQ
|
static int |
FDTOI
|
static int |
FDTOQ
|
static int |
FDTOS
|
static int |
FDTOX
|
static int |
FITOD
|
static int |
FITOQ
|
static int |
FITOS
|
static int |
FLUSH
|
static int |
FLUSHW
|
static int |
FMOVD
|
static int |
FMOVDCC
|
static int |
FMOVQ
|
static int |
FMOVQCC
|
static int |
FMOVRDGEZ
|
static int |
FMOVRDGZ
|
static int |
FMOVRDLEZ
|
static int |
FMOVRDLZ
|
static int |
FMOVRDNZ
|
static int |
FMOVRDZ
|
static int |
FMOVRQGEZ
|
static int |
FMOVRQGZ
|
static int |
FMOVRQLEZ
|
static int |
FMOVRQLZ
|
static int |
FMOVRQNZ
|
static int |
FMOVRQZ
|
static int |
FMOVRSGEZ
|
static int |
FMOVRSGZ
|
static int |
FMOVRSLEZ
|
static int |
FMOVRSLZ
|
static int |
FMOVRSNZ
|
static int |
FMOVRSZ
|
static int |
FMOVS
|
static int |
FMOVSCC
|
static int |
FMULD
|
static int |
FMULQ
|
static int |
FMULS
|
static int |
FNEGD
|
static int |
FNEGQ
|
static int |
FNEGS
|
static int |
FPop1
|
static int |
FPop2
|
static int |
FQTOD
|
static int |
FQTOI
|
static int |
FQTOS
|
static int |
FQTOX
|
static int |
FSMULD
|
static int |
FSQRTD
|
static int |
FSQRTQ
|
static int |
FSQRTS
|
static int |
FSTOD
|
static int |
FSTOI
|
static int |
FSTOQ
|
static int |
FSTOX
|
static int |
FSUBD
|
static int |
FSUBQ
|
static int |
FSUBS
|
static byte[] |
ftypeMap
|
static int |
FXTOD
|
static int |
FXTOQ
|
static int |
FXTOS
|
static int |
ILLTRAP
|
static byte[] |
iltypeMap
|
static int |
IMPDEP1
|
static int |
IMPDEP2
|
static byte[] |
itypeMap
|
static int |
JMPL
|
static int |
LD
|
static int |
LDD
|
static int |
LDDA
|
static int |
LDDF
|
static int |
LDDFA
|
static int |
LDF
|
static int |
LDFA
|
static int |
LDFSR
|
static int |
LDQF
|
static int |
LDQFA
|
static int |
LDSB
|
static int |
LDSBA
|
static int |
LDSH
|
static int |
LDSHA
|
static int |
LDSTUB
|
static int |
LDSTUBA
|
static int |
LDSW
|
static int |
LDSWA
|
static int |
LDUB
|
static int |
LDUBA
|
static int |
LDUH
|
static int |
LDUHA
|
static int |
LDUW
|
static int |
LDUWA
|
static int |
LDX
|
static int |
LDXA
|
static int |
MEMBAR
|
static int |
MOVA
|
static int |
MOVCC
|
static int |
MOVCS
|
static int |
MOVE
|
static int |
MOVG
|
static int |
MOVGE
|
static int |
MOVGU
|
static int |
MOVL
|
static int |
MOVLE
|
static int |
MOVLEU
|
static int |
MOVN
|
static int |
MOVNE
|
static int |
MOVNEG
|
static int |
MOVPOS
|
static int |
MOVR
|
static int |
MOVRGEZ
|
static int |
MOVRGZ
|
static int |
MOVRLEZ
|
static int |
MOVRLZ
|
static int |
MOVRNZ
|
static int |
MOVRZ
|
static int |
MOVVC
|
static int |
MOVVS
|
static int |
MULSCC
|
static int |
MULX
|
static int |
NOP
|
static int |
OP070
|
static int |
OP0C3
|
static int |
OP192
|
static int |
OP1C3
|
static int |
OP1D2
|
static int |
OP283
|
static int |
OP292
|
static int |
OP293
|
static int |
OP2A3
|
static int |
OP2B3
|
static int |
OP2C3
|
static int |
OP2E3
|
static int |
OP2F3
|
static int |
OP313
|
static int |
OP332
|
static int |
OP353
|
static int |
OP383
|
static int |
OP393
|
static int |
OP3A3
|
static int |
OP3B3
|
static int |
OP3F2
|
static int |
OP3F3
|
static int |
OR
|
static int |
ORCC
|
static int |
ORN
|
static int |
ORNCC
|
static int |
POPC
|
static int |
PREFETCH
|
static int |
PREFETCHA
|
static java.lang.String[] |
rcond
|
static int |
RDPR
|
static int |
RESTORE
|
static int |
RETURN
|
static java.lang.String[] |
rr
|
static int |
RR
|
static int |
SAVE
|
static int |
SDIV
|
static int |
SDIVCC
|
static int |
SDIVX
|
static int |
SETHI
|
static int |
SLL
|
static int |
SLLX
|
static int |
SMUL
|
static int |
SMULCC
|
static int |
SR
|
static int |
SRA
|
static int |
SRAX
|
static int |
SRL
|
static int |
SRLX
|
static int |
ST
|
static int |
STB
|
static int |
STBA
|
static int |
STBAR
|
static int |
STD
|
static int |
STDA
|
static int |
STDF
|
static int |
STDFA
|
static int |
STF
|
static int |
STFA
|
static int |
STFSR
|
static int |
STH
|
static int |
STHA
|
static int |
STQF
|
static int |
STQFA
|
static int |
STW
|
static int |
STWA
|
static int |
STX
|
static int |
STXA
|
static int |
SUB
|
static int |
SUBC
|
static int |
SUBCC
|
static int |
SUBCCC
|
static int |
SWAP
|
static int |
SWAPA
|
static int |
T
|
static int |
TA
|
static int |
TADDCC
|
static int |
TADDCCTV
|
static int |
TCC
|
static int |
TCS
|
static int |
TE
|
static int |
TG
|
static int |
TGE
|
static int |
TGU
|
static int |
TL
|
static int |
TLE
|
static int |
TLEU
|
static int |
TN
|
static int |
TNE
|
static int |
TNEG
|
static int |
TPOS
|
static int |
TSUBCC
|
static int |
TSUBCCTV
|
static int |
TVC
|
static int |
TVS
|
static int |
UDIV
|
static int |
UDIVCC
|
static int |
UDIVX
|
static int |
UMUL
|
static int |
UMULCC
|
static java.lang.String[] |
wr
|
static int |
WR
|
static int |
WRPR
|
static int |
XNOR
|
static int |
XNORCC
|
static int |
XOR
|
static int |
XORCC
|
Constructor Summary | |
---|---|
Opcodes()
|
Method Summary | |
---|---|
static int |
absfOp(int bytes)
|
static int |
addCond(int opcode,
int cond)
Add a condition code to an opcode. |
static int |
bopfOp(int which,
boolean v9)
|
static int |
bopiOp(int which,
boolean v9,
boolean signed)
|
static int |
bropOp(int which)
|
static int |
cmpfOp(int bytes)
|
static boolean |
defs(int opcode,
int instr,
int reg)
Return true if the operation defines the register. |
static int |
fcvtfOp(int fbytess,
int fbytesd)
|
static int |
fcvtiOp(int fbytes,
int ibytes)
|
static int |
fopOp(int which,
int bytes)
|
static int |
fsqrtOp(int bytes)
|
static java.lang.String |
getOp(int opcode)
Return the opcode mnemonic for the instruction opcode. |
static java.lang.String |
getOp(SparcBranch inst)
Return the opcode mnemonic for the instruction. |
static java.lang.String |
getOp(SparcInstruction inst)
Return the opcode mnemonic for the instruction. |
static int |
icvtfOp(int ibytes,
int fbytes)
|
static int |
iopOp(int which,
int bytes)
|
static int |
ldfOp(int bytes,
boolean v9)
|
static int |
ldsiOp(int bytes,
boolean v9)
|
static int |
lduiOp(int bytes,
boolean v9)
|
static int |
movfOp(int bytes)
|
static int |
negfOp(int bytes)
|
static boolean |
setsCC(int cc,
int opcode)
Return true if the instruction sets the CC flag specified. |
static int |
stfOp(int bytes,
boolean v9)
|
static int |
stiOp(int bytes,
boolean v9)
|
static boolean |
uses(int opcode,
int instr,
int reg)
Return true if the operation uses the register. |
static boolean |
usesCC(int cc,
int opcode)
Return true if the instruction uses the CC flag specified. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int ILLTRAP
public static final int BP
public static final int BPN
public static final int BPE
public static final int BPLE
public static final int BPL
public static final int BPLEU
public static final int BPCS
public static final int BPNEG
public static final int BPVS
public static final int BPA
public static final int BPNE
public static final int BPG
public static final int BPGE
public static final int BPGU
public static final int BPCC
public static final int BPPOS
public static final int BPVC
public static final int B
public static final int BN
public static final int BE
public static final int BLE
public static final int BL
public static final int BLEU
public static final int BCS
public static final int BNEG
public static final int BVS
public static final int BA
public static final int BNE
public static final int BG
public static final int BGE
public static final int BGU
public static final int BCC
public static final int BPOS
public static final int BVC
public static final int BR
public static final int BRZ
public static final int BRLEZ
public static final int BRLZ
public static final int BRNZ
public static final int BRGZ
public static final int BRGEZ
public static final int SETHI
public static final int NOP
public static final int FBP
public static final int FBPN
public static final int FBPNE
public static final int FBPLG
public static final int FBPUL
public static final int FBPL
public static final int FBPUG
public static final int FBPG
public static final int FBPU
public static final int FBPA
public static final int FBPE
public static final int FBPUE
public static final int FBPGE
public static final int FBPUGE
public static final int FBPLE
public static final int FBPULE
public static final int FBPO
public static final int FB
public static final int FBN
public static final int FBNE
public static final int FBLG
public static final int FBUL
public static final int FBL
public static final int FBUG
public static final int FBG
public static final int FBU
public static final int FBA
public static final int FBE
public static final int FBUE
public static final int FBGE
public static final int FBUGE
public static final int FBLE
public static final int FBULE
public static final int FBO
public static final int OP070
public static final int CALL
public static final int ADD
public static final int AND
public static final int OR
public static final int XOR
public static final int SUB
public static final int ANDN
public static final int ORN
public static final int XNOR
public static final int ADDC
public static final int MULX
public static final int UMUL
public static final int SMUL
public static final int SUBC
public static final int UDIVX
public static final int UDIV
public static final int SDIV
public static final int ADDCC
public static final int ANDCC
public static final int ORCC
public static final int XORCC
public static final int SUBCC
public static final int ANDNCC
public static final int ORNCC
public static final int XNORCC
public static final int ADDCCC
public static final int OP192
public static final int UMULCC
public static final int SMULCC
public static final int SUBCCC
public static final int OP1D2
public static final int UDIVCC
public static final int SDIVCC
public static final int TADDCC
public static final int TSUBCC
public static final int TADDCCTV
public static final int TSUBCCTV
public static final int MULSCC
public static final int SLL
public static final int SLLX
public static final int SRL
public static final int SRLX
public static final int SRA
public static final int SRAX
public static final int RR
public static final int MEMBAR
public static final int STBAR
public static final int OP292
public static final int RDPR
public static final int FLUSHW
public static final int MOVN
public static final int MOVE
public static final int MOVLE
public static final int MOVL
public static final int MOVLEU
public static final int MOVCS
public static final int MOVNEG
public static final int MOVVS
public static final int MOVA
public static final int MOVNE
public static final int MOVG
public static final int MOVGE
public static final int MOVGU
public static final int MOVCC
public static final int MOVPOS
public static final int MOVVC
public static final int SDIVX
public static final int POPC
public static final int MOVR
public static final int MOVRZ
public static final int MOVRLEZ
public static final int MOVRLZ
public static final int MOVRNZ
public static final int MOVRGZ
public static final int MOVRGEZ
public static final int WR
public static final int SR
public static final int WRPR
public static final int OP332
public static final int FPop1
public static final int FMOVS
public static final int FMOVD
public static final int FMOVQ
public static final int FNEGS
public static final int FNEGD
public static final int FNEGQ
public static final int FABSS
public static final int FABSD
public static final int FABSQ
public static final int FSQRTS
public static final int FSQRTD
public static final int FSQRTQ
public static final int FADDS
public static final int FADDD
public static final int FADDQ
public static final int FSUBS
public static final int FSUBD
public static final int FSUBQ
public static final int FMULS
public static final int FMULD
public static final int FMULQ
public static final int FDIVS
public static final int FDIVD
public static final int FDIVQ
public static final int FSMULD
public static final int FDMULQ
public static final int FSTOX
public static final int FDTOX
public static final int FQTOX
public static final int FXTOS
public static final int FXTOD
public static final int FXTOQ
public static final int FITOS
public static final int FDTOS
public static final int FQTOS
public static final int FITOD
public static final int FSTOD
public static final int FQTOD
public static final int FITOQ
public static final int FSTOQ
public static final int FDTOQ
public static final int FSTOI
public static final int FDTOI
public static final int FQTOI
public static final int FPop2
public static final int FMOVSCC
public static final int FMOVDCC
public static final int FMOVQCC
public static final int FMOVRSZ
public static final int FMOVRDZ
public static final int FMOVRQZ
public static final int FMOVRSLEZ
public static final int FMOVRDLEZ
public static final int FMOVRQLEZ
public static final int FCMPES
public static final int FCMPED
public static final int FCMPEQ
public static final int FCMPS
public static final int FCMPD
public static final int FCMPQ
public static final int FMOVRSLZ
public static final int FMOVRDLZ
public static final int FMOVRQLZ
public static final int FMOVRSNZ
public static final int FMOVRDNZ
public static final int FMOVRQNZ
public static final int FMOVRSGZ
public static final int FMOVRDGZ
public static final int FMOVRQGZ
public static final int FMOVRSGEZ
public static final int FMOVRDGEZ
public static final int FMOVRQGEZ
public static final int IMPDEP1
public static final int IMPDEP2
public static final int JMPL
public static final int RETURN
public static final int T
public static final int TN
public static final int TE
public static final int TLE
public static final int TL
public static final int TLEU
public static final int TCS
public static final int TNEG
public static final int TVS
public static final int TA
public static final int TNE
public static final int TG
public static final int TGE
public static final int TGU
public static final int TCC
public static final int TPOS
public static final int TVC
public static final int FLUSH
public static final int SAVE
public static final int RESTORE
public static final int DONE
public static final int OP3F2
public static final int LDUW
public static final int LDUB
public static final int LDUH
public static final int LDD
public static final int ST
public static final int STW
public static final int STB
public static final int STH
public static final int STD
public static final int LD
public static final int LDSW
public static final int LDSB
public static final int LDSH
public static final int LDX
public static final int OP0C3
public static final int LDSTUB
public static final int STX
public static final int SWAP
public static final int LDUWA
public static final int LDUBA
public static final int LDUHA
public static final int LDDA
public static final int STWA
public static final int STBA
public static final int STHA
public static final int STDA
public static final int LDSWA
public static final int LDSBA
public static final int LDSHA
public static final int LDXA
public static final int OP1C3
public static final int LDSTUBA
public static final int STXA
public static final int SWAPA
public static final int LDF
public static final int LDFSR
public static final int LDQF
public static final int LDDF
public static final int STF
public static final int STFSR
public static final int STQF
public static final int STDF
public static final int OP283
public static final int OP293
public static final int OP2A3
public static final int OP2B3
public static final int OP2C3
public static final int PREFETCH
public static final int OP2E3
public static final int OP2F3
public static final int LDFA
public static final int OP313
public static final int LDQFA
public static final int LDDFA
public static final int STFA
public static final int OP353
public static final int STQFA
public static final int STDFA
public static final int OP383
public static final int OP393
public static final int OP3A3
public static final int OP3B3
public static final int CASA
public static final int PREFETCHA
public static final int CASXA
public static final int OP3F3
public static final java.lang.String[] condi
public static final java.lang.String[] condf
public static final java.lang.String[] rcond
public static final java.lang.String[] rr
public static final java.lang.String[] wr
public static final byte[] iltypeMap
public static final byte[] ftypeMap
public static final byte[] itypeMap
Constructor Detail |
---|
public Opcodes()
Method Detail |
---|
public static int ldsiOp(int bytes, boolean v9)
bytes
- is the number of bytes to be loadedv9
- is true for the Version 9 of the processor
public static int lduiOp(int bytes, boolean v9)
bytes
- is the number of bytes to be loadedv9
- is true for the Version 9 of the processor
public static int stiOp(int bytes, boolean v9)
bytes
- is the number of bytes to be storedv9
- is true for the Version 9 of the processor
public static int ldfOp(int bytes, boolean v9)
bytes
- is the number of bytes to be loadedv9
- is true for the Version 9 of the processor
public static int stfOp(int bytes, boolean v9)
bytes
- is the number of bytes to be loadedv9
- is true for the Version 9 of the processor
public static int movfOp(int bytes)
bytes
- is the number of bytes to be moved
public static int negfOp(int bytes)
bytes
- is the number of bytes to be moved
public static int absfOp(int bytes)
bytes
- is the number of bytes to be moved
public static int cmpfOp(int bytes)
bytes
- is the number of bytes to be compared
public static int fcvtiOp(int fbytes, int ibytes)
fbytes
- is the number of bytes in the source floating point
valueibytes
- is the number of bytes in the destination integer
value
public static int icvtfOp(int ibytes, int fbytes)
ibytes
- is the number of bytes in the source integer valuefbytes
- is the number of bytes in the destination floating
point value
public static int fcvtfOp(int fbytess, int fbytesd)
fbytess
- is the number of bytes in the source floating
point valuefbytesd
- is the number of bytes in the destination floating
point value
public static int addCond(int opcode, int cond)
public static int iopOp(int which, int bytes)
which
- is the number of operationbytes
- is the number of bytes to be compared
public static int fopOp(int which, int bytes)
which
- is the number of operationbytes
- is the number of bytes to be compared
public static int fsqrtOp(int bytes)
bytes
- is the number of bytes to be compared
public static int bopiOp(int which, boolean v9, boolean signed)
which
- is the number of branch operation
public static int bopfOp(int which, boolean v9)
which
- is the number of branch operation
public static int bropOp(int which)
which
- is the number of branch operation
public static java.lang.String getOp(SparcInstruction inst)
public static java.lang.String getOp(SparcBranch inst)
public static java.lang.String getOp(int opcode)
public static boolean defs(int opcode, int instr, int reg)
opcode
- specifies the instructioninstr
- specifies the register encoded in the instruction as
the destination registerreg
- is the register being testedpublic static boolean uses(int opcode, int instr, int reg)
opcode
- specifies the instructioninstr
- specifies the register encoded in the instruction as
a source registerreg
- is the register being testedpublic static boolean setsCC(int cc, int opcode)
cc
- specifies the cc flagopcode
- is the instruction opcodepublic static boolean usesCC(int cc, int opcode)
cc
- specifies the cc flag
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |