14.06.2015 Views

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Version</strong> <strong>2.03</strong><br />

Appendix B. VLE Instruction Set Sorted by Opcode<br />

This appendix lists all the instructions available in VLE mode in the <strong>Power</strong>PC Architecture, in order by opcode.<br />

Opcodes that are not defined below are treated as illegal by category VLE.<br />

Opcode<br />

(hexadecimal)<br />

Cat 1 Mnemonic Instruction<br />

C 0000---- VLE se_illegal Illegal<br />

C 0001---- VLE se_isync Instruction Synchronize<br />

C 0002---- VLE se_sc System Call<br />

C 0004---- VLE se_blr Branch To Link Register [and Link]<br />

C 0006---- VLE se_bctr Branch To Count Register [and Link]<br />

C 0008---- P VLE se_rfi Return from Interrupt<br />

C 0009---- P VLE se_rfci Return From Critical Interrupt<br />

C 000A---- P VLE se_rfdi Return From Debug Interrupt<br />

C 000B---- P VLE se_rfmci Return From Machine Check Interrupt<br />

R 0020---- VLE se_not NOT Short Form<br />

R 0030---- VLE se_neg Negate Short Form<br />

R 0080---- VLE se_mflr Move From Link Register<br />

R 0090---- VLE se_mtlr Move To Link Register<br />

R 00A0---- VLE se_mfctr Move From Count Register<br />

R 00B0---- VLE se_mtctr Move To Count Register<br />

R 00C0---- VLE se_extzb Extend Zero Byte<br />

R 00D0---- VLE se_extsb Extend Sign Byte Short Form<br />

R 00E0---- VLE se_extzh Extend Zero Halfword<br />

R 00F0---- VLE se_extsh Extend Sign Halfword Short Form<br />

RR 0100---- VLE se_mr Move Register<br />

RR 0200---- VLE se_mtar Move To Alternate Register<br />

RR 0300---- VLE se_mfar Move from Alternate Register<br />

RR 0400---- VLE se_add Add Short Form<br />

RR 0500---- VLE se_mullw Multiply Low Word Short Form<br />

RR 0600---- VLE se_sub Subtract<br />

RR 0700---- VLE se_subf Subtract From Short Form<br />

RR 0C00---- VLE se_cmp Compare Word<br />

RR 0D00---- VLE se_cmpl Compare Logical Word<br />

RR 0E00---- VLE se_cmph Compare Halfword Short Form<br />

RR 0F00---- VLE se_cmphl Compare Halfword Logical Short Form<br />

VX 10000000 VEC vaddubm Vector Add Unsigned Byte Modulo<br />

VX 10000002 VEC vmaxub Vector Maximum Unsigned Byte<br />

VX 10000004 VEC vrlb Vector Rotate Left Byte<br />

VX 10000006 VEC vcmpequb[.] Vector Compare Equal To Unsigned Byte<br />

VX 10000008 VEC vmuloub Vector Multiply Odd Unsigned Byte<br />

VX 1000000A VEC vaddfp Vector Add Floating-Point<br />

VX 1000000C VEC vmrghb Vector Merge High Byte<br />

VX 1000000E VEC vpkuhum Vector Pack Unsigned Halfword Unsigned Modulo<br />

X 10000010 SR LIM mulhhwu[o][.] Multiply High Halfword to Word Unsigned<br />

X 10000018 SR LIM machhwu[o][.] Multiply Accumulate High Halfword to Word Modulo<br />

Unsigned<br />

VA 10000020 VEC vmhaddshs Vector Multiply-High-Add Signed Halfword Saturate<br />

VA 10000021 VEC vmhraddshs Vector Multiply-High-Round-Add Signed Halfword<br />

Saturate<br />

VA 10000022 VEC vmladduhm Vector Multiply-Low-Add Unsigned Halfword Modulo<br />

Form<br />

Mode<br />

Dep. 1<br />

Priv 1<br />

Appendix B. VLE Instruction Set Sorted by Opcode<br />

709

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!