Instructions

Instructions for each machine:

or32 MEM - Memory


or32 ALU - ALU


or32 FPU - FPU


or32 BR - Branch


or32 or32 - Generic OpenRISC 1000 32-bit CPU


or32nd MEM - Memory


or32nd ALU - ALU


or32nd FPU - FPU


or32nd BR - Branch


or32nd or32nd - Generic OpenRISC 1000 32-bit CPU with no branch delay slot


or64 MEM - Memory


or64 ALU - ALU


or64 FPU - FPU


or64 BR - Branch


or64 or64 - Generic OpenRISC 1000 64-bit CPU


or64nd MEM - Memory


or64nd ALU - ALU


or64nd FPU - FPU


or64nd BR - Branch


or64nd or64nd - Generic OpenRISC 1000 ND 64-bit CPU with no branch delay slot


Individual instructions descriptions


l-add - l.add reg/reg/reg

l-addc - l.addc reg/reg/reg

l-addi - l.addi reg/reg/simm16

l-addic - l.addic reg/reg/simm16

l-adrp - adrp reg/disp21

l-and - l.and reg/reg/reg

l-andi - l.and reg/reg/uimm16

l-bf - branch if condition bit set (pc relative iaddr)

l-bnf - branch if condition bit not set (pc relative iaddr)

l-cmov - l.cmov reg/reg/reg

l-csync - context sync

l-cust1 - l.cust1

l-cust2 - l.cust2

l-cust3 - l.cust3

l-cust4 - l.cust4

l-cust5 - l.cust5

l-cust6 - l.cust6

l-cust7 - l.cust7

l-cust8 - l.cust8

l-div - divide (signed)

l-divu - divide (unsigned)

l-extbs - l.extbs reg/reg

l-extbz - l.extbz reg/reg

l-exths - l.exths reg/reg

l-exthz - l.exthz reg/reg

l-extws - l.extws reg/reg

l-extwz - l.extwz reg/reg

l-ff1 - find first '1'

l-fl1 - find last '1'

l-j - jump (pc-relative iaddr)

l-jal - jump and link (pc-relative iaddr)

l-jalr - jump register and link (absolute iaddr)

l-jr - jump register (absolute iaddr)

l-lbs - l.lbs reg/simm16(reg)

l-lbz - l.lbz reg/simm16(reg)

l-lhs - l.lhs reg/simm16(reg)

l-lhz - l.lhz reg/simm16(reg)

l-lwa - l.lwa reg/simm16(reg)

l-lws - l.lws reg/simm16(reg)

l-lwz - l.lwz reg/simm16(reg)

l-mac - l.mac reg/reg

l-maci - l.maci reg/simm16

l-macrc - macrc reg

l-macu - l.macu reg/reg

l-mfspr - mfspr

l-movhi - movhi reg/uimm16

l-msb - l.msb reg/reg

l-msbu - l.msbu reg/reg

l-msync - memory sync

l-mtspr - mtspr

l-mul - l.mul reg/reg/reg

l-muld - l.muld reg/reg

l-muldu - l.muld reg/reg

l-muli - l.muli reg/reg/simm16

l-mulu - l.mulu reg/reg/reg

l-nop - nop

l-nop-imm - nop uimm16

l-or - l.or reg/reg/reg

l-ori - l.or reg/reg/uimm16

l-psync - pipeline sync

l-rfe - return from exception

l-ror - l.ror reg/reg/reg

l-rori - l.ror reg/reg/uimm6

l-sb - l.sb simm16(reg)/reg

l-sfeq - l.eq reg/reg

l-sfeqi - l.sfeqi reg/simm16

l-sfges - l.sfges reg/reg

l-sfgesi - l.sfgesi reg/simm16

l-sfgeu - l.sfgeu reg/reg

l-sfgeui - l.sfgeui reg/simm16

l-sfgts - l.sfgts reg/reg

l-sfgtsi - l.sfgtsi reg/simm16

l-sfgtu - l.sfgtu reg/reg

l-sfgtui - l.sfgtui reg/simm16

l-sfles - l.sfles reg/reg

l-sflesi - l.sflesi reg/simm16

l-sfleu - l.sfleu reg/reg

l-sfleui - l.sfleui reg/simm16

l-sflts - l.sflts reg/reg

l-sfltsi - l.sfltsi reg/simm16

l-sfltu - l.sfltu reg/reg

l-sfltui - l.sfltui reg/simm16

l-sfne - l.ne reg/reg

l-sfnei - l.sfnei reg/simm16

l-sh - l.sh simm16(reg)/reg

l-sll - l.sll reg/reg/reg

l-slli - l.sll reg/reg/uimm6

l-sra - l.sra reg/reg/reg

l-srai - l.sra reg/reg/uimm6

l-srl - l.srl reg/reg/reg

l-srli - l.srl reg/reg/uimm6

l-sub - l.sub reg/reg/reg

l-sw - l.sw simm16(reg)/reg

l-swa - l.swa simm16(reg)/reg

l-sys - syscall (exception)

l-trap - trap (exception)

l-xor - l.xor reg/reg/reg

l-xori - l.xor reg/reg/simm16

lf-add-d - lf.add.d reg/reg/reg

lf-add-d32 - lf.add.d regpair/regpair/regpair

lf-add-s - lf.add.s reg/reg/reg

lf-cust1-d - lf.cust1.d

lf-cust1-d32 - lf.cust1.d

lf-cust1-s - lf.cust1.s

lf-div-d - lf.div.d reg/reg/reg

lf-div-d32 - lf.div.d regpair/regpair/regpair

lf-div-s - lf.div.s reg/reg/reg

lf-ftoi-d - lf.ftoi.d reg/reg

lf-ftoi-d32 - lf.ftoi.d regpair/regpair

lf-ftoi-s - lf.ftoi.s reg/reg

lf-itof-d - lf.itof.d reg/reg

lf-itof-d32 - lf.itof.d regpair/regpair

lf-itof-s - lf.itof.s reg/reg

lf-madd-d - lf.madd.d reg/reg/reg

lf-madd-d32 - lf.madd.d regpair/regpair/regpair

lf-madd-s - lf.madd.s reg/reg/reg

lf-mul-d - lf.mul.d reg/reg/reg

lf-mul-d32 - lf.mul.d regpair/regpair/regpair

lf-mul-s - lf.mul.s reg/reg/reg

lf-rem-d - lf.rem.d reg/reg/reg

lf-rem-d32 - lf.rem.d regpair/regpair/regpair

lf-rem-s - lf.rem.s reg/reg/reg

lf-sfeq-d - lf.sfeq.d reg/reg

lf-sfeq-d32 - lf.sfeq.d regpair/regpair

lf-sfeq-s - lf.sfeq.s reg/reg

lf-sfge-d - lf.sfge.d reg/reg

lf-sfge-d32 - lf.sfge.d regpair/regpair

lf-sfge-s - lf.sfge.s reg/reg

lf-sfgt-d - lf.sfgt.d reg/reg

lf-sfgt-d32 - lf.sfgt.d regpair/regpair

lf-sfgt-s - lf.sfgt.s reg/reg

lf-sfle-d - lf.sfle.d reg/reg

lf-sfle-d32 - lf.sfle.d regpair/regpair

lf-sfle-s - lf.sfle.s reg/reg

lf-sflt-d - lf.sflt.d reg/reg

lf-sflt-d32 - lf.sflt.d regpair/regpair

lf-sflt-s - lf.sflt.s reg/reg

lf-sfne-d - lf.sfne.d reg/reg

lf-sfne-d32 - lf.sfne.d regpair/regpair

lf-sfne-s - lf.sfne.s reg/reg

lf-sfueq-d - lf.sfueq.d reg/reg

lf-sfueq-d32 - lf.sfueq.d regpair/regpair

lf-sfueq-s - lf.sfueq.s reg/reg

lf-sfuge-d - lf.sfuge.d reg/reg

lf-sfuge-d32 - lf.sfuge.d regpair/regpair

lf-sfuge-s - lf.sfuge.s reg/reg

lf-sfugt-d - lf.sfugt.d reg/reg

lf-sfugt-d32 - lf.sfugt.d regpair/regpair

lf-sfugt-s - lf.sfugt.s reg/reg

lf-sfule-d - lf.sfule.d reg/reg

lf-sfule-d32 - lf.sfule.d regpair/regpair

lf-sfule-s - lf.sfule.s reg/reg

lf-sfult-d - lf.sfult.d reg/reg

lf-sfult-d32 - lf.sfult.d regpair/regpair

lf-sfult-s - lf.sfult.s reg/reg

lf-sfun-d - lf.sfun.d reg/reg

lf-sfun-d32 - lf.sfun.d regpair/regpair

lf-sfun-s - lf.sfun.s reg/reg

lf-sfune-d - lf.sfune.d reg/reg

lf-sfune-d32 - lf.sfune.d regpair/regpair

lf-sfune-s - lf.sfune.s reg/reg

lf-sub-d - lf.sub.d reg/reg/reg

lf-sub-d32 - lf.sub.d regpair/regpair/regpair

lf-sub-s - lf.sub.s reg/reg/reg


Macro Instructions

Macro instructions for each machine:

or32 - Generic OpenRISC 1000 32-bit CPU

or32nd - Generic OpenRISC 1000 32-bit CPU with no branch delay slot

or64 - Generic OpenRISC 1000 64-bit CPU

or64nd - Generic OpenRISC 1000 ND 64-bit CPU with no branch delay slot

Individual macro-instructions descriptions



This documentation was machine generated from the cgen cpu description files for this architecture.
https://sourceware.org/cgen/