scale.backend.sparc
Class Opcodes

java.lang.Object
  extended by scale.backend.sparc.Opcodes

public class Opcodes
extends java.lang.Object

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.

  1. Bits <11:00> are the subop function code (opf) if applicable.
  2. Bits <15:12> are the condition code if applicable.
  3. Bits <23:16> are the function code (op3 or op2).
  4. Bits <27:24> are the instruction format opcode.


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

ILLTRAP

public static final int ILLTRAP
See Also:
Constant Field Values

BP

public static final int BP
See Also:
Constant Field Values

BPN

public static final int BPN
See Also:
Constant Field Values

BPE

public static final int BPE
See Also:
Constant Field Values

BPLE

public static final int BPLE
See Also:
Constant Field Values

BPL

public static final int BPL
See Also:
Constant Field Values

BPLEU

public static final int BPLEU
See Also:
Constant Field Values

BPCS

public static final int BPCS
See Also:
Constant Field Values

BPNEG

public static final int BPNEG
See Also:
Constant Field Values

BPVS

public static final int BPVS
See Also:
Constant Field Values

BPA

public static final int BPA
See Also:
Constant Field Values

BPNE

public static final int BPNE
See Also:
Constant Field Values

BPG

public static final int BPG
See Also:
Constant Field Values

BPGE

public static final int BPGE
See Also:
Constant Field Values

BPGU

public static final int BPGU
See Also:
Constant Field Values

BPCC

public static final int BPCC
See Also:
Constant Field Values

BPPOS

public static final int BPPOS
See Also:
Constant Field Values

BPVC

public static final int BPVC
See Also:
Constant Field Values

B

public static final int B
See Also:
Constant Field Values

BN

public static final int BN
See Also:
Constant Field Values

BE

public static final int BE
See Also:
Constant Field Values

BLE

public static final int BLE
See Also:
Constant Field Values

BL

public static final int BL
See Also:
Constant Field Values

BLEU

public static final int BLEU
See Also:
Constant Field Values

BCS

public static final int BCS
See Also:
Constant Field Values

BNEG

public static final int BNEG
See Also:
Constant Field Values

BVS

public static final int BVS
See Also:
Constant Field Values

BA

public static final int BA
See Also:
Constant Field Values

BNE

public static final int BNE
See Also:
Constant Field Values

BG

public static final int BG
See Also:
Constant Field Values

BGE

public static final int BGE
See Also:
Constant Field Values

BGU

public static final int BGU
See Also:
Constant Field Values

BCC

public static final int BCC
See Also:
Constant Field Values

BPOS

public static final int BPOS
See Also:
Constant Field Values

BVC

public static final int BVC
See Also:
Constant Field Values

BR

public static final int BR
See Also:
Constant Field Values

BRZ

public static final int BRZ
See Also:
Constant Field Values

BRLEZ

public static final int BRLEZ
See Also:
Constant Field Values

BRLZ

public static final int BRLZ
See Also:
Constant Field Values

BRNZ

public static final int BRNZ
See Also:
Constant Field Values

BRGZ

public static final int BRGZ
See Also:
Constant Field Values

BRGEZ

public static final int BRGEZ
See Also:
Constant Field Values

SETHI

public static final int SETHI
See Also:
Constant Field Values

NOP

public static final int NOP
See Also:
Constant Field Values

FBP

public static final int FBP
See Also:
Constant Field Values

FBPN

public static final int FBPN
See Also:
Constant Field Values

FBPNE

public static final int FBPNE
See Also:
Constant Field Values

FBPLG

public static final int FBPLG
See Also:
Constant Field Values

FBPUL

public static final int FBPUL
See Also:
Constant Field Values

FBPL

public static final int FBPL
See Also:
Constant Field Values

FBPUG

public static final int FBPUG
See Also:
Constant Field Values

FBPG

public static final int FBPG
See Also:
Constant Field Values

FBPU

public static final int FBPU
See Also:
Constant Field Values

FBPA

public static final int FBPA
See Also:
Constant Field Values

FBPE

