Expand description
The register view retags the assembler inserts between register ports of different lane typings, and the register-port predicate it keys on (type_system_alignment.md §8.4 layer 2).
A view is a free bitcast: the 128 bits are untouched and only the lane typing changes. Each view is an ordinary registered node, like every other entry of the conversion table, so a program can call it and the conversion fuzzer can reach it by the name the table gives. It used to be one hand-written node parameterized by its target type, which the assembler could insert but no program could name.
Each takes the raw word: any register view satisfies a register
slot (the free-bitcast rule in Value::satisfies_slot).
Structs§
- RegView
F16x8 - A register word viewed as eight
f16lanes. - RegView
F32x4 - A register word viewed as four
f32lanes. - RegView
F64x2 - A register word viewed as two
f64lanes. - RegView
I8x16 - A register word viewed as sixteen
i8lanes. - RegView
I16x8 - A register word viewed as eight
i16lanes. - RegView
I32x4 - A register word viewed as four
i32lanes. - RegView
I64x2 - A register word viewed as two
i64lanes. - RegView
Raw - A register word viewed raw, without a lane typing.
Functions§
- is_
reg_ port truewhentis any register-plane PortType.- reg_
view - The view of a register word as
to, the retag the assembler inserts between register ports of different lane typings.Nonewhentois not a register type.