blob: 8e25ff21746223967c2a17be88eddd803e92d65a [file] [log] [blame]
.macro RegReg insn
\insn r31, r0, r0
\insn r0, r31, r0
\insn r0, r0, r31
\insn r1, r2, r3
.endm
.macro RegImm insn
\insn r0, r0, 0
\insn r0, r0, -32768
\insn r0, r0, 32767
\insn r0, r31, 0
\insn r0, r31, -32768
\insn r0, r31, 32767
\insn r31, r0, 0
\insn r31, r0, -32768
\insn r31, r0, 32767
.endm
.macro RegUImm insn
\insn r0, r0, 0
\insn r0, r0, 65535
\insn r0, r31, 0
\insn r0, r31, 65535
\insn r31, r0, 0
\insn r31, r0, 65535
.endm
RegReg add
RegImm addi
RegReg and
RegUImm andi
RegUImm andhi
andhi r0, r0, hi(0x0000ffff)
andhi r0, r0, hi(0xffff0000)
bi label
b r0
b r31
be r0, r0, label
be r1, r2, label
bg r0, r0, label
bg r1, r2, label
bge r0, r0, label
bge r1, r2, label
bgeu r0, r0, label
bgeu r1, r2, label
bgu r0, r0, label
bgu r1, r2, label
bne r0, r0, label
bne r1, r2, label
calli label
call r0
call r31
RegReg cmpe
RegImm cmpei
RegReg cmpg
RegImm cmpgi
RegReg cmpge
RegImm cmpgei
RegReg cmpgeu
RegUImm cmpgeui
RegReg cmpgu
RegUImm cmpgui
RegReg cmpne
RegImm cmpnei
RegReg divu
RegReg modu
RegReg mul
RegImm muli
RegReg nor
RegUImm nori
RegReg or
RegUImm ori
ori r0, r0, lo(0xffff0000)
ori r0, r0, lo(0x0000ffff)
RegUImm orhi
orhi r0, r0, hi(0x0000ffff)
orhi r0, r0, hi(0xffff0000)
RegReg sl
RegReg sr
RegReg sru
sli r0, r0, 0
sli r0, r0, 31
sri r0, r0, 0
sri r0, r0, 31
srui r0, r0, 0
srui r0, r0, 31
RegReg sub
RegReg xnor
RegUImm xnori
RegReg xor
RegUImm xori
sextb r0, r0
sextb r31, r0
sextb r0, r31
sextb r2, r1
sexth r0, r0
sexth r31, r0
sexth r0, r31
sexth r2, r1
lb r0, (r0+0)
lb r1, (r2+3)
lbu r0, (r0+0)
lbu r1, (r2+3)
lh r0, (r0+0)
lh r1, (r2+3)
lhu r0, (r0+0)
lhu r1, (r2+3)
lw r0, (r0+0)
lw r1, (r2+3)
sb (r0+0), r0
sb (r1+2), r3
sh (r0+0), r0
sh (r1+2), r3
sw (r0+0), r0
sw (r1+2), r3
break
scall
eret
bret
ret
mvi r0, 0
mv r0, r0
mvhi r0, 0
mvhi r0, hi(0)
not r0, r0