public static final int FBPE
See Also:
Constant Field Values

FBPUE

public static final int FBPUE
See Also:
Constant Field Values

FBPGE

public static final int FBPGE
See Also:
Constant Field Values

FBPUGE

public static final int FBPUGE
See Also:
Constant Field Values

FBPLE

public static final int FBPLE
See Also:
Constant Field Values

FBPULE

public static final int FBPULE
See Also:
Constant Field Values

FBPO

public static final int FBPO
See Also:
Constant Field Values

FB

public static final int FB
See Also:
Constant Field Values

FBN

public static final int FBN
See Also:
Constant Field Values

FBNE

public static final int FBNE
See Also:
Constant Field Values

FBLG

public static final int FBLG
See Also:
Constant Field Values

FBUL

public static final int FBUL
See Also:
Constant Field Values

FBL

public static final int FBL
See Also:
Constant Field Values

FBUG

public static final int FBUG
See Also:
Constant Field Values

FBG

public static final int FBG
See Also:
Constant Field Values

FBU

public static final int FBU
See Also:
Constant Field Values

FBA

public static final int FBA
See Also:
Constant Field Values

FBE

public static final int FBE
See Also:
Constant Field Values

FBUE

public static final int FBUE
See Also:
Constant Field Values

FBGE

public static final int FBGE
See Also:
Constant Field Values

FBUGE

public static final int FBUGE
See Also:
Constant Field Values

FBLE

public static final int FBLE
See Also:
Constant Field Values

FBULE

public static final int FBULE
See Also:
Constant Field Values

FBO

public static final int FBO
See Also:
Constant Field Values

OP070

public static final int OP070
See Also:
Constant Field Values

CALL

public static final int CALL
See Also:
Constant Field Values

ADD

public static final int ADD
See Also:
Constant Field Values

AND

public static final int AND
See Also:
Constant Field Values

OR

public static final int OR
See Also:
Constant Field Values

XOR

public static final int XOR
See Also:
Constant Field Values

SUB

public static final int SUB
See Also:
Constant Field Values

ANDN

public static final int ANDN
See Also:
Constant Field Values

ORN

public static final int ORN
See Also:
Constant Field Values

XNOR

public static final int XNOR
See Also:
Constant Field Values

ADDC

public static final int ADDC
See Also:
Constant Field Values

MULX

public static final int MULX
See Also:
Constant Field Values

UMUL

public static final int UMUL
See Also:
Constant Field Values

SMUL

public static final int SMUL
See Also:
Constant Field Values

SUBC

public static final int SUBC
See Also:
Constant Field Values

UDIVX

public static final int UDIVX
See Also:
Constant Field Values

UDIV

public static final int UDIV
See Also:
Constant Field Values

SDIV

public static final int SDIV
See Also:
Constant Field Values

ADDCC

public static final int ADDCC
See Also:
Constant Field Values

ANDCC

public static final int ANDCC
See Also:
Constant Field Values

ORCC

public static final int ORCC
See Also:
Constant Field Values

XORCC

public static final int XORCC
See Also:
Constant Field Values

SUBCC

public static final int SUBCC
See Also:
Constant Field Values

ANDNCC

public static final int ANDNCC
See Also:
Constant Field Values

ORNCC

public static final int ORNCC
See Also:
Constant Field Values

XNORCC

public static final int XNORCC
See Also:
Constant Field Values

ADDCCC

public static final int ADDCCC
See Also:
Constant Field Values

OP192

public static final int OP192
See Also:
Constant Field Values

UMULCC

public static final int UMULCC
See Also:
Constant Field Values

SMULCC

public static final int SMULCC
See Also:
Constant Field Values

SUBCCC

public static final int SUBCCC
See Also:
Constant Field Values

OP1D2

public static final int OP1D2
See Also:
Constant Field Values

UDIVCC

public static final int UDIVCC
See Also:
Constant Field Values

SDIVCC

public static final int SDIVCC
See Also:
Constant Field Values

TADDCC

public static final int TADDCC
See Also:
Constant Field Values

TSUBCC

public static final int TSUBCC
See Also:
Constant Field Values

TADDCCTV

public static final int TADDCCTV
See Also:
Constant Field Values

TSUBCCTV

public static final int TSUBCCTV
See Also:
Constant Field Values

MULSCC

public static final int MULSCC
See Also:
Constant Field Values

SLL

public static final int SLL
See Also:
Constant Field Values

SLLX

public static final int SLLX
See Also:
Constant Field Values

SRL

public static final int SRL
See Also:
Constant Field Values

SRLX

public static final int SRLX
See Also:
Constant Field Values

SRA

public static final int SRA
See Also:
Constant Field Values

SRAX

public static final int SRAX
See Also:
Constant Field Values

RR

public static final int RR
See Also:
Constant Field Values

MEMBAR

public static final int MEMBAR
See Also:
Constant Field Values

STBAR

public static final int STBAR
See Also:
Constant Field Values

OP292

public static final int OP292
See Also:
Constant Field Values

RDPR

public static final int RDPR
See Also:
Constant Field Values

FLUSHW

public static final int FLUSHW
See Also:
Constant Field Values

MOVN

public static final int MOVN
See Also:
Constant Field Values

MOVE

public static final int MOVE
See Also:
Constant Field Values

MOVLE

public static final int MOVLE
See Also:
Constant Field Values

MOVL

public static final int MOVL
See Also:
Constant Field Values

MOVLEU

public static final int MOVLEU
See Also:
Constant Field Values

MOVCS

public static final int MOVCS
See Also:
Constant Field Values

MOVNEG

public static final int MOVNEG
See Also:
Constant Field Values

MOVVS

public static final int MOVVS
See Also:
Constant Field Values

MOVA

public static final int MOVA
See Also:
Constant Field Values

MOVNE

public static final int MOVNE
See Also:
Constant Field Values

MOVG

public static final int MOVG
See Also:
Constant Field Values

MOVGE

public static final int MOVGE
See Also:
Constant Field Values

MOVGU

public static final int MOVGU
See Also:
Constant Field Values

MOVCC

public static final int MOVCC
See Also:
Constant Field Values

MOVPOS

public static final int MOVPOS
See Also:
Constant Field Values

MOVVC

public static final int MOVVC
See Also:
Constant Field Values

SDIVX

public static final int SDIVX
See Also:
Constant Field Values

POPC

public static final int POPC
See Also:
Constant Field Values

MOVR

public static final int MOVR
See Also:
Constant Field Values

MOVRZ

public static final int MOVRZ
See Also:
Constant Field Values

MOVRLEZ

public static final int MOVRLEZ
See Also:
Constant Field Values

MOVRLZ

public static final int MOVRLZ
See Also:
Constant Field Values

MOVRNZ

public static final int MOVRNZ
See Also:
Constant Field Values

MOVRGZ

public static final int MOVRGZ
See Also:
Constant Field Values

MOVRGEZ

public static final int MOVRGEZ
See Also:
Constant Field Values

WR

public static final int WR
See Also:
Constant Field Values

SR

public static final int SR
See Also:
Constant Field Values

WRPR

public static final int WRPR
See Also:
Constant Field Values

OP332

public static final int OP332
See Also:
Constant Field Values

FPop1

public static final int FPop1
See Also:
Constant Field Values

FMOVS

public static final int FMOVS
See Also:
Constant Field Values

FMOVD

public static final int FMOVD
See Also:
Constant Field Values

FMOVQ

public static final int FMOVQ
See Also:
Constant Field Values

FNEGS

public static final int FNEGS
See Also:
Constant Field Values

FNEGD

public static final int FNEGD
See Also:
Constant Field Values

FNEGQ

public static final int FNEGQ
See Also:
Constant Field Values

FABSS

public static final int FABSS
See Also:
Constant Field Values

FABSD

public static final int FABSD
See Also:
Constant Field Values

FABSQ

public static final int FABSQ
See Also:
Constant Field Values

FSQRTS

public static final int FSQRTS
See Also:
Constant Field Values

FSQRTD

public static final int FSQRTD
See Also:
Constant Field Values

FSQRTQ

public static final int FSQRTQ
See Also:
Constant Field Values

FADDS

public static final int FADDS
See Also:
Constant Field Values

FADDD

public static final int FADDD
See Also:
Constant Field Values

FADDQ

public static final int FADDQ
See Also:
Constant Field Values

FSUBS

public static final int FSUBS
See Also:
Constant Field Values

FSUBD

public static final int FSUBD
See Also:
Constant Field Values

FSUBQ

public static final int FSUBQ
See Also:
Constant Field Values

FMULS

public static final int FMULS
See Also:
Constant Field Values

FMULD

public static final int FMULD
See Also:
Constant Field Values

FMULQ

public static final int FMULQ
See Also:
Constant Field Values

FDIVS

public static final int FDIVS
See Also:
Constant Field Values

FDIVD

public static final int FDIVD
See Also:
Constant Field Values

FDIVQ

public static final int FDIVQ
See Also:
Constant Field Values

FSMULD

public static final int FSMULD
See Also:
Constant Field Values

FDMULQ

public static final int FDMULQ
See Also:
Constant Field Values

FSTOX

public static final int FSTOX
See Also:
Constant Field Values

FDTOX

public static final int FDTOX
See Also:
Constant Field Values

FQTOX

public static final int FQTOX
See Also:
Constant Field Values

FXTOS

public static final int FXTOS
See Also:
Constant Field Values

FXTOD

public static final int FXTOD
See Also:
Constant Field Values

FXTOQ

public static final int FXTOQ
See Also:
Constant Field Values

FITOS

public static final int FITOS
See Also:
Constant Field Values

FDTOS

public static final int FDTOS
See Also:
Constant Field Values

FQTOS

public static final int FQTOS
See Also:
Constant Field Values

FITOD

public static final int FITOD
See Also:
Constant Field Values

FSTOD

public static final int FSTOD
See Also:
Constant Field Values

FQTOD

public static final int FQTOD
See Also:
Constant Field Values

FITOQ

public static final int FITOQ
See Also:
Constant Field Values

FSTOQ

public static final int FSTOQ
See Also:
Constant Field Values

FDTOQ

public static final int FDTOQ
See Also:
Constant Field Values

FSTOI

public static final int FSTOI
See Also:
Constant Field Values

FDTOI

public static final int FDTOI
See Also:
Constant Field Values

FQTOI

public static final int FQTOI
See Also:
Constant Field Values

FPop2

public static final int FPop2
See Also:
Constant Field Values

FMOVSCC

public static final int FMOVSCC
See Also:
Constant Field Values

FMOVDCC

public static final int FMOVDCC
See Also:
Constant Field Values

FMOVQCC

public static final int FMOVQCC
See Also:
Constant Field Values

FMOVRSZ

public static final int FMOVRSZ
See Also:
Constant Field Values

FMOVRDZ

public static final int FMOVRDZ
See Also:
Constant Field Values

FMOVRQZ

public static final int FMOVRQZ
See Also:
Constant Field Values

FMOVRSLEZ

public static final int FMOVRSLEZ
See Also:
Constant Field Values

FMOVRDLEZ

public static final int FMOVRDLEZ
See Also:
Constant Field Values

FMOVRQLEZ

public static final int FMOVRQLEZ
See Also:
Constant Field Values

FCMPES

public static final int FCMPES
See Also:
Constant Field Values

FCMPED

public static final int FCMPED
See Also:
Constant Field Values

FCMPEQ

public static final int FCMPEQ
See Also:
Constant Field Values

FCMPS

public static final int FCMPS
See Also:
Constant Field Values

FCMPD

public static final int FCMPD
See Also:
Constant Field Values

FCMPQ

public static final int FCMPQ
See Also:
Constant Field Values

FMOVRSLZ

public static final int FMOVRSLZ
See Also:
Constant Field Values

FMOVRDLZ

public static final int FMOVRDLZ
See Also:
Constant Field Values

FMOVRQLZ

public static final int FMOVRQLZ
See Also:
Constant Field Values

