Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix definition of RET for vec operators #666

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

gmlueck
Copy link
Contributor

@gmlueck gmlueck commented Dec 2, 2024

This fixes what I assume was just a typo. The vec comparison and logical operators all return a result type whose vector element is RET. Most of the operators say that RET is int64_t when the input operands are 64-bit. However, three of the operators defined RET to be uint64_t in this case.

The uint64_t type is an outlier because RET is always signed for the other cases. I can think of no reason why these three operators should be different from the others.

DPC++ already implements these operators to return a vector of int64_t, consistent with this fix.

This fixes what I assume was just a typo.  The `vec` comparison and
logical operators all return a result type whose vector element is
`RET`.  Most of the operators say that `RET` is `int64_t` when the
input operands are 64-bit.  However, three of the operators defined
`RET` to be `uint64_t` in this case.

The `uint64_t` type is an outlier because `RET` is always signed for
the other cases.  I can think of no reason why these three operators
should be different from the others.

DPC++ already implements these operators to return a vector of
`int64_t`, consistent with this fix.
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