SysadminNews

x86 WBINVD hints: an allocation is not a CPU launch

On this page
  1. Begin with the existing instruction
  2. Decoding and execution are different claims
  3. Test a decoder without executing the instruction
  4. Leave the manufacturer unknown
  5. Sources

Christian Ludloff’s 28 August message reserves meanings for WBINVD prefixes used by an unnamed entity outside Intel and AMD. It is useful architecture information for tooling, but it does not identify a manufacturer or announce a processor for sale.

A decoder recognizing WBINVD prefix bytes does not establish hardware support. Implemented hints follow the target semantics; unsupported new hints retain classic WBINVD/WBNOINVD behaviour as described by Ludloff.
A decoder recognizing WBINVD prefix bytes does not establish hardware support. Implemented hints follow the target semantics; unsupported new hints retain classic WBINVD/WBNOINVD behaviour as described by Ludloff. Chart : PeopleAreGeek. Data source.
View full-size image

Begin with the existing instruction

The original mailing-list post starts from WBINVD’s writeback and invalidation behaviour. It also explains that the F3-prefixed WBNOINVD behaviour already exists on supporting AMD and Intel implementations. Treating F3 as a completely new invention by this unnamed entity would be misleading.

The message describes hints for skipping instruction caches, data caches or the last-level cache, plus implementation-specific choices. Its explicit purpose is to avoid conflicting assignments. The updated sandpile opcode reference is linked by the author.

Decoding and execution are different claims

A disassembler can display a documented encoding without proving that the machine executing it implements the associated hint. The post says unsupported new hints retain the classic WBINVD/WBNOINVD behaviour and introduces no new CPUID flag for this group. Existing WBNOINVD support must still be distinguished from the newly described allocations.

The diagram shows this decision boundary. It is not a benchmark, a cache hierarchy for a named chip or a recommendation to run privileged cache operations. For a tool author, preserving the exact byte sequence and the target interpretation is more useful than assuming all processors treat an accepted prefix identically.

Test a decoder without executing the instruction

A useful parser test fixture can record input bytes, expected decoded text, selected target architecture and the source of that interpretation. Include the legacy unprefixed encoding and supported prefix combinations, then verify that the tool does not silently discard bytes it cannot interpret. This describes offline decoder validation, not execution of WBINVD on a working system.

Keep semantic annotations separate from raw decoding. A label such as skip last-level cache describes the documented implementation’s hint; it is not a portable guarantee about what every CPU does with those bytes. Nor does a stated maximum encoded length identify the number of cache levels or the product’s performance.

Leave the manufacturer unknown

The source does not connect these allocations to RosaicLabs or another named vendor. Our previous discussion of corporate timelines and matrix-engine sizes did not establish that connection. It has been removed to keep the article focused on the information actually relayed.

An encoding reservation can prevent future collisions without proving a retail launch schedule, processor specification or software support commitment. Those require their own evidence.

Sources

Checked Ludloff’s original August 28 mail; distinguished existing WBNOINVD from new allocations and unsupported hints, removed guesses about the vendor or shipment.