FMOVRSNZ

public static final int FMOVRSNZ
See Also:
Constant Field Values

FMOVRDNZ

public static final int FMOVRDNZ
See Also:
Constant Field Values

FMOVRQNZ

public static final int FMOVRQNZ
See Also:
Constant Field Values

FMOVRSGZ

public static final int FMOVRSGZ
See Also:
Constant Field Values

FMOVRDGZ

public static final int FMOVRDGZ
See Also:
Constant Field Values

FMOVRQGZ

public static final int FMOVRQGZ
See Also:
Constant Field Values

FMOVRSGEZ

public static final int FMOVRSGEZ
See Also:
Constant Field Values

FMOVRDGEZ

public static final int FMOVRDGEZ
See Also:
Constant Field Values

FMOVRQGEZ

public static final int FMOVRQGEZ
See Also:
Constant Field Values

IMPDEP1

public static final int IMPDEP1
See Also:
Constant Field Values

IMPDEP2

public static final int IMPDEP2
See Also:
Constant Field Values

JMPL

public static final int JMPL
See Also:
Constant Field Values

RETURN

public static final int RETURN
See Also:
Constant Field Values

T

public static final int T
See Also:
Constant Field Values

TN

public static final int TN
See Also:
Constant Field Values

TE

public static final int TE
See Also:
Constant Field Values

TLE

public static final int TLE
See Also:
Constant Field Values

TL

public static final int TL
See Also:
Constant Field Values

TLEU

public static final int TLEU
See Also:
Constant Field Values

TCS

public static final int TCS
See Also:
Constant Field Values

TNEG

public static final int TNEG
See Also:
Constant Field Values

TVS

public static final int TVS
See Also:
Constant Field Values

TA

public static final int TA
See Also:
Constant Field Values

TNE

public static final int TNE
See Also:
Constant Field Values

TG

public static final int TG
See Also:
Constant Field Values

TGE

public static final int TGE
See Also:
Constant Field Values

TGU

public static final int TGU
See Also:
Constant Field Values

TCC

public static final int TCC
See Also:
Constant Field Values

TPOS

public static final int TPOS
See Also:
Constant Field Values

TVC

public static final int TVC
See Also:
Constant Field Values

FLUSH

public static final int FLUSH
See Also:
Constant Field Values

SAVE

public static final int SAVE
See Also:
Constant Field Values

RESTORE

public static final int RESTORE
See Also:
Constant Field Values

DONE

public static final int DONE
See Also:
Constant Field Values

OP3F2

public static final int OP3F2
See Also:
Constant Field Values

LDUW

public static final int LDUW
See Also:
Constant Field Values

LDUB

public static final int LDUB
See Also:
Constant Field Values

LDUH

public static final int LDUH
See Also:
Constant Field Values

LDD

public static final int LDD
See Also:
Constant Field Values

ST

public static final int ST
See Also:
Constant Field Values

STW

public static final int STW
See Also:
Constant Field Values

STB

public static final int STB
See Also:
Constant Field Values

STH

public static final int STH
See Also:
Constant Field Values

STD

public static final int STD
See Also:
Constant Field Values

LD

public static final int LD
See Also:
Constant Field Values

LDSW

public static final int LDSW
See Also:
Constant Field Values

LDSB

public static final int LDSB
See Also:
Constant Field Values

LDSH

public static final int LDSH
See Also:
Constant Field Values

LDX

public static final int LDX
See Also:
Constant Field Values

OP0C3

public static final int OP0C3
See Also:
Constant Field Values

LDSTUB

public static final int LDSTUB
See Also:
Constant Field Values

STX

public static final int STX
See Also:
Constant Field Values

SWAP

public static final int SWAP
See Also:
Constant Field Values

LDUWA

public static final int LDUWA
See Also:
Constant Field Values

LDUBA

public static final int LDUBA
See Also:
Constant Field Values

LDUHA

public static final int LDUHA
See Also:
Constant Field Values

LDDA

public static final int LDDA
See Also:
Constant Field Values

STWA

