Skip to content

Conversation

@lanza
Copy link
Member

@lanza lanza commented Nov 22, 2025

Stack from ghstack (oldest at bottom):

Implements support for ext_vector_type with bool elements. Bool vectors
are represented as integers in CIR (e.g., bool4 uses !cir.int<u, 8>),
matching traditional CodeGen's approach.

Key changes:

  • CIRGenTypes: Convert ExtVectorBoolType to integer storage (iN where N = max(num_elements, 8))
  • CIRGenExprConst: Pack bool elements into integer bits during constant initialization
  • CIRGenExprScalar: Handle subscript access by extracting bits from integer
  • CIRGenExpr: Skip vector optimizations for ExtVectorBoolType in load/store paths

Tests added for basic initialization, subscript access, and bitwise operations.

[ghstack-poisoned]
lanza added a commit that referenced this pull request Nov 22, 2025
Implements support for ext_vector_type with bool elements. Bool vectors
are represented as integers in CIR (e.g., bool4 uses !cir.int<u, 8>),
matching traditional CodeGen's approach.

Key changes:
- CIRGenTypes: Convert ExtVectorBoolType to integer storage (iN where N = max(num_elements, 8))
- CIRGenExprConst: Pack bool elements into integer bits during constant initialization
- CIRGenExprScalar: Handle subscript access by extracting bits from integer
- CIRGenExpr: Skip vector optimizations for ExtVectorBoolType in load/store paths

Tests added for basic initialization, subscript access, and bitwise operations.


ghstack-source-id: 29c37cf
Pull-Request: #1998
[ghstack-poisoned]
lanza added a commit that referenced this pull request Nov 22, 2025
Implements support for ext_vector_type with bool elements. Bool vectors
are represented as integers in CIR (e.g., bool4 uses !cir.int<u, 8>),
matching traditional CodeGen's approach.

Key changes:
- CIRGenTypes: Convert ExtVectorBoolType to integer storage (iN where N = max(num_elements, 8))
- CIRGenExprConst: Pack bool elements into integer bits during constant initialization
- CIRGenExprScalar: Handle subscript access by extracting bits from integer
- CIRGenExpr: Skip vector optimizations for ExtVectorBoolType in load/store paths

Tests added for basic initialization, subscript access, and bitwise operations.

ghstack-source-id: b8879c0
Pull-Request: #1998
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
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.

2 participants