Instructions

Instructions for each machine:

epiphany32 ALU - ALU


epiphany32 BR - Branch


epiphany32 epiphany32 - Adapteva EPIPHANY


Individual instructions descriptions


add - add

add16 - add

addi - add

addi16 - add

and - and

and16 - and

asr - asr

asr16 - asr

asri16 - asr

asri32 - asr

b - long unconditional branch

b16 - short unconditional branch

bbeq - Conditional Branch beq

bbeq16 - Conditional Branch - 16 bitbeq

bblt - Conditional Branch blt

bblt16 - Conditional Branch - 16 bitblt

bblte - Conditional Branch blte

bblte16 - Conditional Branch - 16 bitblte

bbne - Conditional Branch bne

bbne16 - Conditional Branch - 16 bitbne

beq - Conditional Branch eq

beq16 - Conditional Branch - 16 biteq

bgt - Conditional Branch gt

bgt16 - Conditional Branch - 16 bitgt

bgte - Conditional Branch gte

bgte16 - Conditional Branch - 16 bitgte

bgteu - Conditional Branch gteu

bgteu16 - Conditional Branch - 16 bitgteu

bgtu - Conditional Branch gtu

bgtu16 - Conditional Branch - 16 bitgtu

bitr - bit reverse

bitr16 - bit reverse short

bkpt - breakpoint

bl - branch and link

bl16 - branch and link

blt - Conditional Branch lt

blt16 - Conditional Branch - 16 bitlt

blte - Conditional Branch lte

blte16 - Conditional Branch - 16 bitlte

blteu - Conditional Branch lteu

blteu16 - Conditional Branch - 16 bitlteu

bltu - Conditional Branch ltu

bltu16 - Conditional Branch - 16 bitltu

bne - Conditional Branch ne

bne16 - Conditional Branch - 16 bitne

cmov16B - move register B

cmov16BEQ - move register BEQ

cmov16BLT - move register BLT

cmov16BLTE - move register BLTE

cmov16BNE - move register BNE

cmov16EQ - move register EQ

cmov16GT - move register GT

cmov16GTE - move register GTE

cmov16GTEU - move register GTEU

cmov16GTU - move register GTU

cmov16LT - move register LT

cmov16LTE - move register LTE

cmov16LTEU - move register LTEU

cmov16LTU - move register LTU

cmov16NE - move register NE

cmovB - move register B

cmovBEQ - move register BEQ

cmovBLT - move register BLT

cmovBLTE - move register BLTE

cmovBNE - move register BNE

cmovEQ - move register EQ

cmovGT - move register GT

cmovGTE - move register GTE

cmovGTEU - move register GTEU

cmovGTU - move register GTU

cmovLT - move register LT

cmovLTE - move register LTE

cmovLTEU - move register LTEU

cmovLTU - move register LTU

cmovNE - move register NE

eor - eor

eor16 - eor

f_absf16 - f_abs

f_absf32 - f_abs

f_addf16 - f_add

f_addf32 - f_add

f_ixf16 - f_ix

f_ixf32 - f_ix

f_loatf16 - f_loat

f_loatf32 - f_loat

f_maddf16 - f_madd

f_maddf32 - f_madd

f_msubf16 - f_msub

f_msubf32 - f_msub

f_mulf16 - f_mul

f_mulf32 - f_mul

f_recipf32 - f_recip

f_sqrtf32 - f_sqrt

f_subf16 - f_sub

f_subf32 - f_sub

fdep - fdep

fext - fext

gidis - global interrupt disable

gien - global interrupt enable

idle - idle until interrupt

jalr - jump and link register

jalr16 - jump and link register

jr - unconditional jump

jr16 - unconditional jump 16

ldrbd.l - load QI displacement

ldrbd16.s - load QI displacement

ldrbdpm.l - load QI displacement post-modify

ldrbp.l - load QI postmodify

ldrbp16.s - load QI postmodify

ldrbx.l - load QI indexed

ldrbx16.s - load QI indexed

ldrd.l - load SI displacement

ldrd16.s - load SI displacement

ldrdd.l - load DI displacement

ldrdd16.s - load DI displacement

ldrddpm.l - load DI displacement post-modify

ldrdp.l - load DI postmodify

ldrdp16.s - load DI postmodify

ldrdpm.l - load SI displacement post-modify

ldrdx.l - load DI indexed

ldrdx16.s - load DI indexed

ldrhd.l - load HI displacement

ldrhd16.s - load HI displacement

ldrhdpm.l - load HI displacement post-modify

ldrhp.l - load HI postmodify

ldrhp16.s - load HI postmodify

ldrhx.l - load HI indexed

ldrhx16.s - load HI indexed

ldrp.l - load SI postmodify

ldrp16.s - load SI postmodify

ldrx.l - load SI indexed

ldrx16.s - load SI indexed

lfsr - lfsr

lsl - lsl

lsl16 - lsl

lsli16 - lsl

lsli32 - lsl

lsr - lsr

lsr16 - lsr

lsri16 - lsr

lsri32 - lsr

mbkpt - multicorebreakpoint

mov16 - mov imm16

mov8 - mov imm8

movfs16 - move from special register

movfs6 - move from 6

movfsdma - move from dma

movfsmem - move from mem

movfsmesh - move from mesh

movt - movt imm16

movts16 - move to special reg

movts6 - move to 6

movtsdma - move to dma

movtsmem - move to mem

movtsmesh - move to mesh

nop - no-operation

orr - orr

orr16 - orr

rti - return from interrupt

rts - return from subroutine

snop - no-operation

strbd - store QI displacement

strbd16 - store QI displacement

strbdpm - store QI displacement post-modify

strbp - store QI postmodify

strbp16 - store QI postmodify

strbx - storeQI indexed

strbx16 - storeQI indexed

strd - store SI displacement

strd16 - store SI displacement

strdd - store DI displacement

strdd16 - store DI displacement

strddpm - store DI displacement post-modify

strdp - store DI postmodify

strdp16 - store DI postmodify

strdpm - store SI displacement post-modify

strdx - storeDI indexed

strdx16 - storeDI indexed

strhd - store HI displacement

strhd16 - store HI displacement

strhdpm - store HI displacement post-modify

strhp - store HI postmodify

strhp16 - store HI postmodify

strhx - storeHI indexed

strhx16 - storeHI indexed

strp - store SI postmodify

strp16 - store SI postmodify

strx - storeSI indexed

strx16 - storeSI indexed

sub - sub

sub16 - sub

subi - sub

subi16 - sub

swi - software interrupt

swi_num - software interrupt

sync - sync

testsetbt - testset QI indexed

testsetht - testset HI indexed

testsett - testset SI indexed

trap16 - trap to simulator

unimpl - not-implemented

wand - wand


Macro Instructions

Macro instructions for each machine:

epiphany32 - Adapteva EPIPHANY

Individual macro-instructions descriptions


add.l - add

addi32m - relaxed long immediate add

addi32r - relaxed long immediate add

addir - relaxable short immediate add

and.l - and

asr.l - asr

asri32.l - asr

b16r - relaxable b16

b32r - relaxable b

bbeq16r - relaxable conditional branch

bbeq32r - relaxable conditional branch

bblt16r - relaxable conditional branch

bblt32r - relaxable conditional branch

bblte16r - relaxable conditional branch

bblte32r - relaxable conditional branch

bbne16r - relaxable conditional branch

bbne32r - relaxable conditional branch

beq16r - relaxable conditional branch

beq32r - relaxable conditional branch

bgt16r - relaxable conditional branch

bgt32r - relaxable conditional branch

bgte16r - relaxable conditional branch

bgte32r - relaxable conditional branch

bgteu16r - relaxable conditional branch

bgteu32r - relaxable conditional branch

bgtu16r - relaxable conditional branch

bgtu32r - relaxable conditional branch

bitrl - bit reverse l

bl16r - bl16 relaxable

blr - bl relaxable

blt16r - relaxable conditional branch

blt32r - relaxable conditional branch

blte16r - relaxable conditional branch

blte32r - relaxable conditional branch

blteu16r - relaxable conditional branch

blteu32r - relaxable conditional branch

bltu16r - relaxable conditional branch

bltu32r - relaxable conditional branch

bne16r - relaxable conditional branch

bne32r - relaxable conditional branch

cmov.lB - move register B

cmov.lBEQ - move register BEQ

cmov.lBLT - move register BLT

cmov.lBLTE - move register BLTE

cmov.lBNE - move register BNE

cmov.lEQ - move register EQ

cmov.lGT - move register GT

cmov.lGTE - move register GTE

cmov.lGTEU - move register GTEU

cmov.lGTU - move register GTU

cmov.lLT - move register LT

cmov.lLTE - move register LTE

cmov.lLTEU - move register LTEU

cmov.lLTU - move register LTU

cmov.lNE - move register NE

eor.l - eor

f_absf32.l - f_abs

f_addf32.l - f_add

f_ixf32.l - f_ix

f_loatf32.l - f_loat

f_maddf32.l - f_madd

f_msubf32.l - f_msub

f_mulf32.l - f_mul

f_recipf32.l - f_recip

f_sqrtf32.l - f_sqrt

f_subf32.l - f_sub

fdep.l - fdep

fext.l - fext

i_addf16 - i_add

i_addf32 - i_add

i_addf32.l - i_add

i_maddf16 - i_madd

i_maddf32 - i_madd

i_maddf32.l - i_madd

i_msubf16 - i_msub

i_msubf32 - i_msub

i_msubf32.l - i_msub

i_mulf16 - i_mul

i_mulf32 - i_mul

i_mulf32.l - i_mul

i_subf16 - i_sub

i_subf32 - i_sub

i_subf32.l - i_sub

ldrbd - load QI displacement

ldrbdl0 - load with 0 disp

ldrbdl0.l - load with 0 disp

ldrbdpm - load QI displacement post-modify

ldrbds0 - load with 0 disp

ldrbp - load QI postmodify

ldrbx - load QI indexed

ldrd - load SI displacement

ldrdd - load DI displacement

ldrddl0 - load with 0 disp

ldrddl0.l - load with 0 disp

ldrddpm - load DI displacement post-modify

ldrdds0 - load with 0 disp

ldrdl0 - load with 0 disp

ldrdl0.l - load with 0 disp

ldrdp - load DI postmodify

ldrdpm - load SI displacement post-modify

ldrds0 - load with 0 disp

ldrdx - load DI indexed

ldrhd - load HI displacement

ldrhdl0 - load with 0 disp

ldrhdl0.l - load with 0 disp

ldrhdpm - load HI displacement post-modify

ldrhds0 - load with 0 disp

ldrhp - load HI postmodify

ldrhx - load HI indexed

ldrp - load SI postmodify

ldrx - load SI indexed

lfsr.l - lfsr

lsl.l - lsl

lsli32.l - lsl

lsr.l - lsr

lsri32.l - lsr

mov16r - mov imm16 relaxable

mov8r - mov imm8 relaxable

movfs.l6 - move from 6

movfs.ldma - move from dma

movfs.lmem - move from mem

movfs.lmesh - move from mesh

movtl - movt imm16

movts.l6 - move to 6

movts.ldma - move to dma

movts.lmem - move to mem

movts.lmesh - move to mesh

orr.l - orr

strbd.l - store QI displacement

strbdl0 - store w 0 disp

strbdl0.l - store w 0 disp

strbdpm.l - store QI displacement post-modify

strbds0 - store w 0 disp

strbp.l - store QI postmodify

strbx.l - storeQI indexed

strd.l - store SI displacement

strdd.l - store DI displacement

strddl0 - store w 0 disp

strddl0.l - store w 0 disp

strddpm.l - store DI displacement post-modify

strdds0 - store w 0 disp

strdl0 - store w 0 disp

strdl0.l - store w 0 disp

strdp.l - store DI postmodify

strdpm.l - store SI displacement post-modify

strds0 - store w 0 disp

strdx.l - storeDI indexed

strhd.l - store HI displacement

strhdl0 - store w 0 disp

strhdl0.l - store w 0 disp

strhdpm.l - store HI displacement post-modify

strhds0 - store w 0 disp

strhp.l - store HI postmodify

strhx.l - storeHI indexed

strp.l - store SI postmodify

strx.l - storeSI indexed

sub.l - sub

subi32m - relaxed long immediate sub

subi32r - relaxed long immediate sub

subir - relaxable short immediate sub

testsetbt.l - testset QI.l indexed

testsetht.l - testset HI.l indexed

testsett.l - testset SI.l indexed


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