public static final int STWA
See Also:
Constant Field Values

STBA

public static final int STBA
See Also:
Constant Field Values

STHA

public static final int STHA
See Also:
Constant Field Values

STDA

public static final int STDA
See Also:
Constant Field Values

LDSWA

public static final int LDSWA
See Also:
Constant Field Values

LDSBA

public static final int LDSBA
See Also:
Constant Field Values

LDSHA

public static final int LDSHA
See Also:
Constant Field Values

LDXA

public static final int LDXA
See Also:
Constant Field Values

OP1C3

public static final int OP1C3
See Also:
Constant Field Values

LDSTUBA

public static final int LDSTUBA
See Also:
Constant Field Values

STXA

public static final int STXA
See Also:
Constant Field Values

SWAPA

public static final int SWAPA
See Also:
Constant Field Values

LDF

public static final int LDF
See Also:
Constant Field Values

LDFSR

public static final int LDFSR
See Also:
Constant Field Values

LDQF

public static final int LDQF
See Also:
Constant Field Values

LDDF

public static final int LDDF
See Also:
Constant Field Values

STF

public static final int STF
See Also:
Constant Field Values

STFSR

public static final int STFSR
See Also:
Constant Field Values

STQF

public static final int STQF
See Also:
Constant Field Values

STDF

public static final int STDF
See Also:
Constant Field Values

OP283

public static final int OP283
See Also:
Constant Field Values

OP293

public static final int OP293
See Also:
Constant Field Values

OP2A3

public static final int OP2A3
See Also:
Constant Field Values

OP2B3

public static final int OP2B3
See Also:
Constant Field Values

OP2C3

public static final int OP2C3
See Also:
Constant Field Values

PREFETCH

public static final int PREFETCH
See Also:
Constant Field Values

OP2E3

public static final int OP2E3
See Also:
Constant Field Values

OP2F3

public static final int OP2F3
See Also:
Constant Field Values

LDFA

public static final int LDFA
See Also:
Constant Field Values

OP313

public static final int OP313
See Also:
Constant Field Values

LDQFA

public static final int LDQFA
See Also:
Constant Field Values

LDDFA

public static final int LDDFA
See Also:
Constant Field Values

STFA

public static final int STFA
See Also:
Constant Field Values

OP353

public static final int OP353
See Also:
Constant Field Values

STQFA

public static final int STQFA
See Also:
Constant Field Values

STDFA

public static final int STDFA
See Also:
Constant Field Values

OP383

public static final int OP383
See Also:
Constant Field Values

OP393

public static final int OP393
See Also:
Constant Field Values

OP3A3

public static final int OP3A3
See Also:
Constant Field Values

OP3B3

public static final int OP3B3
See Also:
Constant Field Values

CASA

public static final int CASA
See Also:
Constant Field Values

PREFETCHA

public static final int PREFETCHA
See Also:
Constant Field Values

CASXA

public static final int CASXA
See Also:
Constant Field Values

OP3F3

public static final int OP3F3
See Also:
Constant Field Values

condi

public static final java.lang.String[] condi

condf

public static final java.lang.String[] condf

rcond

public static final java.lang.String[] rcond

rr

public static final java.lang.String[] rr

wr

public static final java.lang.String[] wr

iltypeMap

public static final byte[] iltypeMap

ftypeMap

public static final byte[] ftypeMap

itypeMap

public static final byte[] itypeMap
Constructor Detail

Opcodes

public Opcodes()
Method Detail

ldsiOp

public static int ldsiOp(int bytes,
                         boolean v9)
Parameters:
bytes - is the number of bytes to be loaded
v9 - is true for the Version 9 of the processor
Returns:
the opcode for the signed integer load

lduiOp

public static int lduiOp(int bytes,
                         boolean v9)
Parameters:
bytes - is the number of bytes to be loaded
v9 - is true for the Version 9 of the processor
Returns:
the opcode for the unsigned integer load

stiOp

public static int stiOp(int bytes,
                        boolean v9)
Parameters:
bytes - is the number of bytes to be stored
v9 - is true for the Version 9 of the processor
Returns:
the opcode for the integer store

ldfOp

public static int ldfOp(int bytes,
                        boolean v9)
Parameters:
bytes - is the number of bytes to be loaded
v9 - is true for the Version 9 of the processor
Returns:
the opcode for the floating point load

stfOp

public static int stfOp(int bytes,
                        boolean v9)
Parameters:
bytes - is the number of bytes to be loaded
v9 - is true for the Version 9 of the processor
Returns:
the opcode for the floating point store

movfOp

public static int movfOp(int bytes)
Parameters:
bytes - is the number of bytes to be moved
Returns:
the opcode for the floating point move

negfOp

public static int negfOp(int bytes)
Parameters:
bytes - is the number of bytes to be moved
Returns:
the opcode for the floating point negate

absfOp

public static int absfOp(int bytes)
Parameters:
bytes - is the number of bytes to be moved
Returns:
the opcode for the floating point fabs

cmpfOp

public static int cmpfOp(int bytes)
Parameters:
bytes - is the number of bytes to be compared
Returns:
the opcode for the floating point compare

fcvtiOp

public static int fcvtiOp(int fbytes,
                          int ibytes)
Parameters:
fbytes - is the number of bytes in the source floating point value
ibytes - is the number of bytes in the destination integer value
Returns:
the instruction opcode

icvtfOp

public static int icvtfOp(int ibytes,
                          int fbytes)
Parameters:
ibytes - is the number of bytes in the source integer value
fbytes - is the number of bytes in the destination floating point value
Returns:
the instruction opcode

fcvtfOp

public static int fcvtfOp(int fbytess,
                          int fbytesd)
Parameters:
fbytess - is the number of bytes in the source floating point value
fbytesd - is the number of bytes in the destination floating point value
Returns:
the instruction opcode

addCond

public static int addCond(int opcode,
                          int cond)
Add a condition code to an opcode.


iopOp

public static int iopOp(int which,
                        int bytes)
Parameters:
which - is the number of operation
bytes - is the number of bytes to be compared
Returns:
the opcode for the floating point operation

fopOp

public static int fopOp(int which,
                        int bytes)
Parameters:
which - is the number of operation
bytes - is the number of bytes to be compared
Returns:
the opcode for the floating point operation

fsqrtOp

public static int fsqrtOp(int bytes)
Parameters:
bytes - is the number of bytes to be compared
Returns:
the opcode for the floating point operation

bopiOp

public static int bopiOp(int which,
                         boolean v9,
                         boolean signed)
Parameters:
which - is the number of branch operation
Returns:
the opcode for the integer branch operation

bopfOp

public static int bopfOp(int which,
                         boolean v9)
Parameters:
which - is the number of branch operation
Returns:
the opcode for the floating point branch operation

bropOp

public static int bropOp(int which)
Parameters:
which - is the number of branch operation
Returns:
the opcode for the branch on register operation

getOp

public static java.lang.String getOp(SparcInstruction inst)
Return the opcode mnemonic for the instruction.


getOp

public static java.lang.String getOp(SparcBranch inst)
Return the opcode mnemonic for the instruction.


getOp

public static java.lang.String getOp(int opcode)
Return the opcode mnemonic for the instruction opcode.


defs

public static boolean defs(int opcode,
                           int instr,
                           int reg)
Return true if the operation defines the register.

Parameters:
opcode - specifies the instruction
instr - specifies the register encoded in the instruction as the destination register
reg - is the register being tested

uses

public static boolean uses(int opcode,
                           int instr,
                           int reg)
Return true if the operation uses the register.

Parameters:
opcode - specifies the instruction
instr - specifies the register encoded in the instruction as a source register
reg - is the register being tested

setsCC

public static boolean setsCC(int cc,
                             int opcode)
Return true if the instruction sets the CC flag specified.

Parameters:
cc - specifies the cc flag
opcode - is the instruction opcode

usesCC

public static boolean usesCC(int cc,
                             int opcode)
Return true if the instruction uses the CC flag specified.

Parameters:
cc - specifies the cc flag