Skip to content

New PartialRegister type - #7

Merged
dsisco11 merged 16 commits into
masterfrom
partial-register-type--squashed
Sep 14, 2026
Merged

dsisco11 merged 16 commits into
masterfrom
partial-register-type--squashed

Conversation

@dsisco11

Copy link
Copy Markdown
Owner

No description provided.

docs: improve register type proposal

docs: implementation plan for Register type

[Phase 0]: Freeze the Contract and Record the Baseline

[Phase 1]: Add Language Availability and Build Integration

docs: add new phase for implementing containerized multi-compiler build matrix

[Phase 2]: Establish Reproducible Containerized Compiler Environments

fix: only force full project rebuilds within CI environments

[Phae 3]: initial phase 3

chore: always compare compiler codegen with stack protection flags turned on

fix: move constexpr code out of method body to prevent MSVC being stupid and forcing bad codegen

fix: MSVC has bad heuristics

fix: compilers (MSVC) can de-optimize methods due to characteristics of constexpr code if its within the main body

perf: implement method flattening for transform methods

chore: remove redundant inline statements

dev: add todo tasks for supporting Intel ICX and NVC++ compilers

chore: update phase 3 tasks

[Phase 3]: Establish the Representation and Performance Harness

[Phase 4]: Implement Register Construction, Observation, and Transfer

feat: implement missing api methods & drop 32bit support

[Phase 5]: Implement RegisterMask, Comparisons, and Selection

perf: mark applicable methods for flattening and register-only-access

[Phase 6]: Implement Basic Arithmetic, Bitwise Operations, and Shifts

perf: improve code gen for MSVC

docs: additional project tasks

[Phase 7]: Implement Specialized Arithmetic and Reductions

refactor: encapsulate all layer concepts into interface-like namespaces

[Phase 8]: Implement Rearrangement and Conversion Operations

dev: setup clang format

chore: fix formatting error

dev: add task to format all files

chore: run format all

[Phase 9]: Complete the Operation and Constraint Matrix

[Phase 10]: Qualify Correctness, Constexpr, Preconditions, ABI, and Performance

[Phase 11]: Expose, Migrate, Document, and Close Out

dev: update project todo

docs: refresh Register closeout evidence

dev: update project todo

dev: update project todo

docs: implementation tasklist for build pipeline improvements

docs: revise implementation plan

chore: commit temp changes before refactoring work

[Phase 0]: Freeze the Matrix and Measure the Baseline

[Phase 1]: Create Exhaustive CMake Build Profiles

[Phase 2]: Separate Build and Test Responsibilities

[Phase 3]: Refactor Container Matrix Orchestration

[Phase 4]: Add Native Compiler and Top-Level Commands

[Phase 5]: Migrate CI Without Losing Coverage

[Phase 6]: Prove Completeness and Cache Reuse

[Phase 7]: Document and Migrate Interfaces

docs: add additional phase for build-time improvement

[Phase 7]: Document and Migrate Interfaces

[Phase 8]: Remove Retired Windows GNU Support References

chore: remove completed task list

docs: task list for improving build performance

[Phase 0]: Establish the Compilation Baseline

[Phase 1]: Separate Benchmark Compilation from the Default Build

[Phase 2]: Evaluate the Constexpr Compilation Burden

[Phase 3]: Analyze the `uint128_t` Compilation Burden

[Phase 4]: Analyze the `Bmi.h` Compilation Burden

docs: plan to expand Api::shuffle support to all integer widths

[Phase 0]: Freeze the Existing Surface and Baseline

[Phase 1]: Establish Independent Behavioral and Constraint Oracles

[Phase 2]: Implement the 128-Bit Backends

[Phase 3]: Implement the 256-Bit Backends

[Phase 4]: Generalize the Public Layers

[Phase 5]: Prove Runtime Code Quality and Compilation Cost

[Phase 6]: Document and Complete Validation

docs: remove completed task list

chore: code comments

refactor: encapsulate vector aliases within their own file

dev: update project task list

chore: remove completed task list

docs: proposal plan for new unified SIMD-FLAGS macro system

refactor: redefine alias types to point to register type instead of old SimdVector

feat: implement `shuffle_bytes<>` method for Simd Register class

tests: test coverage for Register `shuffle_bytes` method

docs: implementation plan for new unified SIMD-FLAGS macro system

[Phase 0]: Freeze the Grammar and Contract

[Phase 1]: Prove the Macro Grammar Is Implementable

revise SIMD_FLAGS macro prototype

[Phase 2]: Qualify Compiler Placement and Attribute Composition

[Phase 3]: Implement the Public Macro and Compiler Adapters

[Phase 4]: Establish Contract and Code-Generation Tests

[Phase 5]: Inventory and Classify Existing Declarations

fix: minor corrections to api & implementation layers

docs: refactor tasklist for SIMD layer methodss which use stack memory during runtime

[Task 1]: Restore a Focused Compilable Baseline

[Task 2]: Constant-Evaluation Helper Boundary

[Task 3]: Unconditional API Delegation

[Task 4]: Specialized 128-Bit Runtime Extraction

docs: expand planning tasklist

[Task 5]: Specialized 256-Bit Runtime Extraction

docs: amend planning doc with new performance phase

[Task 6]: Implementation Extraction Naming Consolidation

[Task 7]: Specialized 128-Bit Runtime Insertion

[Task 8/9]: Specialized 256-Bit Runtime Insertion

[Task 10]: Specialized 128-Bit Integer Remainder Extensions

docs: extend planning tasks with codegen test suite cleanup work

[Task 11]: Specialized 256-Bit Integer Remainder Extensions

[Task 12]: Complete-Register Runtime Byte Shifts

docs: extend planning tasks with codegen test suite cleanup work

[Task 13]: Complete-Register Bit Shifts

[Task 14]: 128-Bit 64-Bit-Lane `setr`

[Task 15]: Immediate-Control Runtime Naming

[Task 16]: Method-Flag Inventory Reconciliation

[Task 17]: Focused Cross-Compiler Validation

[Task 18]: Branchless 256-Bit Runtime Extraction Evaluation

[Task 19]: Permanent Generated-Code Fixture Rationalization

[Task 20]: Complete Permanent Generated-Code Suite Audit and Final Integration

docs: remove completed task list

chore: code comments

docs: initial build pipeline optimization proposal

[Phase 0]: Freeze Validation Ownership and Baseline the Pipeline

[Phase 1]: Replace the Monolithic Artifact Sweep with Scoped Aggregates

[Phase 2]: Deduplicate Repository and Compiler-Front-End Contracts

[Phase 3]: Separate Optimized Codegen Gates from Diagnostic Codegen

[Phase 4]: Reduce the Ordinary Debug Compiler Matrix

[Phase 5]: Slim Runtime, Sanitizer, and Coverage Target Sets

[Phase 6]: Deduplicate Examples, ODR, Smoke, and External Consumers

[Phase 7]: Refactor Presets and Unified Pipeline Orchestration

[Phase 8]: Add Matrix-Ownership and No-Rebuild Regression Coverage

[Phase 9]: Measure, Qualify, and Document

[Phase 10]: Remove Temporary Planning and Evidence Documentation

[Phase 6]: Migrate Implementation and Api Layers

[Phase 7]: Migrate Register-Facing and Remaining Public Code

[Phase 8]: Remove the Legacy Declaration Surface and Add Audits

[Phase 9]: Document, Qualify, and Close Out

chore: removing leftover legacy macro usages

chore: remove completed task list

dev: update project task list

chore: remove obsolete files

chore: Remove `MethodFlagsInventory.csv` from the repo and audit tooling

chore: Remove `MethodFlagsRegisterOnly.csv` from the repo and audit tooling.

docs: build pipeline cleanup plan

[Phase 1]: Retire Method-Flags Source Auditing

[Phase 2]: Remove Public-Header `static_assert` Auditing

