Skip to content

ABI for Int128 and UInt128 is incorrect with regards to native ABI for by value parameter passing #74209

@davidwrighton

Description

@davidwrighton

Known ABI issues

  • Handling of Int128 types wrapped in structures on X64 SysV and ARM64 platforms
  • Use of Int128 types and alignment issues if the parameter needs to be spilled to the stack on Arm64 and SysV
  • Register alignment on ARM64 platforms

When this is fixed re-enable $(XunitTestBinBase)/Interop/PInvoke/Int128/Int128Test/

See #73601 for a PR which failed to fix all the issues. Instead #74123 was created to disable problematic scenarios so that we can fix this in the future.

category:correctness
theme:calling-convention
skill-level:expert
cost:medium
impact:small

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions