Skip to content

[DEV] Add support for bitwise XOR and OR operations in sanitizer - #176

Merged
mark14wu merged 4 commits into
mainfrom
support_bitwise_xor
Sep 26, 2025
Merged

mark14wu merged 4 commits into
mainfrom
support_bitwise_xor

Conversation

@mark14wu

Copy link
Copy Markdown
Collaborator
  • Add bitwise_xor (^) and bitwise_or (|) to BINARY_OP_SYMBOL_TABLE
  • Add handlers for np.bitwise_xor and np.bitwise_or in op_binary_op_overrider
  • Include bitwise_xor and bitwise_or in OP_SPEC binary operations list

This fixes crashes when using bitwise XOR/OR operations in Triton kernels,
particularly needed for FP4 to BF16 conversion code.

Fixes #175.

- Update _infer_literal_dtype to handle TensorHandle with multiple data elements
- Verify dtype consistency across all elements in multi-element cases
- Modify from_value to preserve entire array for multi-element TensorHandle
- Maintain backward compatibility for single-element cases

This fixes crashes when using `tl.interleave` and similar operations that produce
TensorHandle objects with multiple internal values.
- Add bitwise_xor (^) and bitwise_or (|) to BINARY_OP_SYMBOL_TABLE
- Add handlers for np.bitwise_xor and np.bitwise_or in op_binary_op_overrider
- Include bitwise_xor and bitwise_or in OP_SPEC binary operations list

This fixes crashes when using bitwise XOR/OR operations in Triton kernels,
particularly needed for FP4 to BF16 conversion code.
@mark14wu

Copy link
Copy Markdown
Collaborator Author

I will rebase this PR after #174 is merged.

@mark14wu

Copy link
Copy Markdown
Collaborator Author

I will rebase this PR after #174 is merged.

Done.

@mark14wu
mark14wu merged commit a138773 into main Sep 26, 2025
1 check passed
@mark14wu
mark14wu deleted the support_bitwise_xor branch September 26, 2025 16:54
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.

[FEATURE] Support bitwise_xor

2 participants