[Phase 3]: Restructure Validation-Matrix and Pipeline Validation

chore: remove completed task list

docs: register byte shift extension plan

dev: update project todo

[Phase 1]: Fix the Naming and Semantic Contract

[Phase 2]: Rename the Existing Complete-Register Shift Surface

[Phase 3]: Implement Immediate Complete-Register Byte Shifts

[Phase 4]: Expose the Immediate API Through `Api` and `Register`

dev: update project todo

[Phase 5]: Prove Semantics, Availability, and Generated Code

[Phase 6]: Documentation and Final Cleanup

chore: remove completed task list

docs: implementation plan for compile-time register constants

[Phase 1]: Fix the Public and Layer Contracts

chore: remove deprecated task list

chore: remove python from github ci and use choco instead

fix: save & restore Clang/CMake paths before & after importing the MSVC environment so they arent overwritten

dev: lower minimum version for CMake to 3.31 & CLang to 20

dev: fix linux container build for github ci

docs: initial implementation plan for PartialRegister type

docs: amend implementation plan for PartialRegister type

[Phase 1]: Freeze the Public Contract and Operation Ledger

[Phase 2]: Establish Headers, Availability, and the Object Model

[Phase 3]: Implement PartialRegisterMask and Predicate Semantics

[Phase 4]: Implement Construction, Transfer, and Observation

[Phase 5]: Implement Arithmetic and Specialized Operations

[Phase 6]: Implement Bitwise, Shift, and Comparison Operations

[Phase 7]: Implement Rearrangement and Conversion Operations

[Phase 8]: Complete the Public Surface and Integration

[Phase 9]: Qualify ABI, Generated Code, and Performance

[Phase 10]: Documentation, Full Validation, and Cleanup

chore: remove unneeded documents

chore: remove unneeded documents

dev: add MSVC LLVM 20 to build matrix

dev: extract partial register codegen snapshot tests into json config file

docs: initial proposal for aligning Register types codegen tests with new standards
docs: improve register type proposal

docs: implementation plan for Register type

[Phase 0]: Freeze the Contract and Record the Baseline

[Phase 1]: Add Language Availability and Build Integration

docs: add new phase for implementing containerized multi-compiler build matrix

[Phase 2]: Establish Reproducible Containerized Compiler Environments

fix: only force full project rebuilds within CI environments

[Phae 3]: initial phase 3

chore: always compare compiler codegen with stack protection flags turned on

fix: move constexpr code out of method body to prevent MSVC being stupid and forcing bad codegen

fix: MSVC has bad heuristics

fix: compilers (MSVC) can de-optimize methods due to characteristics of constexpr code if its within the main body

perf: implement method flattening for transform methods

chore: remove redundant inline statements

dev: add todo tasks for supporting Intel ICX and NVC++ compilers

chore: update phase 3 tasks

[Phase 3]: Establish the Representation and Performance Harness

[Phase 4]: Implement Register Construction, Observation, and Transfer

feat: implement missing api methods & drop 32bit support

[Phase 5]: Implement RegisterMask, Comparisons, and Selection

perf: mark applicable methods for flattening and register-only-access

[Phase 6]: Implement Basic Arithmetic, Bitwise Operations, and Shifts

perf: improve code gen for MSVC

docs: additional project tasks

[Phase 7]: Implement Specialized Arithmetic and Reductions

refactor: encapsulate all layer concepts into interface-like namespaces

[Phase 8]: Implement Rearrangement and Conversion Operations

dev: setup clang format

chore: fix formatting error

dev: add task to format all files

chore: run format all

[Phase 9]: Complete the Operation and Constraint Matrix

[Phase 10]: Qualify Correctness, Constexpr, Preconditions, ABI, and Performance

[Phase 11]: Expose, Migrate, Document, and Close Out

dev: update project todo

docs: refresh Register closeout evidence

dev: update project todo

dev: update project todo

docs: implementation tasklist for build pipeline improvements

docs: revise implementation plan

chore: commit temp changes before refactoring work

[Phase 0]: Freeze the Matrix and Measure the Baseline

[Phase 1]: Create Exhaustive CMake Build Profiles

[Phase 2]: Separate Build and Test Responsibilities

[Phase 3]: Refactor Container Matrix Orchestration

[Phase 4]: Add Native Compiler and Top-Level Commands

[Phase 5]: Migrate CI Without Losing Coverage

[Phase 6]: Prove Completeness and Cache Reuse

[Phase 7]: Document and Migrate Interfaces

docs: add additional phase for build-time improvement

[Phase 7]: Document and Migrate Interfaces

[Phase 8]: Remove Retired Windows GNU Support References

chore: remove completed task list

docs: task list for improving build performance

[Phase 0]: Establish the Compilation Baseline

[Phase 1]: Separate Benchmark Compilation from the Default Build

[Phase 2]: Evaluate the Constexpr Compilation Burden

[Phase 3]: Analyze the `uint128_t` Compilation Burden

[Phase 4]: Analyze the `Bmi.h` Compilation Burden

docs: plan to expand Api::shuffle support to all integer widths

[Phase 0]: Freeze the Existing Surface and Baseline

[Phase 1]: Establish Independent Behavioral and Constraint Oracles

[Phase 2]: Implement the 128-Bit Backends

[Phase 3]: Implement the 256-Bit Backends

[Phase 4]: Generalize the Public Layers

[Phase 5]: Prove Runtime Code Quality and Compilation Cost

[Phase 6]: Document and Complete Validation

docs: remove completed task list

chore: code comments

refactor: encapsulate vector aliases within their own file

dev: update project task list

chore: remove completed task list

docs: proposal plan for new unified SIMD-FLAGS macro system

refactor: redefine alias types to point to register type instead of old SimdVector

feat: implement `shuffle_bytes<>` method for Simd Register class

tests: test coverage for Register `shuffle_bytes` method

docs: implementation plan for new unified SIMD-FLAGS macro system

[Phase 0]: Freeze the Grammar and Contract

[Phase 1]: Prove the Macro Grammar Is Implementable

revise SIMD_FLAGS macro prototype

[Phase 2]: Qualify Compiler Placement and Attribute Composition

[Phase 3]: Implement the Public Macro and Compiler Adapters

[Phase 4]: Establish Contract and Code-Generation Tests

[Phase 5]: Inventory and Classify Existing Declarations

fix: minor corrections to api & implementation layers

docs: refactor tasklist for SIMD layer methodss which use stack memory during runtime

[Task 1]: Restore a Focused Compilable Baseline

[Task 2]: Constant-Evaluation Helper Boundary

[Task 3]: Unconditional API Delegation

[Task 4]: Specialized 128-Bit Runtime Extraction

docs: expand planning tasklist

[Task 5]: Specialized 256-Bit Runtime Extraction

docs: amend planning doc with new performance phase

[Task 6]: Implementation Extraction Naming Consolidation

[Task 7]: Specialized 128-Bit Runtime Insertion

[Task 8/9]: Specialized 256-Bit Runtime Insertion

[Task 10]: Specialized 128-Bit Integer Remainder Extensions

docs: extend planning tasks with codegen test suite cleanup work

[Task 11]: Specialized 256-Bit Integer Remainder Extensions

[Task 12]: Complete-Register Runtime Byte Shifts

docs: extend planning tasks with codegen test suite cleanup work

[Task 13]: Complete-Register Bit Shifts

[Task 14]: 128-Bit 64-Bit-Lane `setr`

[Task 15]: Immediate-Control Runtime Naming

[Task 16]: Method-Flag Inventory Reconciliation

[Task 17]: Focused Cross-Compiler Validation

[Task 18]: Branchless 256-Bit Runtime Extraction Evaluation

[Task 19]: Permanent Generated-Code Fixture Rationalization

[Task 20]: Complete Permanent Generated-Code Suite Audit and Final Integration

docs: remove completed task list

chore: code comments

docs: initial build pipeline optimization proposal

[Phase 0]: Freeze Validation Ownership and Baseline the Pipeline

[Phase 1]: Replace the Monolithic Artifact Sweep with Scoped Aggregates

[Phase 2]: Deduplicate Repository and Compiler-Front-End Contracts

[Phase 3]: Separate Optimized Codegen Gates from Diagnostic Codegen

[Phase 4]: Reduce the Ordinary Debug Compiler Matrix

[Phase 5]: Slim Runtime, Sanitizer, and Coverage Target Sets

[Phase 6]: Deduplicate Examples, ODR, Smoke, and External Consumers

[Phase 7]: Refactor Presets and Unified Pipeline Orchestration

[Phase 8]: Add Matrix-Ownership and No-Rebuild Regression Coverage

[Phase 9]: Measure, Qualify, and Document

[Phase 10]: Remove Temporary Planning and Evidence Documentation

[Phase 6]: Migrate Implementation and Api Layers

[Phase 7]: Migrate Register-Facing and Remaining Public Code

[Phase 8]: Remove the Legacy Declaration Surface and Add Audits

[Phase 9]: Document, Qualify, and Close Out

chore: removing leftover legacy macro usages

chore: remove completed task list

dev: update project task list

chore: remove obsolete files

chore: Remove `MethodFlagsInventory.csv` from the repo and audit tooling

chore: Remove `MethodFlagsRegisterOnly.csv` from the repo and audit tooling.

docs: build pipeline cleanup plan

[Phase 1]: Retire Method-Flags Source Auditing

[Phase 2]: Remove Public-Header `static_assert` Auditing

[Phase 3]: Restructure Validation-Matrix and Pipeline Validation

chore: remove completed task list

docs: register byte shift extension plan

dev: update project todo

[Phase 1]: Fix the Naming and Semantic Contract

[Phase 2]: Rename the Existing Complete-Register Shift Surface

[Phase 3]: Implement Immediate Complete-Register Byte Shifts

[Phase 4]: Expose the Immediate API Through `Api` and `Register`

dev: update project todo

[Phase 5]: Prove Semantics, Availability, and Generated Code

[Phase 6]: Documentation and Final Cleanup

chore: remove completed task list

docs: implementation plan for compile-time register constants

[Phase 1]: Fix the Public and Layer Contracts

chore: remove deprecated task list

chore: remove python from github ci and use choco instead

fix: save & restore Clang/CMake paths before & after importing the MSVC environment so they arent overwritten

dev: lower minimum version for CMake to 3.31 & CLang to 20

dev: fix linux container build for github ci

docs: initial implementation plan for PartialRegister type

docs: amend implementation plan for PartialRegister type

[Phase 1]: Freeze the Public Contract and Operation Ledger

[Phase 2]: Establish Headers, Availability, and the Object Model

[Phase 3]: Implement PartialRegisterMask and Predicate Semantics

[Phase 4]: Implement Construction, Transfer, and Observation

[Phase 5]: Implement Arithmetic and Specialized Operations

[Phase 6]: Implement Bitwise, Shift, and Comparison Operations

[Phase 7]: Implement Rearrangement and Conversion Operations

[Phase 8]: Complete the Public Surface and Integration

[Phase 9]: Qualify ABI, Generated Code, and Performance

[Phase 10]: Documentation, Full Validation, and Cleanup

chore: remove unneeded documents

chore: remove unneeded documents

dev: add MSVC LLVM 20 to build matrix

dev: extract partial register codegen snapshot tests into json config file

docs: initial proposal for aligning Register types codegen tests with new standards
@dsisco11
dsisco11 force-pushed the partial-register-type--squashed branch from d9aa528 to 75d4bee Compare September 13, 2026 04:10
@dsisco11
dsisco11 merged commit a5fefbf into master Sep 14, 2026
6 checks passed
@dsisco11
dsisco11 deleted the partial-register-type--squashed branch September 14, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant