Files
xenia-rs/migration/project-root/ppc-manual/forms/VX.md
MechaCat02 e6d43a23ac chore: add migration/ bundle for cross-machine setup
Bundles state that lives OUTSIDE the xenia-rs repo so a fresh clone on
another machine can be brought up to identical configuration via
migration/setup.sh:

  - claude-memory/             ~/.claude/projects/-home-fabi-RE-Project-Sylpheed/memory/
                               (103 files, 1.1 MB - MEMORY.md + every
                                project_xenia_rs_*.md from audits
                                addis_signext through audit-058)
  - project-root/dot-claude/   <project-root>/.claude/settings.json
                               (Stop hook + permissions)
  - project-root/ppc-manual/   <project-root>/ppc-manual/
                               (PowerPC reference docs, 397 files, 3.7 MB)
  - project-root/run-canary.sh <project-root>/run-canary.sh
  - README.md                  Human-readable setup checklist
  - setup.sh                   Idempotent installer (also reclones
                               xenia-canary at pinned HEAD 6de80dffe)
  - MANIFEST.md                Per-file mapping + per-file-not-bundled
                               restoration recipe

Excluded from bundle (not shippable via git):
  - Sylpheed ISO (7.8 GB; copyright; manual copy required)
  - sylpheed.db (395 MB; regenerable from XEX via analysis tooling)
  - target/ build artifacts (rebuild on target)
  - audit-runs probe firehoses (.log/.stdout/.stderr ~11 GB; rerun if needed)
  - audit-runs memory dumps (.bin ~4.5 GB; rerun audit-026/027/029 if needed)
  - xenia-canary checkout (setup.sh reclones from
    git.mc02.dev/fabi/Xenia-Canary.git at HEAD 6de80dffe)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 21:38:38 +02:00

11 KiB
Raw Blame History

Form VX — VX — Vector (3-operand Altivec)

Bit Layout

Bits Field Meaning
05 OPCD primary opcode (4)
610 VRT/VD destination vector register
1115 VRA/VA source A vector register
1620 VRB/VB source B vector register
2131 XO extended opcode (11 bits)

Instructions Using This Form

Mnemonic Opcode Group Description
vaddubm 0x10000000 vmx Vector Add Unsigned Byte Modulo
vmaxub 0x10000002 vmx Vector Maximum Unsigned Byte
vrlb 0x10000004 vmx Vector Rotate Left Integer Byte
vmuloub 0x10000008 vmx Vector Multiply Odd Unsigned Byte
vaddfp 0x1000000a vmx Vector Add Floating Point
vmrghb 0x1000000c vmx Vector Merge High Byte
vpkuhum 0x1000000e vmx Vector Pack Unsigned Half Word Unsigned Modulo
vadduhm 0x10000040 vmx Vector Add Unsigned Half Word Modulo
vmaxuh 0x10000042 vmx Vector Maximum Unsigned Half Word
vrlh 0x10000044 vmx Vector Rotate Left Integer Half Word
vmulouh 0x10000048 vmx Vector Multiply Odd Unsigned Half Word
vsubfp 0x1000004a vmx Vector Subtract Floating Point
vmrghh 0x1000004c vmx Vector Merge High Half Word
vpkuwum 0x1000004e vmx Vector Pack Unsigned Word Unsigned Modulo
vadduwm 0x10000080 vmx Vector Add Unsigned Word Modulo
vmaxuw 0x10000082 vmx Vector Maximum Unsigned Word
vrlw 0x10000084 vmx Vector Rotate Left Integer Word
vmrghw 0x1000008c vmx Vector Merge High Word
vpkuhus 0x1000008e vmx Vector Pack Unsigned Half Word Unsigned Saturate
vpkuwus 0x100000ce vmx Vector Pack Unsigned Word Unsigned Saturate
vmaxsb 0x10000102 vmx Vector Maximum Signed Byte
vslb 0x10000104 vmx Vector Shift Left Integer Byte
vmulosb 0x10000108 vmx Vector Multiply Odd Signed Byte
vrefp 0x1000010a vmx Vector Reciprocal Estimate Floating Point
vmrglb 0x1000010c vmx Vector Merge Low Byte
vpkshus 0x1000010e vmx Vector Pack Signed Half Word Unsigned Saturate
vmaxsh 0x10000142 vmx Vector Maximum Signed Half Word
vslh 0x10000144 vmx Vector Shift Left Integer Half Word
vmulosh 0x10000148 vmx Vector Multiply Odd Signed Half Word
vrsqrtefp 0x1000014a vmx Vector Reciprocal Square Root Estimate Floating Point
vmrglh 0x1000014c vmx Vector Merge Low Half Word
vpkswus 0x1000014e vmx Vector Pack Signed Word Unsigned Saturate
vaddcuw 0x10000180 vmx Vector Add Carryout Unsigned Word
vmaxsw 0x10000182 vmx Vector Maximum Signed Word
vslw 0x10000184 vmx Vector Shift Left Integer Word
vexptefp 0x1000018a vmx Vector 2 Raised to the Exponent Estimate Floating Point
vmrglw 0x1000018c vmx Vector Merge Low Word
vpkshss 0x1000018e vmx Vector Pack Signed Half Word Signed Saturate
vsl 0x100001c4 vmx Vector Shift Left
vlogefp 0x100001ca vmx Vector Log2 Estimate Floating Point
vpkswss 0x100001ce vmx Vector Pack Signed Word Signed Saturate
vaddubs 0x10000200 vmx Vector Add Unsigned Byte Saturate
vminub 0x10000202 vmx Vector Minimum Unsigned Byte
vsrb 0x10000204 vmx Vector Shift Right Byte
vmuleub 0x10000208 vmx Vector Multiply Even Unsigned Byte
vrfin 0x1000020a vmx Vector Round to Floating-Point Integer Nearest
vspltb 0x1000020c vmx Vector Splat Byte
vupkhsb 0x1000020e vmx Vector Unpack High Signed Byte
vadduhs 0x10000240 vmx Vector Add Unsigned Half Word Saturate
vminuh 0x10000242 vmx Vector Minimum Unsigned Half Word
vsrh 0x10000244 vmx Vector Shift Right Half Word
vmuleuh 0x10000248 vmx Vector Multiply Even Unsigned Half Word
vrfiz 0x1000024a vmx Vector Round to Floating-Point Integer toward Zero
vsplth 0x1000024c vmx Vector Splat Half Word
vupkhsh 0x1000024e vmx Vector Unpack High Signed Half Word
vadduws 0x10000280 vmx Vector Add Unsigned Word Saturate
vminuw 0x10000282 vmx Vector Minimum Unsigned Word
vsrw 0x10000284 vmx Vector Shift Right Word
vrfip 0x1000028a vmx Vector Round to Floating-Point Integer toward +Infinity
vspltw 0x1000028c vmx Vector Splat Word
vupklsb 0x1000028e vmx Vector Unpack Low Signed Byte
vsr 0x100002c4 vmx Vector Shift Right
vrfim 0x100002ca vmx Vector Round to Floating-Point Integer toward -Infinity
vupklsh 0x100002ce vmx Vector Unpack Low Signed Half Word
vaddsbs 0x10000300 vmx Vector Add Signed Byte Saturate
vminsb 0x10000302 vmx Vector Minimum Signed Byte
vsrab 0x10000304 vmx Vector Shift Right Algebraic Byte
vmulesb 0x10000308 vmx Vector Multiply Even Signed Byte
vcfux 0x1000030a vmx Vector Convert from Unsigned Fixed-Point Word
vspltisb 0x1000030c vmx Vector Splat Immediate Signed Byte
vpkpx 0x1000030e vmx Vector Pack Pixel
vaddshs 0x10000340 vmx Vector Add Signed Half Word Saturate
vminsh 0x10000342 vmx Vector Minimum Signed Half Word
vsrah 0x10000344 vmx Vector Shift Right Algebraic Half Word
vmulesh 0x10000348 vmx Vector Multiply Even Signed Half Word
vcfsx 0x1000034a vmx Vector Convert from Signed Fixed-Point Word
vspltish 0x1000034c vmx Vector Splat Immediate Signed Half Word
vupkhpx 0x1000034e vmx Vector Unpack High Pixel
vaddsws 0x10000380 vmx Vector Add Signed Word Saturate
vminsw 0x10000382 vmx Vector Minimum Signed Word
vsraw 0x10000384 vmx Vector Shift Right Algebraic Word
vctuxs 0x1000038a vmx Vector Convert to Unsigned Fixed-Point Word Saturate
vspltisw 0x1000038c vmx Vector Splat Immediate Signed Word
vctsxs 0x100003ca vmx Vector Convert to Signed Fixed-Point Word Saturate
vupklpx 0x100003ce vmx Vector Unpack Low Pixel
vsububm 0x10000400 vmx Vector Subtract Unsigned Byte Modulo
vavgub 0x10000402 vmx Vector Average Unsigned Byte
vand 0x10000404 vmx Vector Logical AND
vmaxfp 0x1000040a vmx Vector Maximum Floating Point
vslo 0x1000040c vmx Vector Shift Left by Octet
vsubuhm 0x10000440 vmx Vector Subtract Unsigned Half Word Modulo
vavguh 0x10000442 vmx Vector Average Unsigned Half Word
vandc 0x10000444 vmx Vector Logical AND with Complement
vminfp 0x1000044a vmx Vector Minimum Floating Point
vsro 0x1000044c vmx Vector Shift Right Octet
vsubuwm 0x10000480 vmx Vector Subtract Unsigned Word Modulo
vavguw 0x10000482 vmx Vector Average Unsigned Word
vor 0x10000484 vmx Vector Logical OR
vxor 0x100004c4 vmx Vector Logical XOR
vavgsb 0x10000502 vmx Vector Average Signed Byte
vnor 0x10000504 vmx Vector Logical NOR
vavgsh 0x10000542 vmx Vector Average Signed Half Word
vsubcuw 0x10000580 vmx Vector Subtract Carryout Unsigned Word
vavgsw 0x10000582 vmx Vector Average Signed Word
vsububs 0x10000600 vmx Vector Subtract Unsigned Byte Saturate
mfvscr 0x10000604 control Move from VSCR
vsum4ubs 0x10000608 vmx Vector Sum Across Partial (1/4) Unsigned Byte Saturate
vsubuhs 0x10000640 vmx Vector Subtract Unsigned Half Word Saturate
mtvscr 0x10000644 control Move to VSCR
vsum4shs 0x10000648 vmx Vector Sum Across Partial (1/4) Signed Half Word Saturate
vsubuws 0x10000680 vmx Vector Subtract Unsigned Word Saturate
vsum2sws 0x10000688 vmx Vector Sum Across Partial (1/2) Signed Word Saturate
vsubsbs 0x10000700 vmx Vector Subtract Signed Byte Saturate
vsum4sbs 0x10000708 vmx Vector Sum Across Partial (1/4) Signed Byte Saturate
vsubshs 0x10000740 vmx Vector Subtract Signed Half Word Saturate
vsubsws 0x10000780 vmx Vector Subtract Signed Word Saturate
vsumsws 0x10000788 vmx Vector Sum Across Signed Word Saturate