We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Consider: long foo(long a, long b, long v1, long v2) { if (a >= v1 && a < v2) return b; return 0; }
We generate: cmp x0, x2 csinc w8, wzr, wzr, lt cmp x0, x3 csinc w9, wzr, wzr, ge and w8, w8, w9 cmp w8, #0 csel x0, x1, xzr, ne ret
This seems like it should have generated something like: mov x4, #0 cmp x0, x2 ccmp x0, x3, #imm, lt csel x0, x1, x4, ge ret
The text was updated successfully, but these errors were encountered:
assigned to @MatzeB
Sorry, something went wrong.
Fixed by r238793.
MatzeB
No branches or pull requests
Extended Description
Consider:
long foo(long a, long b, long v1, long v2) {
if (a >= v1 && a < v2)
return b;
return 0;
}
We generate:
cmp x0, x2
csinc w8, wzr, wzr, lt
cmp x0, x3
csinc w9, wzr, wzr, ge
and w8, w8, w9
cmp w8, #0
csel x0, x1, xzr, ne
ret
This seems like it should have generated something like:
mov x4, #0
cmp x0, x2
ccmp x0, x3, #imm, lt
csel x0, x1, x4, ge
ret
The text was updated successfully, but these errors were encountered: