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
struct Z { int z; Z(const Z&) = delete;}; Z z(Z z) { return {z.z}; }
MSVC produces:
mov eax, DWORD PTR [rcx] ret 0
Clang targeting Windows produces:
mov rax, rcx mov ecx, dword ptr [rdx] mov dword ptr [rax], ecx ret
The text was updated successfully, but these errors were encountered:
@llvm/issue-subscribers-clang-codegen
Sorry, something went wrong.
Interesting edge case on AArch64:
struct Z { double z; Z(const Z&) = delete;}; Z z(Z z) { return {z.z}; }
Produces:
ldr x0,[x0] ret
So we return the value in registers, but only integer registers; it doesn't count as an HVA/HFA.
CC @rnk
amykhuang
No branches or pull requests
MSVC produces:
Clang targeting Windows produces:
The text was updated successfully, but these errors were encountered: