[clang] [clang][X86] bring `regparm` in line with GCC (PR #227130)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 29 02:03:16 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-codegen
Author: Folkert de Vries (folkertdev)
<details>
<summary>Changes</summary>
Removes some divergences between GCC and Clang using `regparm`. In particular
- All floats count as floats (previously `f16`, `f16b`, `long double` and `f128` did not)
- Complex numbers are always passed via the stack
- Unions are always passed like integers
- Some changes to how wrapping structs (with a single non-ZST field) are handled
I've tested this empirically (with abi-cafe)
---
Full diff: https://github.com/llvm/llvm-project/pull/227130.diff
2 Files Affected:
- (modified) clang/lib/CodeGen/Targets/X86.cpp (+85-16)
- (modified) clang/test/CodeGen/regparm-struct.c (+74-1)
``````````diff
The server is unavailable at this time. Please wait a few minutes before you try again.
``````````
</details>
https://github.com/llvm/llvm-project/pull/227130
More information about the cfe-commits
mailing list