Bug 2299 – the ABI documentation for registry convention does not include IA-64 platform

Status
NEW
Severity
normal
Priority
P3
Component
dlang.org
Product
D
Version
D2
Platform
x86
OS
Linux
Creation time
2008-08-20T13:08:56Z
Last change time
2024-12-15T15:21:31Z
Keywords
bootcamp, spec
Assigned to
Walter Bright
Creator
Manlio Perillo
Moved to GitHub: dlang.org#3932 →

Comments

Comment #0 by manlio.perillo — 2008-08-20T13:08:56Z
The ABI documentation for registry convention says that: long and ulong are returned in EDX,EAX, where EDX gets the most significant half. However this is only true for IA-32 architecture. For IA-64 architecture long and ulong are returned in RAX. NOTE: I have not checked if this is true, but tango.Atomic.atomicIncrement assume this is true
Comment #1 by bugzilla — 2008-08-26T02:08:36Z
The assembler part of the ABI document is for the 32 bit x86 architecture, it does not address other architectures.
Comment #2 by hoganmeier — 2011-08-10T19:05:50Z
Now that x64 is supported by dmd, could the ABI document be updated to accommodate that? btw currently structs of size 16 bytes are passed via a hidden parameter rather than in 2 registers. Maybe even more registers could be used since there are more available.
Comment #3 by bugzilla — 2012-01-22T02:38:49Z
Comment #4 by ibuclaw — 2013-12-04T01:18:47Z
What is the state of this bug report?
Comment #5 by andrej.mitrovich — 2014-04-23T18:34:30Z
Update on this?
Comment #6 by robert.schadek — 2024-12-15T15:21:31Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dlang.org/issues/3932 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB