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

Rewording of orc.b definition #138

Open
BrianGraysonSiV opened this issue Jun 12, 2021 · 0 comments
Open

Rewording of orc.b definition #138

BrianGraysonSiV opened this issue Jun 12, 2021 · 0 comments

Comments

@BrianGraysonSiV
Copy link

BrianGraysonSiV commented Jun 12, 2021

I find the current definition of orc.b in Section 1.3.1 to be confusing, not the least because it talks about "setting" bits to zero:

orc.b sets the bits of each byte in the result rd to all zeros if no bit within the respective byte of rs is set, or to
all ones if any bit within the respective byte of rs is set.

Here is my attempted rewrite:

orc.b examines each byte of rs, and assigns each corresponding byte of rd to either 0x00 (if no bits within the
respective byte of rs are set) or 0xff (if at least one bit within the respective byte of rs is set). This is equivalent
to a byte-wide bitwise OR operation that is then splatted across the entire destination byte, performed
independently on all bytes of rs.

The two sentences are redundant, but present two different views of what the instruction is doing -- the first via assignment to one of two values, and the other via the equivalent logical-OR. If the powers that be dislike the redundant explanation, I feel the first is clearer than the existing text.

Or perhaps repeat the text that is in Section 2.24?

Thoughts?

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

No branches or pull requests

1 participant