Files
Sylpheed/tools/ppc-manual/forms/VX128_3.md
MechaCat02 6bdbf89ebc
All checks were successful
CI / Native — linux (pull_request) Successful in 37m56s
CI / WASM — Web (pull_request) Successful in 28m5s
CI / Formatting (pull_request) Successful in 59s
chore(tools): adopt the PPC manual and a canary launcher that works anywhere
CONSOLIDATION.md Phase 6. Both lived untracked in the project root -- on one
disk, backed up by nothing.

  tools/ppc-manual/   393 files, 3.7 MB. 455 instructions, 350 family pages,
                      598 mnemonics resolvable through index.json, plus the
                      generator that produced them.
  tools/run-canary.sh the oracle launcher.

🔴 THE LAUNCHER WAS BROKEN IN TWO WAYS AND IS REWRITTEN, not copied:

  * it pointed at `xenia-rs/sylpheed.iso`, a SYMLINK. Wine cannot resolve one
    and says "path invalid", which reads as a corrupt image rather than a path
    problem -- it has cost a session before. It now points at the real file and
    warns if handed a symlink.
  * it hardcoded one machine's absolute paths, and named `xenia-rs`, which this
    consolidation retires. Now derived from the script's own location, with
    SYLPH_CANARY_BIN / SYLPH_ISO overrides and a check that each exists.

The standing constraints are in its header where someone will read them: one
emulator at a time, Canary runs MUTED, and never judge a crash or a hang from
a Bash-launched run -- a SIGKILL that looked like the binary was the editor's
process supervisor.

⚠️ The manual's GENERATOR reads the xenia-rs source tree, which is going away.
Its decoder now lives here as crates/sylpheed-ppc, so the generator must be
repointed before it is run again. Recorded in the README rather than left for
someone to discover; the manual's content is checked in and regenerates from
nothing implicitly.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:18:00 +02:00

2.3 KiB
Raw Blame History

Form VX128_3 — VX128_3 — VMX128 unary with immediate

Bit Layout

Bits Field Meaning
05 OPCD primary opcode (6)
610 VD128l destination low 5 bits
1115 IMM 5-bit immediate
1620 VB128l source B low 5 bits
2127 XO extended opcode
2829 VD128h destination high 2 bits
3031 VB128h source B high 2 bits

Instructions Using This Form

Mnemonic Opcode Group Description
vcfpsxws128 0x18000230 vmx Vector128 Convert From Floating-Point to Signed Fixed-Point Word Saturate
vcfpuxws128 0x18000270 vmx Vector128 Convert From Floating-Point to Unsigned Fixed-Point Word Saturate
vcsxwfp128 0x180002b0 vmx Vector128 Convert From Signed Fixed-Point Word to Floating-Point
vcuxwfp128 0x180002f0 vmx Vector128 Convert From Unsigned Fixed-Point Word to Floating-Point
vrfim128 0x18000330 vmx Vector128 Round to Floating-Point Integer toward -Infinity
vrfin128 0x18000370 vmx Vector128 Round to Floating-Point Integer Nearest
vrfip128 0x180003b0 vmx Vector128 Round to Floating-Point Integer toward +Infinity
vrfiz128 0x180003f0 vmx Vector128 Round to Floating-Point Integer toward Zero
vrefp128 0x18000630 vmx Vector128 Reciprocal Estimate Floating Point
vrsqrtefp128 0x18000670 vmx Vector128 Reciprocal Square Root Estimate Floating Point
vexptefp128 0x180006b0 vmx Vector128 Log2 Estimate Floating Point
vlogefp128 0x180006f0 vmx Vector128 Log2 Estimate Floating Point
vspltw128 0x18000730 vmx Vector128 Splat Word
vspltisw128 0x18000770 vmx Vector128 Splat Immediate Signed Word
vupkd3d128 0x180007f0 vmx Vector128 Unpack D3Dtype