Skip to content

Truncate VectorType operations (turned into multiple scalar truncated operations) - #20

Draft
MinliLiao wants to merge 10 commits into
RIKEN-RCCS:developfrom
MinliLiao:vector-to-trunc-scalar
Draft

Truncate VectorType operations (turned into multiple scalar truncated operations)#20
MinliLiao wants to merge 10 commits into
RIKEN-RCCS:developfrom
MinliLiao:vector-to-trunc-scalar

Conversation

@MinliLiao

Copy link
Copy Markdown
Collaborator

This pull request adds the capability to truncate operations with VectorType operands in LLVM IR.

If the operands of an operation to be truncated is a VectorType of the floating-point type to truncate, the operation is turned into multiple invocations of the corresponding scalar truncated operation.

VectorType operands and the return type are assumed to have the same number of elements: for VectorType variables a, b, res where res = a vec_op b, it is assumed that res[i] = a[i] scalar_op b[i]. If there are scalar operands, it is broadcast to all the scalar truncated operations.
Intrinsic functions of that follow this rule are similarly supported. However, vector reduction or predication intrinsics are not supported. Function/operations with VectorType operands of different sizes are not supported either.

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